This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository jaxx. See http://git.nuiton.org/jaxx.git commit 11e799a3aba59d0aa24a7e4bbe00ef36265594cf Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Sep 18 11:07:55 2014 +0200 refs #3513, introduce a SwingListValidation to be able to attach an editor to BeanListValidator --- .../validator/swing/SwingListValidator.java | 62 +++++++++++++++++++ .../unified/UnifiedValidatorMessageTableModel.java | 71 +++++++++++----------- 2 files changed, 98 insertions(+), 35 deletions(-) diff --git a/jaxx-validator/src/main/java/jaxx/runtime/validator/swing/SwingListValidator.java b/jaxx-validator/src/main/java/jaxx/runtime/validator/swing/SwingListValidator.java new file mode 100644 index 0000000..4a756a3 --- /dev/null +++ b/jaxx-validator/src/main/java/jaxx/runtime/validator/swing/SwingListValidator.java @@ -0,0 +1,62 @@ +package jaxx.runtime.validator.swing; + +/* + * #%L + * JAXX :: Validator + * %% + * Copyright (C) 2008 - 2014 CodeLutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * #L% + */ + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.validator.NuitonValidatorProvider; +import org.nuiton.validator.NuitonValidatorScope; +import org.nuiton.validator.bean.list.BeanListValidator; + +import javax.swing.JComponent; + +/** + * Created on 9/17/14. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 2.13 + */ +public class SwingListValidator<B> extends BeanListValidator<B> { + + /** Logger */ + private static final Log log = LogFactory.getLog(SwingListValidator.class); + + protected JComponent editor; + + public SwingListValidator(NuitonValidatorProvider validatorProvider, Class<B> beanClass, String context) { + super(validatorProvider, beanClass, context); + } + + public SwingListValidator(NuitonValidatorProvider validatorProvider, Class<B> beanClass, String context, NuitonValidatorScope... scopes) { + super(validatorProvider, beanClass, context, scopes); + } + + public JComponent getEditor() { + return editor; + } + + public void setEditor(JComponent editor) { + this.editor = editor; + } + +} diff --git a/jaxx-validator/src/main/java/jaxx/runtime/validator/swing/unified/UnifiedValidatorMessageTableModel.java b/jaxx-validator/src/main/java/jaxx/runtime/validator/swing/unified/UnifiedValidatorMessageTableModel.java index 4477b82..c3cfff7 100644 --- a/jaxx-validator/src/main/java/jaxx/runtime/validator/swing/unified/UnifiedValidatorMessageTableModel.java +++ b/jaxx-validator/src/main/java/jaxx/runtime/validator/swing/unified/UnifiedValidatorMessageTableModel.java @@ -25,6 +25,7 @@ package jaxx.runtime.validator.swing.unified; import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import jaxx.runtime.SwingUtil; +import jaxx.runtime.validator.swing.SwingListValidator; import jaxx.runtime.validator.swing.SwingValidator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -243,37 +244,37 @@ public class UnifiedValidatorMessageTableModel extends AbstractTableModel { } } - protected void addMessages(JComponent editor, - String fieldName, - NuitonValidatorScope scope, - boolean sort, - String... messages) { - - // add new errors - for (String message : messages) { - UnifiedValidatorMessage row = - new UnifiedValidatorMessage( - null, - null, - fieldName, - message, - scope, - editor); - data.add(row); - if (!sort) { - fireTableRowsInserted(data.size() - 1, data.size() - 1); - } - } - - if (sort) { - - // resort datas - Collections.sort(data); - - // notify - fireTableDataChanged(); - } - } +// protected void addMessages(JComponent editor, +// String fieldName, +// NuitonValidatorScope scope, +// boolean sort, +// String... messages) { +// +// // add new errors +// for (String message : messages) { +// UnifiedValidatorMessage row = +// new UnifiedValidatorMessage( +// null, +// null, +// fieldName, +// message, +// scope, +// editor); +// data.add(row); +// if (!sort) { +// fireTableRowsInserted(data.size() - 1, data.size() - 1); +// } +// } +// +// if (sort) { +// +// // resort datas +// Collections.sort(data); +// +// // notify +// fireTableDataChanged(); +// } +// } protected void addMessages(BeanListValidator<?> validator, Object bean, @@ -282,12 +283,12 @@ public class UnifiedValidatorMessageTableModel extends AbstractTableModel { boolean sort, String... messages) { -// JComponent editor = validator == null ? -// null : -// validator.getFieldRepresentation(fieldName); - JComponent editor = null; + if (validator instanceof SwingListValidator<?>) { + editor = ((SwingListValidator) validator).getEditor(); + } + // add new errors for (String message : messages) { UnifiedValidatorMessage row = -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.