This is an automated email from the git hooks/post-receive script. New commit to branch feature/7610 in repository observe. See http://git.codelutin.com/observe.git commit c9befdad82bb5ef0118896a7078df484b6f32d1d Author: Kevin Morin <morin@codelutin.com> Date: Fri Oct 16 10:50:52 2015 +0200 ajout du programme dans l'arbre après création (refs #7610) --- .../ui/content/ref/ContentReferenceUIHandler.java | 4 +- .../observe-application-swing_en_GB.properties | 1 + .../observe-application-swing_es_ES.properties | 1 + .../observe-application-swing_fr_FR.properties | 1 + .../fr/ird/observe/services/dto/ReferenceDtos.java | 45 ++++++++++++++++++++++ .../services/dto/referential/ProgramDtos.java | 36 +++++++++++++++++ 6 files changed, 86 insertions(+), 2 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java index f09d0d9..a007745 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java @@ -34,6 +34,7 @@ import fr.ird.observe.services.dto.constants.ReferenceStatus; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.referential.I18nReferentialDto; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ProgramDtos; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialDtos; import fr.ird.observe.services.dto.referential.VesselSizeCategoryDto; @@ -663,8 +664,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content // add the program in tree ObserveTreeHelper treeHelper = getTreeHelper(getUi()); - //FIXME -// treeHelper.addProgram((ProgramDto) bean); + treeHelper.addProgram(ProgramDtos.newReferenceDto((ProgramDto) bean)); } return true; diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties index 96bae25..7d4e572 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties @@ -804,6 +804,7 @@ observe.common.gearCaracteristic= observe.common.gearCaracteristicType= observe.common.gearType=Gear caracteristic type observe.common.gearUseFeaturesLongline= +observe.common.gearUseFeaturesMeasurementSeine= observe.common.gearUseFeaturesSeine= observe.common.gender= observe.common.generateReport= diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties index 177eba8..9e9787e 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties @@ -804,6 +804,7 @@ observe.common.gearCaracteristic= observe.common.gearCaracteristicType= observe.common.gearType= observe.common.gearUseFeaturesLongline= +observe.common.gearUseFeaturesMeasurementSeine= observe.common.gearUseFeaturesSeine= observe.common.gender= observe.common.generateReport=Generar un informe de validación diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties index 8006abf..8c2348d 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties @@ -804,6 +804,7 @@ observe.common.gearCaracteristic=Caractéristique d'un équipement observe.common.gearCaracteristicType=Type de caractéristique d'équipement observe.common.gearType=Type d'engin observe.common.gearUseFeaturesLongline=Équipement +observe.common.gearUseFeaturesMeasurementSeine= observe.common.gearUseFeaturesSeine=Équipement observe.common.gender=Sexe observe.common.generateReport=Générer un rapport de validation diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceDtos.java index fabafb4..b80d7a8 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceDtos.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceDtos.java @@ -23,19 +23,64 @@ package fr.ird.observe.services.dto; */ import com.google.common.base.Function; +import com.google.common.base.Preconditions; import com.google.common.base.Predicate; import com.google.common.collect.Collections2; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.util.beans.BeanUtil; +import java.beans.PropertyDescriptor; +import java.io.Serializable; +import java.lang.reflect.InvocationTargetException; import java.util.Collection; +import java.util.Set; public class ReferenceDtos extends AbstractReferenceDtos { + /** + * Logger. + */ + private static final Log log = LogFactory.getLog(ReferenceDtos.class); + public static <R extends IdDto> ReferenceDto<R> newReferenceDto(Class<R> type, Iterable<String> propertyNames) { ReferenceDto<R> dto = new ReferenceDto<>(); dto.init(type, propertyNames); return dto; } + public static <R extends IdDto> ReferenceDto<R> newReferenceDto(R bean, final Collection<String> propertyNames) { + Preconditions.checkNotNull(bean); + + ReferenceDto<R> reference = (ReferenceDto<R>) newReferenceDto(bean.getClass(), propertyNames); + reference.setId(bean.getId()); + + Set<PropertyDescriptor> descriptors = BeanUtil.getDescriptors(bean.getClass(), + new Predicate<PropertyDescriptor>() { + @Override + public boolean apply(PropertyDescriptor input) { + return propertyNames.contains(input.getName()); + } + }); + + for (PropertyDescriptor descriptor : descriptors) { + + try { + Object o = descriptor.getReadMethod().invoke(bean); + if (o != null) { + reference.setPropertyValue(descriptor.getName(), (Serializable) o); + } + + } catch (IllegalAccessException | InvocationTargetException e) { + if (log.isErrorEnabled()) { + log.error("Error while retrieving the property value for " + descriptor.getName() + " of " + bean, e); + } + } + } + + return reference; + } + public static Predicate<ReferenceDto> newContainsIdPredicate(final Collection<String> ids) { return new Predicate<ReferenceDto>() { diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ProgramDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ProgramDtos.java index ec2f720..70a4640 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ProgramDtos.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ProgramDtos.java @@ -1,10 +1,15 @@ package fr.ird.observe.services.dto.referential; +import com.google.common.collect.Lists; import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.ReferenceDtos; import fr.ird.observe.services.dto.constants.GearType; +import java.util.ArrayList; + public class ProgramDtos extends AbstractProgramDtos { + public static boolean isProgramLongLine(ProgramDto programDto) { return GearType.longline.equals(programDto.getGearType()); } @@ -41,4 +46,35 @@ public class ProgramDtos extends AbstractProgramDtos { return result; } + public static ReferenceDto<ProgramDto> newReferenceDto(ProgramDto programDto) { + ArrayList<String> propertyNames = Lists.newArrayList(ProgramDto.PROPERTY_CODE, + ProgramDto.PROPERTY_URI, + ProgramDto.PROPERTY_STATUS, + ProgramDto.PROPERTY_NEED_COMMENT, + ProgramDto.PROPERTY_LAST_UPDATE, + ProgramDto.PROPERTY_LABEL1, + ProgramDto.PROPERTY_LABEL2, + ProgramDto.PROPERTY_LABEL3, + ProgramDto.PROPERTY_LABEL4, + ProgramDto.PROPERTY_LABEL5, + ProgramDto.PROPERTY_LABEL6, + ProgramDto.PROPERTY_LABEL7, + ProgramDto.PROPERTY_LABEL8, + ProgramDto.PROPERTY_ORGANISM, + ProgramDto.PROPERTY_START_DATE, + ProgramDto.PROPERTY_END_DATE, + ProgramDto.PROPERTY_DETAILLED_ACTIVITIES_OBSERVATION, + ProgramDto.PROPERTY_NON_TARGET_OBSERVATION, + ProgramDto.PROPERTY_BAIT_OBSERVATION, + ProgramDto.PROPERTY_MAMMALS_OBSERVATION, + ProgramDto.PROPERTY_SAMPLES_OBSERVATION, + ProgramDto.PROPERTY_OBJECTS_OBSERVATION, + ProgramDto.PROPERTY_BIRDS_OBSERVATION, + ProgramDto.PROPERTY_TARGET_DISCARDS_OBSERVATION, + ProgramDto.PROPERTY_GEAR_TYPE); + + ReferenceDto<ProgramDto> reference = ReferenceDtos.newReferenceDto(programDto, propertyNames); + return reference; + } + } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.