Author: kmorin Date: 2013-03-26 17:46:02 +0100 (Tue, 26 Mar 2013) New Revision: 680 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/680 Log: refs #1868 [CAPTURE] - Import/Export PUPITRI Added: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SexEnum.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SizeEnum.java Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java trunk/tutti-persistence/src/main/resources/tutti-db-enumerations.properties Copied: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SexEnum.java (from rev 677, trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SortedUnsortedEnum.java) =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SexEnum.java (rev 0) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SexEnum.java 2013-03-26 16:46:02 UTC (rev 680) @@ -0,0 +1,95 @@ +package fr.ifremer.tutti.persistence.entities.data; + +/* + * #%L + * Tutti :: Persistence + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 - 2013 Ifremer + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU 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 Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import com.google.common.base.Preconditions; +import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; +import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue; +import fr.ifremer.tutti.persistence.service.TuttiEnumerationFile; + +/** + * Represents the sorted - unsorted pmfm. + * + * @author tchemit <chemit@codelutin.com> + * @since 1.2 + */ +public enum SexEnum implements TuttiEnumerationFile.TuttiEnumerable<Integer> { + + MALE("QUALITATIVE_SEX_MALE_ID"), + FEMALE("QUALITATIVE_SEX_FEMALE_ID"); + + private final String fieldName; + + private Integer fieldValue; + + private boolean init; + + SexEnum(String fieldName) { + this.fieldName = fieldName; + } + + @Override + public String getFieldName() { + return fieldName; + } + + @Override + public Integer getFieldValue() { + Preconditions.checkState(isInit(), "Enumeration " + getClass() + " was not init!"); + return fieldValue; + } + + @Override + public void setFieldValue(Object fieldValue) { + this.fieldValue = (Integer) fieldValue; + } + + @Override + public boolean isInit() { + return init; + } + + @Override + public void setInit(boolean init) { + this.init = init; + } + + public boolean matchValue(CaracteristicQualitativeValue value) { + return fieldValue.equals(Integer.valueOf(value.getId())); + } + + public CaracteristicQualitativeValue getValue(Caracteristic c) { + Preconditions.checkNotNull(c); + Preconditions.checkState(!c.isQualitativeValueEmpty()); + CaracteristicQualitativeValue result = null; + for (CaracteristicQualitativeValue value : c.getQualitativeValue()) { + if (matchValue(value)) { + result = value; + break; + } + } + return result; + } +} Copied: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SizeEnum.java (from rev 677, trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SortedUnsortedEnum.java) =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SizeEnum.java (rev 0) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SizeEnum.java 2013-03-26 16:46:02 UTC (rev 680) @@ -0,0 +1,96 @@ +package fr.ifremer.tutti.persistence.entities.data; + +/* + * #%L + * Tutti :: Persistence + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 - 2013 Ifremer + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU 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 Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import com.google.common.base.Preconditions; +import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; +import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue; +import fr.ifremer.tutti.persistence.service.TuttiEnumerationFile; + +/** + * Represents the sorted - unsorted pmfm. + * + * @author tchemit <chemit@codelutin.com> + * @since 1.2 + */ +public enum SizeEnum implements TuttiEnumerationFile.TuttiEnumerable<Integer> { + + SMALL("QUALITATIVE_SIZE_SMALL_ID"), + MEDIUM("QUALITATIVE_SIZE_MEDIUM_ID"), + BIG("QUALITATIVE_SIZE_BIG_ID"); + + private final String fieldName; + + private Integer fieldValue; + + private boolean init; + + SizeEnum(String fieldName) { + this.fieldName = fieldName; + } + + @Override + public String getFieldName() { + return fieldName; + } + + @Override + public Integer getFieldValue() { + Preconditions.checkState(isInit(), "Enumeration " + getClass() + " was not init!"); + return fieldValue; + } + + @Override + public void setFieldValue(Object fieldValue) { + this.fieldValue = (Integer) fieldValue; + } + + @Override + public boolean isInit() { + return init; + } + + @Override + public void setInit(boolean init) { + this.init = init; + } + + public boolean matchValue(CaracteristicQualitativeValue value) { + return fieldValue.equals(Integer.valueOf(value.getId())); + } + + public CaracteristicQualitativeValue getValue(Caracteristic c) { + Preconditions.checkNotNull(c); + Preconditions.checkState(!c.isQualitativeValueEmpty()); + CaracteristicQualitativeValue result = null; + for (CaracteristicQualitativeValue value : c.getQualitativeValue()) { + if (matchValue(value)) { + result = value; + break; + } + } + return result; + } +} Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java 2013-03-25 19:08:05 UTC (rev 679) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java 2013-03-26 16:46:02 UTC (rev 680) @@ -29,6 +29,8 @@ import com.google.common.collect.Sets; import fr.ifremer.tutti.persistence.entities.data.AttachementObjectTypeEnum; import fr.ifremer.tutti.persistence.entities.data.SampleCategoryEnum; +import fr.ifremer.tutti.persistence.entities.data.SexEnum; +import fr.ifremer.tutti.persistence.entities.data.SizeEnum; import fr.ifremer.tutti.persistence.entities.data.SortedUnsortedEnum; import org.springframework.beans.factory.annotation.Value; import org.springframework.util.ReflectionUtils; @@ -132,6 +134,21 @@ @Value("${QualitativeValueId.UNSORTED}") public final Integer QUALITATIVE_UNSORTED_ID = null; + @Value("${QualitativeValueId.SEX_MALE}") + public final Integer QUALITATIVE_SEX_MALE_ID = null; + + @Value("${QualitativeValueId.SEX_FEMALE}") + public final Integer QUALITATIVE_SEX_FEMALE_ID = null; + + @Value("${QualitativeValueId.SIZE_SMALL}") + public final Integer QUALITATIVE_SIZE_SMALL_ID = null; + + @Value("${QualitativeValueId.SIZE_MEDIUM}") + public final Integer QUALITATIVE_SIZE_MEDIUM_ID = null; + + @Value("${QualitativeValueId.SIZE_BIG}") + public final Integer QUALITATIVE_SIZE_BIG_ID = null; + @Value("${QualitativeValueId.SORTING_TYPE_SPECIES}") public final Integer QUALITATIVE_ID_SORTING_TYPE_SPECIES = null; @@ -271,6 +288,8 @@ // init enums initEnum(SortedUnsortedEnum.class, annotatedFieldValues); + initEnum(SexEnum.class, annotatedFieldValues); + initEnum(SizeEnum.class, annotatedFieldValues); initEnum(AttachementObjectTypeEnum.class, annotatedFieldValues); initEnum(SampleCategoryEnum.class, annotatedFieldValues); Modified: trunk/tutti-persistence/src/main/resources/tutti-db-enumerations.properties =================================================================== --- trunk/tutti-persistence/src/main/resources/tutti-db-enumerations.properties 2013-03-25 19:08:05 UTC (rev 679) +++ trunk/tutti-persistence/src/main/resources/tutti-db-enumerations.properties 2013-03-26 16:46:02 UTC (rev 680) @@ -317,8 +317,15 @@ # Catégorie Sex PmfmId.SEX=196 +QualitativeValueId.SEX_MALE=300 +QualitativeValueId.SEX_FEMALE=301 + # Catégorie classe de tri PmfmId.SIZE_CATEGORY=198 +QualitativeValueId.SIZE_SMALL=307 +QualitativeValueId.SIZE_MEDIUM=306 +QualitativeValueId.SIZE_BIG=305 + # Catégorie Age PmfmId.AGE=1430 # Catégorie maturité
participants (1)
-
kmorin@users.forge.codelutin.com