r2450 - trunk/jaxx-validator/src/main/java/jaxx/runtime/validator/swing
Author: tchemit Date: 2012-07-30 15:47:18 +0200 (Mon, 30 Jul 2012) New Revision: 2450 Url: http://nuiton.org/repositories/revision/jaxx/2450 Log: improve hightlight api Modified: trunk/jaxx-validator/src/main/java/jaxx/runtime/validator/swing/SwingListValidatorHighlightPredicate.java trunk/jaxx-validator/src/main/java/jaxx/runtime/validator/swing/SwingValidatorUtil.java Modified: trunk/jaxx-validator/src/main/java/jaxx/runtime/validator/swing/SwingListValidatorHighlightPredicate.java =================================================================== --- trunk/jaxx-validator/src/main/java/jaxx/runtime/validator/swing/SwingListValidatorHighlightPredicate.java 2012-07-30 11:07:06 UTC (rev 2449) +++ trunk/jaxx-validator/src/main/java/jaxx/runtime/validator/swing/SwingListValidatorHighlightPredicate.java 2012-07-30 13:47:18 UTC (rev 2450) @@ -107,8 +107,12 @@ int rowIndex = adapter.convertRowIndexToModel(adapter.row); JTable component = (JTable) adapter.getComponent(); O bean = dataLocator.locateBean(component.getModel(), rowIndex); - BeanListValidator.NuitonValidatorContext<O> context = validator.getContext(bean); - NuitonValidatorScope highestScope = context.getHighestScope(fieldName); - return scope == highestScope; + boolean result = false; + if (bean != null && dataLocator.acceptType(bean.getClass())) { + BeanListValidator.NuitonValidatorContext<O> context = validator.getContext(bean); + NuitonValidatorScope highestScope = context.getHighestScope(fieldName); + result = scope == highestScope; + } + return result; } } Modified: trunk/jaxx-validator/src/main/java/jaxx/runtime/validator/swing/SwingValidatorUtil.java =================================================================== --- trunk/jaxx-validator/src/main/java/jaxx/runtime/validator/swing/SwingValidatorUtil.java 2012-07-30 11:07:06 UTC (rev 2449) +++ trunk/jaxx-validator/src/main/java/jaxx/runtime/validator/swing/SwingValidatorUtil.java 2012-07-30 13:47:18 UTC (rev 2450) @@ -24,7 +24,6 @@ */ package jaxx.runtime.validator.swing; -import com.google.common.collect.Sets; import jaxx.runtime.JAXXObject; import jaxx.runtime.JAXXValidator; import jaxx.runtime.SwingUtil; @@ -34,7 +33,6 @@ import org.apache.commons.logging.LogFactory; import org.jdesktop.swingx.JXTable; import org.jdesktop.swingx.decorator.ColorHighlighter; -import org.jdesktop.swingx.decorator.Highlighter; import org.nuiton.util.ReflectUtil; import org.nuiton.validator.NuitonValidatorScope; import org.nuiton.validator.bean.BeanValidatorUtil; @@ -59,7 +57,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Set; import static org.nuiton.i18n.I18n.n_; @@ -359,7 +356,6 @@ SwingListValidatorDataLocator<O> dataLocator, NuitonValidatorScope... scopes) { - Set<ColorHighlighter> highlighters = Sets.newHashSet(); for (NuitonValidatorScope scope : scopes) { SwingListValidatorHighlightPredicate<O> predicate = SwingListValidatorHighlightPredicate.newPredicate( @@ -369,11 +365,8 @@ ColorHighlighter highlighter = new ColorHighlighter(predicate); highlighter.setBackground(SwingValidatorUtil.getColor(scope)); - highlighters.add(highlighter); + editor.addHighlighter(highlighter); } - - editor.setHighlighters( - highlighters.toArray(new Highlighter[highlighters.size()])); } /**
participants (1)
-
tchemit@users.nuiton.org