This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit cf08b37ae1d7561a4c3a36eab852415753d0c1dc Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Sep 24 10:14:57 2014 +0200 fixes #5812 (show all messages in validation tree + move to a validation package) --- .../action/EditCruiseInValidationUIAction.java | 6 ++-- .../EditFishingOperationInValidationUIAction.java | 6 ++-- .../ExportCruiseValidationMessagesAction.java | 6 ++-- .../ExportOperationValidationMessagesAction.java | 6 ++-- .../action/SaveCruiseToReadyToSynchAction.java | 6 ++-- .../ui/swing/action/ValidateCatchesAction.java | 4 +-- .../tutti/ui/swing/content/MainUIHandler.java | 3 +- .../{cruise => validation}/ValidateCruiseUI.css | 0 .../{cruise => validation}/ValidateCruiseUI.jaxx | 1 + .../ValidateCruiseUIHandler.java | 9 ++--- .../ValidateCruiseUIModel.java | 2 +- .../tree/CruiseTreeNode.java | 24 ++++++------- .../tree/MessageTreeNode.java | 16 ++++----- .../tree/OperationTreeNode.java | 35 +++++++++---------- .../validation/tree/TuttiMessageNodeSupport.java | 39 ++++++++++++++++++++++ .../tree/ValidationTreeCellRenderer.java | 12 +++---- 16 files changed, 102 insertions(+), 73 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditCruiseInValidationUIAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditCruiseInValidationUIAction.java index e22d74d..1915bcd 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditCruiseInValidationUIAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditCruiseInValidationUIAction.java @@ -27,9 +27,9 @@ import fr.ifremer.tutti.persistence.entities.data.Cruise; import fr.ifremer.tutti.service.catches.ValidateCruiseOperationsService; import fr.ifremer.tutti.ui.swing.content.cruise.EditCruiseUI; import fr.ifremer.tutti.ui.swing.content.cruise.EditCruiseUIModel; -import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUI; -import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUIHandler; -import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUIModel; +import fr.ifremer.tutti.ui.swing.content.validation.ValidateCruiseUI; +import fr.ifremer.tutti.ui.swing.content.validation.ValidateCruiseUIHandler; +import fr.ifremer.tutti.ui.swing.content.validation.ValidateCruiseUIModel; import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUIModel; import org.nuiton.validator.NuitonValidatorResult; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditFishingOperationInValidationUIAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditFishingOperationInValidationUIAction.java index 048e9ab..26cd6f0 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditFishingOperationInValidationUIAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditFishingOperationInValidationUIAction.java @@ -27,9 +27,9 @@ import fr.ifremer.tutti.persistence.entities.data.CatchBatch; import fr.ifremer.tutti.persistence.entities.data.Cruise; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.service.catches.ValidateCruiseOperationsService; -import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUI; -import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUIHandler; -import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUIModel; +import fr.ifremer.tutti.ui.swing.content.validation.ValidateCruiseUI; +import fr.ifremer.tutti.ui.swing.content.validation.ValidateCruiseUIHandler; +import fr.ifremer.tutti.ui.swing.content.validation.ValidateCruiseUIModel; import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUIModel; import fr.ifremer.tutti.ui.swing.content.operation.FishingOperationsUI; import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportCruiseValidationMessagesAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportCruiseValidationMessagesAction.java index 5bef5c0..eeb4505 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportCruiseValidationMessagesAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportCruiseValidationMessagesAction.java @@ -23,9 +23,9 @@ package fr.ifremer.tutti.ui.swing.action; */ import fr.ifremer.tutti.service.catches.ValidateCruiseOperationsService; -import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUI; -import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUIHandler; -import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUIModel; +import fr.ifremer.tutti.ui.swing.content.validation.ValidateCruiseUI; +import fr.ifremer.tutti.ui.swing.content.validation.ValidateCruiseUIHandler; +import fr.ifremer.tutti.ui.swing.content.validation.ValidateCruiseUIModel; import java.io.File; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportOperationValidationMessagesAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportOperationValidationMessagesAction.java index e07ac5f..a05bd56 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportOperationValidationMessagesAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportOperationValidationMessagesAction.java @@ -25,9 +25,9 @@ package fr.ifremer.tutti.ui.swing.action; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.service.DecoratorService; import fr.ifremer.tutti.service.catches.ValidateCruiseOperationsService; -import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUI; -import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUIHandler; -import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUIModel; +import fr.ifremer.tutti.ui.swing.content.validation.ValidateCruiseUI; +import fr.ifremer.tutti.ui.swing.content.validation.ValidateCruiseUIHandler; +import fr.ifremer.tutti.ui.swing.content.validation.ValidateCruiseUIModel; import org.nuiton.validator.NuitonValidatorResult; import java.io.File; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveCruiseToReadyToSynchAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveCruiseToReadyToSynchAction.java index 1e930b5..5a481b2 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveCruiseToReadyToSynchAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveCruiseToReadyToSynchAction.java @@ -25,9 +25,9 @@ package fr.ifremer.tutti.ui.swing.action; import com.google.common.base.Preconditions; import fr.ifremer.tutti.persistence.ProgressionModel; import fr.ifremer.tutti.service.PersistenceService; -import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUI; -import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUIHandler; -import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUIModel; +import fr.ifremer.tutti.ui.swing.content.validation.ValidateCruiseUI; +import fr.ifremer.tutti.ui.swing.content.validation.ValidateCruiseUIHandler; +import fr.ifremer.tutti.ui.swing.content.validation.ValidateCruiseUIModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ValidateCatchesAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ValidateCatchesAction.java index 02edd3d..2ce3149 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ValidateCatchesAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ValidateCatchesAction.java @@ -26,8 +26,8 @@ import com.google.common.base.Preconditions; import fr.ifremer.tutti.service.ValidationService; import fr.ifremer.tutti.ui.swing.TuttiScreen; import fr.ifremer.tutti.ui.swing.content.MainUIHandler; -import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUI; -import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUIModel; +import fr.ifremer.tutti.ui.swing.content.validation.ValidateCruiseUI; +import fr.ifremer.tutti.ui.swing.content.validation.ValidateCruiseUIModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java index 8fee581..fdd7c8c 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java @@ -35,7 +35,7 @@ import fr.ifremer.tutti.ui.swing.content.category.EditSampleCategoryModelUI; import fr.ifremer.tutti.ui.swing.content.config.TuttiConfigUI; import fr.ifremer.tutti.ui.swing.content.cruise.EditCruiseUI; import fr.ifremer.tutti.ui.swing.content.cruise.EditCruiseUIHandler; -import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUI; +import fr.ifremer.tutti.ui.swing.content.validation.ValidateCruiseUI; import fr.ifremer.tutti.ui.swing.content.db.DbManagerUI; import fr.ifremer.tutti.ui.swing.content.db.DbManagerUIHandler; import fr.ifremer.tutti.ui.swing.content.home.SelectCruiseUI; @@ -52,7 +52,6 @@ import fr.ifremer.tutti.ui.swing.util.TuttiUI; import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil; import jaxx.runtime.JAXXBinding; import jaxx.runtime.SwingUtil; -import jaxx.runtime.swing.session.SwingSession; import jaxx.runtime.validator.swing.SwingValidator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUI.css b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/ValidateCruiseUI.css similarity index 100% rename from tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUI.css rename to tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/ValidateCruiseUI.css diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/ValidateCruiseUI.jaxx similarity index 97% rename from tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUI.jaxx rename to tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/ValidateCruiseUI.jaxx index 9713e6b..b7bf3e2 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/ValidateCruiseUI.jaxx @@ -25,6 +25,7 @@ <import> fr.ifremer.tutti.ui.swing.TuttiHelpBroker + fr.ifremer.tutti.ui.swing.content.cruise.EditCruiseUI fr.ifremer.tutti.ui.swing.content.operation.FishingOperationsUI fr.ifremer.tutti.ui.swing.util.TuttiUI fr.ifremer.tutti.ui.swing.util.TuttiUIUtil diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/ValidateCruiseUIHandler.java similarity index 97% rename from tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIHandler.java rename to tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/ValidateCruiseUIHandler.java index d2741ca..fe5b818 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/ValidateCruiseUIHandler.java @@ -1,4 +1,4 @@ -package fr.ifremer.tutti.ui.swing.content.cruise; +package fr.ifremer.tutti.ui.swing.content.validation; /* * #%L @@ -28,9 +28,10 @@ import fr.ifremer.tutti.persistence.entities.data.Cruise; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.ui.swing.action.EditCruiseInValidationUIAction; import fr.ifremer.tutti.ui.swing.action.EditFishingOperationInValidationUIAction; -import fr.ifremer.tutti.ui.swing.content.cruise.tree.CruiseTreeNode; -import fr.ifremer.tutti.ui.swing.content.cruise.tree.OperationTreeNode; -import fr.ifremer.tutti.ui.swing.content.cruise.tree.ValidationTreeCellRenderer; +import fr.ifremer.tutti.ui.swing.content.cruise.EditCruiseUI; +import fr.ifremer.tutti.ui.swing.content.validation.tree.CruiseTreeNode; +import fr.ifremer.tutti.ui.swing.content.validation.tree.OperationTreeNode; +import fr.ifremer.tutti.ui.swing.content.validation.tree.ValidationTreeCellRenderer; import fr.ifremer.tutti.ui.swing.content.operation.FishingOperationsUI; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler; import fr.ifremer.tutti.ui.swing.util.RemoveablePropertyChangeListener; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/ValidateCruiseUIModel.java similarity index 99% rename from tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIModel.java rename to tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/ValidateCruiseUIModel.java index 944ff0d..108f621 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/ValidateCruiseUIModel.java @@ -1,4 +1,4 @@ -package fr.ifremer.tutti.ui.swing.content.cruise; +package fr.ifremer.tutti.ui.swing.content.validation; /* * #%L diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/tree/CruiseTreeNode.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/tree/CruiseTreeNode.java similarity index 82% rename from tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/tree/CruiseTreeNode.java rename to tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/tree/CruiseTreeNode.java index 59b1da5..9c68947 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/tree/CruiseTreeNode.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/tree/CruiseTreeNode.java @@ -1,4 +1,4 @@ -package fr.ifremer.tutti.ui.swing.content.cruise.tree; +package fr.ifremer.tutti.ui.swing.content.validation.tree; /* * #%L @@ -27,10 +27,11 @@ package fr.ifremer.tutti.ui.swing.content.cruise.tree; import com.google.common.collect.Lists; import com.google.common.collect.Sets; import fr.ifremer.tutti.persistence.entities.data.Cruise; +import jaxx.runtime.SwingUtil; import org.nuiton.validator.NuitonValidatorResult; import org.nuiton.validator.NuitonValidatorScope; -import javax.swing.tree.DefaultMutableTreeNode; +import javax.swing.ImageIcon; import java.util.List; import java.util.Set; @@ -42,23 +43,19 @@ import static org.nuiton.i18n.I18n.t; * @author Tony Chemit - chemit@codelutin.com * @since 3.6 */ -public class CruiseTreeNode extends DefaultMutableTreeNode { +public class CruiseTreeNode extends TuttiMessageNodeSupport<Cruise> { private static final long serialVersionUID = 1L; - public CruiseTreeNode(Cruise cruise, - NuitonValidatorResult validationResult) { - super(cruise); + private static final ImageIcon CRUISE_ICON = SwingUtil.createActionIcon("cruise"); + + public CruiseTreeNode(Cruise cruise, NuitonValidatorResult validationResult) { + super(cruise, CRUISE_ICON, null); setAllowsChildren(true); createChildren(validationResult); } - @Override - public Cruise getUserObject() { - return (Cruise) super.getUserObject(); - } - public void createChildren(NuitonValidatorResult validationResult) { boolean withMessage = false; @@ -82,7 +79,8 @@ public class CruiseTreeNode extends DefaultMutableTreeNode { } if (!withMessage) { - addMessages(NuitonValidatorScope.INFO, Lists.newArrayList(t("tutti.validator.info.cruise.noError"))); + addMessages(NuitonValidatorScope.INFO, + Lists.newArrayList(t("tutti.validator.info.cruise.noError"))); } } @@ -90,7 +88,7 @@ public class CruiseTreeNode extends DefaultMutableTreeNode { // use a set to remove doublons Set<String> messageSet = Sets.newHashSet(messages); for (String message : messageSet) { - MessageTreeNode child = new MessageTreeNode(scope, message); + MessageTreeNode child = new MessageTreeNode(scope, message, null); this.add(child); } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/tree/MessageTreeNode.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/tree/MessageTreeNode.java similarity index 79% rename from tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/tree/MessageTreeNode.java rename to tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/tree/MessageTreeNode.java index ee0381d..b6f0469 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/tree/MessageTreeNode.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/tree/MessageTreeNode.java @@ -1,4 +1,4 @@ -package fr.ifremer.tutti.ui.swing.content.cruise.tree; +package fr.ifremer.tutti.ui.swing.content.validation.tree; /* * #%L @@ -24,9 +24,10 @@ package fr.ifremer.tutti.ui.swing.content.cruise.tree; * #L% */ +import jaxx.runtime.validator.swing.SwingValidatorUtil; import org.nuiton.validator.NuitonValidatorScope; -import javax.swing.tree.DefaultMutableTreeNode; +import javax.swing.JComponent; /** * Created on 7/9/14. @@ -34,22 +35,17 @@ import javax.swing.tree.DefaultMutableTreeNode; * @author Tony Chemit - chemit@codelutin.com * @since 3.6 */ -public class MessageTreeNode extends DefaultMutableTreeNode { +public class MessageTreeNode extends TuttiMessageNodeSupport<String> { private static final long serialVersionUID = 1L; protected NuitonValidatorScope scope; - public MessageTreeNode(NuitonValidatorScope scope, String message) { - super(message); + public MessageTreeNode(NuitonValidatorScope scope, String message, JComponent editor) { + super(message, SwingValidatorUtil.getIcon(scope), editor); this.scope = scope; } - @Override - public String getUserObject() { - return (String) super.getUserObject(); - } - public NuitonValidatorScope getScope() { return scope; } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/tree/OperationTreeNode.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/tree/OperationTreeNode.java similarity index 81% rename from tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/tree/OperationTreeNode.java rename to tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/tree/OperationTreeNode.java index a604fb5..1abde2b 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/tree/OperationTreeNode.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/tree/OperationTreeNode.java @@ -1,4 +1,4 @@ -package fr.ifremer.tutti.ui.swing.content.cruise.tree; +package fr.ifremer.tutti.ui.swing.content.validation.tree; /* * #%L @@ -27,49 +27,46 @@ package fr.ifremer.tutti.ui.swing.content.cruise.tree; import com.google.common.collect.Lists; import com.google.common.collect.Sets; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; +import jaxx.runtime.SwingUtil; import org.nuiton.validator.NuitonValidatorResult; import org.nuiton.validator.NuitonValidatorScope; -import javax.swing.tree.DefaultMutableTreeNode; +import javax.swing.ImageIcon; import java.util.List; import java.util.Set; import static org.nuiton.i18n.I18n.t; /** -* Created on 7/9/14. -* -* @author Tony Chemit - chemit@codelutin.com -* @since 3.6 -*/ -public class OperationTreeNode extends DefaultMutableTreeNode { + * Created on 7/9/14. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 3.6 + */ +public class OperationTreeNode extends TuttiMessageNodeSupport<FishingOperation> { private static final long serialVersionUID = 1L; - public OperationTreeNode(FishingOperation operation, - NuitonValidatorResult validationResult) { - super(operation); + private static final ImageIcon OBSERVED_FISHING_TRIP_ICON = SwingUtil.createActionIcon("observed_fishing_trip"); + + public OperationTreeNode(FishingOperation operation, NuitonValidatorResult validationResult) { + super(operation, OBSERVED_FISHING_TRIP_ICON, null); setAllowsChildren(true); createChildren(validationResult); } - @Override - public FishingOperation getUserObject() { - return (FishingOperation) super.getUserObject(); - } - public void createChildren(NuitonValidatorResult validationResult) { boolean withMessage = false; - if (validationResult.hasErrorMessagess()) { + if (validationResult.hasFatalMessages()) { addMessages(NuitonValidatorScope.FATAL, validationResult.getMessagesForScope(NuitonValidatorScope.FATAL)); withMessage = true; } - if (validationResult.hasFatalMessages()) { + if (validationResult.hasErrorMessagess()) { addMessages(NuitonValidatorScope.ERROR, validationResult.getMessagesForScope(NuitonValidatorScope.ERROR)); withMessage = true; @@ -90,7 +87,7 @@ public class OperationTreeNode extends DefaultMutableTreeNode { // use a set to remove doublons Set<String> messageSet = Sets.newHashSet(messages); for (String message : messageSet) { - MessageTreeNode child = new MessageTreeNode(scope, message); + MessageTreeNode child = new MessageTreeNode(scope, message, null); this.add(child); } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/tree/TuttiMessageNodeSupport.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/tree/TuttiMessageNodeSupport.java new file mode 100644 index 0000000..cd7421a --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/tree/TuttiMessageNodeSupport.java @@ -0,0 +1,39 @@ +package fr.ifremer.tutti.ui.swing.content.validation.tree; + +import javax.swing.ImageIcon; +import javax.swing.JComponent; +import javax.swing.tree.DefaultMutableTreeNode; + +/** + * Created on 9/24/14. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 3.8 + */ +public class TuttiMessageNodeSupport<O> extends DefaultMutableTreeNode { + + private static final long serialVersionUID = 1L; + + private final ImageIcon icon; + + private final JComponent editor; + + public TuttiMessageNodeSupport(O userObject, ImageIcon icon, JComponent editor) { + super(userObject); + this.icon = icon; + this.editor = editor; + } + + public JComponent getEditor() { + return editor; + } + + public ImageIcon getIcon() { + return icon; + } + + @Override + public O getUserObject() { + return (O) super.getUserObject(); + } +} diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/tree/ValidationTreeCellRenderer.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/tree/ValidationTreeCellRenderer.java similarity index 86% rename from tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/tree/ValidationTreeCellRenderer.java rename to tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/tree/ValidationTreeCellRenderer.java index 81e9eb9..2e08058 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/tree/ValidationTreeCellRenderer.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/validation/tree/ValidationTreeCellRenderer.java @@ -1,4 +1,4 @@ -package fr.ifremer.tutti.ui.swing.content.cruise.tree; +package fr.ifremer.tutti.ui.swing.content.validation.tree; /* * #%L @@ -26,7 +26,6 @@ package fr.ifremer.tutti.ui.swing.content.cruise.tree; import fr.ifremer.tutti.persistence.entities.data.Cruise; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; -import jaxx.runtime.SwingUtil; import org.nuiton.decorator.Decorator; import javax.swing.JLabel; @@ -65,22 +64,21 @@ public class ValidationTreeCellRenderer extends DefaultTreeCellRenderer { String text = cruiseDecorator.toString(node.getUserObject()); label.setText(text); label.setToolTipText(text); - label.setIcon(SwingUtil.createActionIcon("cruise")); + label.setIcon(node.getIcon()); } else if (value instanceof OperationTreeNode) { OperationTreeNode node = (OperationTreeNode) value; String text = fishingOperationDecorator.toString(node.getUserObject()); label.setText(text); label.setToolTipText(text); - label.setIcon(SwingUtil.createActionIcon("observed_fishing_trip")); + label.setIcon(node.getIcon()); } else if (value instanceof MessageTreeNode) { MessageTreeNode node = (MessageTreeNode) value; - String text = t(String.valueOf(node.getUserObject())); + String text = t(node.getUserObject()); label.setText(text); label.setToolTipText(text); - String iconName = node.getScope().toString().toLowerCase(); - label.setIcon(SwingUtil.createImageIcon(iconName + ".png")); + label.setIcon(node.getIcon()); } } return label; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.