branch develop updated (7d56197 -> 4e6cbb1)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository tutti. See http://git.codelutin.com/tutti.git from 7d56197 fixes #6569 new 1e5ea6f fixes #6557: [CONFIG] Erreur lors de la sauvegarde de la configuration des catégorisations fixes #6570: Ajout d'une colonne code dans l'écran de configuration des catégorisations new 4e6cbb1 fixes #6555: [CONFIG] Erreur au chargement de l'ordre des catégorisations dans la config The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 4e6cbb13a89323822a0e31ddcdb6330a46210f83 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Jan 28 15:47:30 2015 +0100 fixes #6555: [CONFIG] Erreur au chargement de l'ordre des catégorisations dans la config commit 1e5ea6f4417f96d732d47cb8d4e59cd3960bb293 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Jan 28 15:24:52 2015 +0100 fixes #6557: [CONFIG] Erreur lors de la sauvegarde de la configuration des catégorisations fixes #6570: Ajout d'une colonne code dans l'écran de configuration des catégorisations Summary of changes: .../fr/ifremer/tutti/TuttiConfigurationOption.java | 2 +- .../data/SampleCategoryModelConverter.java | 8 +-- .../entities/data/SampleCategoryModelEntry.java | 21 +------- .../entities/data/SampleCategoryModels.java | 28 +++++++++++ .../action/SaveSampleCategoryModelAction.java | 9 +++- .../category/EditSampleCategoryModelRowModel.java | 18 +++++-- .../EditSampleCategoryModelTableModel.java | 8 ++- .../category/EditSampleCategoryModelUIHandler.java | 58 +++++++++++++++++++--- .../category/EditSampleCategoryModelUIModel.java | 12 ++--- .../resources/i18n/tutti-ui-swing_en_GB.properties | 3 ++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 7 ++- 11 files changed, 127 insertions(+), 47 deletions(-) create mode 100644 tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryModels.java -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
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 1e5ea6f4417f96d732d47cb8d4e59cd3960bb293 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Jan 28 15:24:52 2015 +0100 fixes #6557: [CONFIG] Erreur lors de la sauvegarde de la configuration des catégorisations fixes #6570: Ajout d'une colonne code dans l'écran de configuration des catégorisations --- .../entities/data/SampleCategoryModelEntry.java | 18 ------ .../action/SaveSampleCategoryModelAction.java | 9 ++- .../category/EditSampleCategoryModelRowModel.java | 18 ++++-- .../EditSampleCategoryModelTableModel.java | 8 ++- .../category/EditSampleCategoryModelUIHandler.java | 73 +++++++++++++++++++--- .../category/EditSampleCategoryModelUIModel.java | 12 ++-- .../resources/i18n/tutti-ui-swing_en_GB.properties | 3 + .../resources/i18n/tutti-ui-swing_fr_FR.properties | 7 ++- 8 files changed, 107 insertions(+), 41 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryModelEntry.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryModelEntry.java index 946a08f..6dd198b 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryModelEntry.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryModelEntry.java @@ -75,24 +75,6 @@ public class SampleCategoryModelEntry implements Comparable<SampleCategoryModelE this.label = label; } - /*public String getCanonicalLabel() { - if (canonicalLabel == null) { - - canonicalLabel = ""; - - if (StringUtils.isNotEmpty(label)) { - for (int i = 0; i < label.length(); i++) { - char a = label.charAt(i); - if (!Character.isLetterOrDigit(a)) { - a = '_'; - } - canonicalLabel += a; - } - } - } - return canonicalLabel; - }*/ - public Caracteristic getCaracteristic() { return caracteristic; } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveSampleCategoryModelAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveSampleCategoryModelAction.java index 00f25a4..68d3dcb 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveSampleCategoryModelAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveSampleCategoryModelAction.java @@ -29,6 +29,8 @@ import fr.ifremer.tutti.ui.swing.content.category.EditSampleCategoryModelUIModel import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import static org.nuiton.i18n.I18n.t; + /** * To save the sample category model. * @@ -49,7 +51,7 @@ public class SaveSampleCategoryModelAction extends AbstractTuttiAction<EditSampl public void doAction() throws Exception { EditSampleCategoryModelUIModel model = getModel(); - SampleCategoryModel bean = model.toBean(); + SampleCategoryModel bean = model.toEntity(); if (log.isInfoEnabled()) { log.info("Will save sampleCategoryModel: " + bean); @@ -63,4 +65,9 @@ public class SaveSampleCategoryModelAction extends AbstractTuttiAction<EditSampl model.setModify(false); } + + @Override + public void postSuccessAction() { + sendMessage(t("tutti.editSampleCategoryModel.saved")); + } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelRowModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelRowModel.java index 09bbc87..7a90aac 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelRowModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelRowModel.java @@ -29,15 +29,15 @@ import org.nuiton.util.beans.Binder; import org.nuiton.util.beans.BinderFactory; /** - * TODO - * - * @author tchemit <chemit@codelutin.com> + * @author Tony Chemit - chemit@codelutin.com * @since TODO */ public class EditSampleCategoryModelRowModel extends AbstractTuttiBeanUIModel<SampleCategoryModelEntry, EditSampleCategoryModelRowModel> { private static final long serialVersionUID = 1L; + public static final String PROPERTY_CODE = "code"; + public static final String PROPERTY_LABEL = "label"; public static final String PROPERTY_CARACTERISTIC = "caracteristic"; @@ -58,7 +58,7 @@ public class EditSampleCategoryModelRowModel extends AbstractTuttiBeanUIModel<Sa public EditSampleCategoryModelRowModel(SampleCategoryModelEntry entry) { this(); - fromBean(entry); + fromEntity(entry); } //------------------------------------------------------------------------// @@ -74,6 +74,16 @@ public class EditSampleCategoryModelRowModel extends AbstractTuttiBeanUIModel<Sa //-- SampleCategoryModelEntry delegate --// //------------------------------------------------------------------------// + public String getCode() { + return editObject.getCode(); + } + + public void setCode(String code) { + String oldValue = getCode(); + editObject.setCode(code); + firePropertyChange(PROPERTY_CODE, oldValue, code); + } + public String getLabel() { return editObject.getLabel(); } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelTableModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelTableModel.java index 7d2709b..2aa748f 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelTableModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelTableModel.java @@ -44,6 +44,11 @@ public class EditSampleCategoryModelTableModel extends AbstractApplicationTableM n("tutti.editSampleCategoryModel.table.header.caracteristic"), n("tutti.editSampleCategoryModel.table.header.caracteristic.tip")); + public static final ColumnIdentifier<EditSampleCategoryModelRowModel> CODE = ColumnIdentifier.newId( + EditSampleCategoryModelRowModel.PROPERTY_CODE, + n("tutti.editSampleCategoryModel.table.header.code"), + n("tutti.editSampleCategoryModel.table.header.code.tip")); + public static final ColumnIdentifier<EditSampleCategoryModelRowModel> LABEL = ColumnIdentifier.newId( EditSampleCategoryModelRowModel.PROPERTY_LABEL, n("tutti.editSampleCategoryModel.table.header.label"), @@ -57,8 +62,7 @@ public class EditSampleCategoryModelTableModel extends AbstractApplicationTableM @Override public EditSampleCategoryModelRowModel createNewRow() { - EditSampleCategoryModelRowModel result = - new EditSampleCategoryModelRowModel(); + EditSampleCategoryModelRowModel result = new EditSampleCategoryModelRowModel(); // by default empty row is not valid result.setValid(false); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelUIHandler.java index 8cb6464..503a623 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelUIHandler.java @@ -24,8 +24,7 @@ package fr.ifremer.tutti.ui.swing.content.category; import com.google.common.base.Preconditions; import com.google.common.collect.Lists; -import org.nuiton.jaxx.application.swing.util.Cancelable; -import org.nuiton.jaxx.application.swing.util.CloseableUI; +import com.google.common.collect.Sets; import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModel; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor; @@ -38,12 +37,15 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdesktop.swingx.JXTable; import org.jdesktop.swingx.table.DefaultTableColumnModelExt; +import org.nuiton.jaxx.application.swing.util.Cancelable; +import org.nuiton.jaxx.application.swing.util.CloseableUI; import javax.swing.JComponent; import javax.swing.SwingUtilities; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; +import java.util.Set; import static org.nuiton.i18n.I18n.t; @@ -61,7 +63,8 @@ public class EditSampleCategoryModelUIHandler extends AbstractTuttiTableUIHandle public EditSampleCategoryModelUIHandler() { super(EditSampleCategoryModelRowModel.PROPERTY_CARACTERISTIC, - EditSampleCategoryModelRowModel.PROPERTY_LABEL); + EditSampleCategoryModelRowModel.PROPERTY_LABEL, + EditSampleCategoryModelRowModel.PROPERTY_CODE); } //------------------------------------------------------------------------// @@ -159,8 +162,42 @@ public class EditSampleCategoryModelUIHandler extends AbstractTuttiTableUIHandle @Override protected boolean isRowValid(EditSampleCategoryModelRowModel row) { - boolean result = StringUtils.isNotBlank(row.getLabel()); + boolean result = StringUtils.isNotBlank(row.getLabel()) && + StringUtils.isNotBlank(row.getCode()) && + getCode(row.getCode()).equals(row.getCode()); + + if (result) { + + // check code is alphanumerique + String code = row.getCode(); + result = code.equals(getCode(code)); + } + if (result) { + + // check unicity of codes and labels + List<EditSampleCategoryModelRowModel> rows = getModel().getRows(); + Set<String> labels = Sets.newHashSet(); + + Set<String> codes = Sets.newHashSet(); + + for (EditSampleCategoryModelRowModel aRow : rows) { + result = labels.add(aRow.getLabel()); + if (!result) { + if (log.isWarnEnabled()) { + log.warn("Duplicated label: " + aRow.getLabel()); + } + break; + } + result = codes.add(aRow.getCode()); + if (!result) { + if (log.isWarnEnabled()) { + log.warn("Duplicated code: " + aRow.getCode()); + } + break; + } + } + } return result; } @@ -238,9 +275,7 @@ public class EditSampleCategoryModelUIHandler extends AbstractTuttiTableUIHandle EditSampleCategoryModelUIModel model = getModel(); - initBeanFilterableComboBox(ui.getAvailableCaracteristicsComboBox(), - model.getCaracteristicList(), - null); + initBeanFilterableComboBox(ui.getAvailableCaracteristicsComboBox(), model.getCaracteristicList(), null); model.addPropertyChangeListener(EditSampleCategoryModelUIModel.PROPERTY_CARACTERISTIC_LIST, new PropertyChangeListener() { @Override @@ -271,6 +306,14 @@ public class EditSampleCategoryModelUIHandler extends AbstractTuttiTableUIHandle } + { // Code column + + addColumnToModel(columnModel, + null, + null, + EditSampleCategoryModelTableModel.CODE); + } + { // Label column addColumnToModel(columnModel, @@ -359,4 +402,20 @@ public class EditSampleCategoryModelUIHandler extends AbstractTuttiTableUIHandle model.setMoveUpEntryEnabled(enableMoveUpEntry); model.setMoveDownEntryEnabled(enableMoveDownEntry); } + + public static String getCode(String label) { + String canonicalLabel = ""; + + if (StringUtils.isNotEmpty(label)) { + for (int i = 0; i < label.length(); i++) { + char a = label.charAt(i); + if (!Character.isLetterOrDigit(a)) { + a = '_'; + } + canonicalLabel += a; + } + } + + return canonicalLabel; + } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelUIModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelUIModel.java index 0cf0672..f3b40a1 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelUIModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelUIModel.java @@ -69,8 +69,7 @@ public class EditSampleCategoryModelUIModel extends AbstractTuttiTableUIModel<Sa private boolean moveDownEntryEnabled; - public EditSampleCategoryModelUIModel(List<SampleCategoryModelEntry> category, - List<Caracteristic> caracteristicList) { + public EditSampleCategoryModelUIModel(List<SampleCategoryModelEntry> category, List<Caracteristic> caracteristicList) { super(SampleCategoryModel.class, fromBeanBinder, toBeanBinder); @@ -89,8 +88,7 @@ public class EditSampleCategoryModelUIModel extends AbstractTuttiTableUIModel<Sa continue; } EditSampleCategoryModelRowModel row = new EditSampleCategoryModelRowModel(); - row.setCaracteristic(sampleCategoryModelEntry.getCaracteristic()); - row.setLabel(sampleCategoryModelEntry.getLabel()); + row.fromEntity(sampleCategoryModelEntry); row.setValid(true); rows.add(row); } @@ -102,11 +100,11 @@ public class EditSampleCategoryModelUIModel extends AbstractTuttiTableUIModel<Sa List<SampleCategoryModelEntry> entries = Lists.newArrayList(firstCategory); int order = 1; for (EditSampleCategoryModelRowModel row : getRows()) { - SampleCategoryModelEntry entry = new SampleCategoryModelEntry(); - entry.setCategoryId(row.getCategoryId()); - entry.setLabel(row.getLabel()); + + SampleCategoryModelEntry entry = row.toEntity(); entry.setOrder(order++); entries.add(entry); + } return new SampleCategoryModel(entries); } diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties index bcd9360..cdbc4f4 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties @@ -1066,8 +1066,11 @@ tutti.editSampleCategoryModel.passwordDialog.error.message= tutti.editSampleCategoryModel.passwordDialog.error.title= tutti.editSampleCategoryModel.passwordDialog.message= tutti.editSampleCategoryModel.passwordDialog.title= +tutti.editSampleCategoryModel.saved= tutti.editSampleCategoryModel.table.header.caracteristic= tutti.editSampleCategoryModel.table.header.caracteristic.tip= +tutti.editSampleCategoryModel.table.header.code= +tutti.editSampleCategoryModel.table.header.code.tip= tutti.editSampleCategoryModel.table.header.label= tutti.editSampleCategoryModel.table.header.label.tip= tutti.editSampleCategoryModel.title= diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties index 8e8875f..3cad4bd 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties @@ -967,9 +967,9 @@ tutti.editProtocol.action.selectOtherSpecies.mnemonic=. tutti.editProtocol.action.selectOtherSpecies.tip=Sélectionner une autre espèce (dans les synonymes) tutti.editProtocol.action.title.choose.importColumnsFile=Importer le fichier de paramètres tutti.editProtocol.askCancelEditBeforeLeaving.cancelSaveProtocol=Le protocole n'est pas valide et ne peut pas être enregistré -tutti.editProtocol.askCancelEditBeforeLeaving.cancelSaveSampleCategoryModel=La catégorisation n'est pas valide et ne peut pas être enregistré +tutti.editProtocol.askCancelEditBeforeLeaving.cancelSaveSampleCategoryModel=Les catégorisations ne sont pas valides et ne peut pas être enregistrées tutti.editProtocol.askSaveBeforeLeaving.saveProtocol=Des modifications sur le protocole n'ont pas été enregistrées -tutti.editProtocol.askSaveBeforeLeaving.saveSampleCategoryModel=Des modifications sur la catégorisation n'ont pas été enregistrées +tutti.editProtocol.askSaveBeforeLeaving.saveSampleCategoryModel=Des modifications sur les catégorisations n'ont pas été enregistrées tutti.editProtocol.field.benthos.tip=Benthos tutti.editProtocol.field.caracteristicMapping.tip=Caractéristiques tutti.editProtocol.field.comment=Commentaire @@ -1036,8 +1036,11 @@ tutti.editSampleCategoryModel.passwordDialog.error.message=Le mot de passe que v tutti.editSampleCategoryModel.passwordDialog.error.title=Mot de passe incorrect tutti.editSampleCategoryModel.passwordDialog.message=Vous souhaitez entrer dans une partie sensible de l'application tutti.editSampleCategoryModel.passwordDialog.title=Zone sensible +tutti.editSampleCategoryModel.saved=Les catégorisations ont été enregistrées tutti.editSampleCategoryModel.table.header.caracteristic=Caractéristique tutti.editSampleCategoryModel.table.header.caracteristic.tip=Caractéristique de la catégorie +tutti.editSampleCategoryModel.table.header.code=Code +tutti.editSampleCategoryModel.table.header.code.tip=Code de la catégorie (sera utilisée dans les exports) tutti.editSampleCategoryModel.table.header.label=Label tutti.editSampleCategoryModel.table.header.label.tip=Label de la catégorie (sera utilisée dans les entêtes de tableau) tutti.editSampleCategoryModel.title=Configurer les catégorisations -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
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 4e6cbb13a89323822a0e31ddcdb6330a46210f83 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Jan 28 15:47:30 2015 +0100 fixes #6555: [CONFIG] Erreur au chargement de l'ordre des catégorisations dans la config --- .../fr/ifremer/tutti/TuttiConfigurationOption.java | 2 +- .../data/SampleCategoryModelConverter.java | 8 ++++--- .../entities/data/SampleCategoryModelEntry.java | 3 +-- .../entities/data/SampleCategoryModels.java | 28 ++++++++++++++++++++++ .../category/EditSampleCategoryModelUIHandler.java | 21 +++------------- .../resources/i18n/tutti-ui-swing_fr_FR.properties | 2 +- 6 files changed, 39 insertions(+), 25 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java index 1b7fd48..2649825 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java @@ -248,7 +248,7 @@ public enum TuttiConfigurationOption implements ConfigOptionDef { SAMPLE_CATEGORY_MODEL( "tutti.persistence.SampleCategoryModel", n("tutti.config.option.persistence.SampleCategoryModel.description"), - "V_HV,1428,V/HV|Class_Tri,198,Class Tri|Sexe,196,Sexe|Maturite,174,Maturite|Age,1430,Age", + "1428,V/HV,V_HV|198,Class Tri,Class_Tri|196,Sexe,Sexe|174,Maturite,Maturite|1430,Age,Age", SampleCategoryModel.class, false ), diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryModelConverter.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryModelConverter.java index 276d970..bef09fb 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryModelConverter.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryModelConverter.java @@ -64,10 +64,12 @@ public class SampleCategoryModelConverter implements NuitonConverter { for (String entryStr : entryStrs) { String[] entryParts = entryStr.split("\\s*\\,\\s*"); SampleCategoryModelEntry entry = new SampleCategoryModelEntry(); - entry.setCode(entryParts[0]); - entry.setCategoryId(Integer.valueOf(entryParts[1])); + entry.setCategoryId(Integer.valueOf(entryParts[0])); + entry.setLabel(entryParts[1]); if (entryParts.length > 2) { - entry.setLabel(entryParts[2]); + entry.setCode(entryParts[2]); + } else { + entry.setCode(SampleCategoryModels.getCode(entryParts[1])); } entry.setOrder(entries.size()); entries.add(entry); diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryModelEntry.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryModelEntry.java index 6dd198b..e89c435 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryModelEntry.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryModelEntry.java @@ -26,7 +26,6 @@ import com.google.common.base.Preconditions; import com.google.common.primitives.Ints; import fr.ifremer.tutti.persistence.TuttiPersistence; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; -import org.apache.commons.lang3.StringUtils; import java.io.Serializable; @@ -106,6 +105,6 @@ public class SampleCategoryModelEntry implements Comparable<SampleCategoryModelE @Override public String toString() { - return code + "," + categoryId + "," + (StringUtils.isBlank(label) ? "" : label); + return categoryId + "," + label + "," + code; } } diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryModels.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryModels.java new file mode 100644 index 0000000..f8c932a --- /dev/null +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryModels.java @@ -0,0 +1,28 @@ +package fr.ifremer.tutti.persistence.entities.data; + +import org.apache.commons.lang3.StringUtils; + +/** + * Created on 1/28/15. + * + * @author Tony Chemit - chemit@codelutin.com + * @since XXX + */ +public class SampleCategoryModels { + + public static String getCode(String label) { + String canonicalLabel = ""; + + if (StringUtils.isNotEmpty(label)) { + for (int i = 0; i < label.length(); i++) { + char a = label.charAt(i); + if (!Character.isLetterOrDigit(a)) { + a = '_'; + } + canonicalLabel += a; + } + } + + return canonicalLabel; + } +} diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelUIHandler.java index 503a623..25cd449 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelUIHandler.java @@ -26,6 +26,7 @@ import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import com.google.common.collect.Sets; import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModel; +import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModels; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor; import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler; @@ -163,14 +164,13 @@ public class EditSampleCategoryModelUIHandler extends AbstractTuttiTableUIHandle @Override protected boolean isRowValid(EditSampleCategoryModelRowModel row) { boolean result = StringUtils.isNotBlank(row.getLabel()) && - StringUtils.isNotBlank(row.getCode()) && - getCode(row.getCode()).equals(row.getCode()); + StringUtils.isNotBlank(row.getCode()); if (result) { // check code is alphanumerique String code = row.getCode(); - result = code.equals(getCode(code)); + result = code.equals(SampleCategoryModels.getCode(code)); } if (result) { @@ -403,19 +403,4 @@ public class EditSampleCategoryModelUIHandler extends AbstractTuttiTableUIHandle model.setMoveDownEntryEnabled(enableMoveDownEntry); } - public static String getCode(String label) { - String canonicalLabel = ""; - - if (StringUtils.isNotEmpty(label)) { - for (int i = 0; i < label.length(); i++) { - char a = label.charAt(i); - if (!Character.isLetterOrDigit(a)) { - a = '_'; - } - canonicalLabel += a; - } - } - - return canonicalLabel; - } } diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties index 3cad4bd..6d2082e 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties @@ -1036,7 +1036,7 @@ tutti.editSampleCategoryModel.passwordDialog.error.message=Le mot de passe que v tutti.editSampleCategoryModel.passwordDialog.error.title=Mot de passe incorrect tutti.editSampleCategoryModel.passwordDialog.message=Vous souhaitez entrer dans une partie sensible de l'application tutti.editSampleCategoryModel.passwordDialog.title=Zone sensible -tutti.editSampleCategoryModel.saved=Les catégorisations ont été enregistrées +tutti.editSampleCategoryModel.saved=Les catégorisations ont été enregistrées. tutti.editSampleCategoryModel.table.header.caracteristic=Caractéristique tutti.editSampleCategoryModel.table.header.caracteristic.tip=Caractéristique de la catégorie tutti.editSampleCategoryModel.table.header.code=Code -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm