This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit f0a0274b05c0c746fee66d6f36edc74fad57b87f Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Oct 13 15:56:25 2015 +0200 migration de l'ecran (refs #7597) --- .../observe/ui/content/ContentUIInitializer.java | 7 +-- .../impl/seine/ActivitySeineObservedSystemUI.jaxx | 7 ++- .../ActivitySeineObservedSystemUIHandler.java | 34 ++---------- .../seine/ActivitySeineObservedSystemUIModel.java | 2 - ...bservedSystemDto-n1-update-error-validation.xml | 63 ++++++++++++++++++++++ ...ervedSystemDto-n1-update-warning-validation.xml | 50 +++++++++++++++++ ...tivitySeineObservedSystemServiceController.java | 3 +- .../seine/ActivitySeineObservedSystemService.java | 3 +- .../main/xmi/observe-services-dto-seine.properties | 1 - .../services/builder/DtoToEntityBuilder.java | 2 +- .../services/dto/ObserveDtosInitializer.java | 12 +++-- .../services/entity/ObserveEntitiesFilters.java | 6 +++ .../ActivitySeineObservedSystemServiceTopia.java | 6 ++- 13 files changed, 148 insertions(+), 48 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java index 1ec336c..c45535a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java @@ -681,13 +681,14 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E if (formDto != null && ReferentialDto.class.isAssignableFrom(dtoClass)) { - Predicate<ReferenceDto> predicate = (Predicate<ReferenceDto>) list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_PREDICATE); - ReferenceSetDto<E> referenceSetDto = formDto.getReferenceSetDto(dtoClass); - data = new ArrayList<>(Collections2.filter(referenceSetDto.getReference(), predicate)); + + data = new ArrayList<>(referenceSetDto.getReference()); } else { + data = new ArrayList<>(); + } // sort data from first decorator context diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.jaxx index 819ada2..0fa035b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.jaxx @@ -58,10 +58,9 @@ <BeanValidator id='validator' beanClass='fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto' errorTableModel='{getErrorTableModel()}' - context='n1-update-observedSystem'> - <!--FIXME--> - <!--<field name='observedSystem' component='observedSystemPane'/>--> - <!--<field name='observedSystemDistance'/>--> + context='n1-update'> + <field name='observedSystem' component='observedSystemPane'/> + <field name='observedSystemDistance'/> <field name='comment'/> </BeanValidator> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java index 646dc59..ad26ba9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java @@ -26,6 +26,7 @@ import fr.ird.observe.business.db.DataContext; import fr.ird.observe.business.db.constants.DataContextType; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDtos; import fr.ird.observe.services.service.seine.ActivitySeineObservedSystemService; @@ -62,7 +63,7 @@ public class ActivitySeineObservedSystemUIHandler extends ContentUIHandler<Activ @Override protected ContentMode getContentMode(DataContext dataContext) { - if (dataContext.isSelectedOpen(ActivitySeineObservedSystemDto.class)) { + if (getOpenDataManager().isOpenActivitySeine(dataContext.getSelectedActivitySeineId())) { // l'activity courante est ouverte, on peut modifier return ContentMode.UPDATE; @@ -107,38 +108,13 @@ public class ActivitySeineObservedSystemUIHandler extends ContentUIHandler<Activ protected boolean doSave(ActivitySeineObservedSystemDto bean) throws Exception { // on sauvegarde l'activity (mais pas la set) - String beanId = getActivitySeineObservedSystemService().save(bean); - bean.setId(beanId); + SaveResultDto saveResult = getActivitySeineObservedSystemService().save(bean); + bean.setId(saveResult.getId()); + bean.setLastUpdate(saveResult.getLastUpdate()); return true; } - //FIXME -// @Override -// protected ActivitySeine onUpdate(TopiaContext tx, Object parentBean, ActivitySeine beanToSave) throws TopiaException { -// -// ActivitySeine bean = getBean(); -// boolean needUpdateSet = false; -// SchoolType newTypeBanc = bean.getSchoolType(); -// SetSeine set = bean.getSetSeine(); -// if (set != null) { -// // on regarde si le type de banc de la calée a changé -// -// SchoolType oldTypeBanc = set.getSchoolType(); -// needUpdateSet = oldTypeBanc == null || newTypeBanc != oldTypeBanc; -// } -// -// getLoadBinder().copyExcluding(getBean(), beanToSave, ActivitySeine.PROPERTY_SET_SEINE); -// -// if (needUpdateSet) { -// -// // mise à jour de la propriété schoolType dans la set -// beanToSave.getSetSeine().setSchoolType(newTypeBanc); -// } -// -// return beanToSave; -// } - protected ActivitySeineObservedSystemService getActivitySeineObservedSystemService() { return ObserveSwingApplicationContext.get().newService(ActivitySeineObservedSystemService.class); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIModel.java index a14ad1e..9306166 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIModel.java @@ -47,8 +47,6 @@ public class ActivitySeineObservedSystemUIModel extends ContentUIModel<ActivityS BinderModelBuilder<ActivitySeineObservedSystemDto, ActivitySeineObservedSystemDto> builder = binderService.newBinderBuilder( ActivitySeineObservedSystemDto.class, ActivitySeineObservedSystemDto.PROPERTY_OBSERVED_SYSTEM, - //FIXME -// ActivitySeineObservedSystemDto.PROPERTY_SET_SEINE, ActivitySeineObservedSystemDto.PROPERTY_COMMENT, ActivitySeineObservedSystemDto.PROPERTY_OBSERVED_SYSTEM_DISTANCE ); diff --git a/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/ActivitySeineObservedSystemDto-n1-update-error-validation.xml b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/ActivitySeineObservedSystemDto-n1-update-error-validation.xml new file mode 100644 index 0000000..7148934 --- /dev/null +++ b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/ActivitySeineObservedSystemDto-n1-update-error-validation.xml @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + ObServe :: Validation + %% + Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + %% + 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% + --> + +<!DOCTYPE validators PUBLIC + "-//Apache Struts//XWork Validator 1.0.3//EN" + "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> +<validators> + + <field name="observedSystem"> + + <!-- objectOperation selectionnee desactivte --> + <field-validator type="collectionFieldExpression"> + <param name="collectionFieldName">observedSystem</param> + <param name="mode">ALL</param> + <param name="useSensitiveContext">true</param> + <param name="expression"><![CDATA[ current.enabled ]]></param> + <message>validator.activity.desactivated.observedSystem</message> + </field-validator> + + </field> + + <field name="comment"> + + <!-- comentaire de moins de 1024 caractères --> + <field-validator type="stringlength"> + <param name="maxLength">1024</param> + <message>validator.activity.comment.tobig</message> + </field-validator> + + <!-- comment requis selon le systeme observe --> + + <field-validator type="collectionFieldExpression"> + <param name="collectionFieldName">observedSystem</param> + <param name="mode">ALL</param> + <param name="useSensitiveContext">true</param> + <param name="expression"> + <![CDATA[ (comment != null && !comment.empty) || !current.needComment ]]></param> + <message>validator.activity.required.comment.for.observedSystem</message> + </field-validator> + + </field> + +</validators> diff --git a/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/ActivitySeineObservedSystemDto-n1-update-warning-validation.xml b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/ActivitySeineObservedSystemDto-n1-update-warning-validation.xml new file mode 100644 index 0000000..e71d7fb --- /dev/null +++ b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/ActivitySeineObservedSystemDto-n1-update-warning-validation.xml @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + ObServe :: Validation + %% + Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + %% + 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% + --> + +<!DOCTYPE validators PUBLIC + "-//Apache Struts//XWork Validator 1.0.3//EN" + "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> +<validators> + + <field name="observedSystemDistance"> + + <!-- Pas de distance au système observé renseignee --> + <field-validator type="required" short-circuit="true"> + <message>validator.activity.null.observedSystemDistance</message> + </field-validator> + + </field> + + <field name="observedSystem"> + + <!-- Aucun systeme observe renseigne --> + <field-validator type="fieldexpression"> + <param name="expression"> + <![CDATA[ !observedSystemEmpty ]]> + </param> + <message>validator.activity.null.observedSystem</message> + </field-validator> + + </field> + +</validators> diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineObservedSystemServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineObservedSystemServiceController.java index 190c0f1..601a5e8 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineObservedSystemServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineObservedSystemServiceController.java @@ -24,6 +24,7 @@ package fr.ird.observe.application.web.controller.v1.seine; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; import fr.ird.observe.services.service.seine.ActivitySeineObservedSystemService; @@ -47,7 +48,7 @@ public class ActivitySeineObservedSystemServiceController extends ObserveAuthent } @Override - public String save(ActivitySeineObservedSystemDto dto) { + public SaveResultDto save(ActivitySeineObservedSystemDto dto) { return service.save(dto); } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemService.java index 7640dff..77c8d83 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemService.java @@ -24,6 +24,7 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -44,6 +45,6 @@ public interface ActivitySeineObservedSystemService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(ActivitySeineObservedSystemDto dto); + SaveResultDto save(ActivitySeineObservedSystemDto dto); } diff --git a/observe-services-model/src/main/xmi/observe-services-dto-seine.properties b/observe-services-model/src/main/xmi/observe-services-dto-seine.properties index df49918..525496d 100644 --- a/observe-services-model/src/main/xmi/observe-services-dto-seine.properties +++ b/observe-services-model/src/main/xmi/observe-services-dto-seine.properties @@ -82,7 +82,6 @@ fr.ird.observe.services.dto.referential.seine.WeightCategory.attribute.species.t fr.ird.observe.services.dto.seine.TargetSample.attribute.targetLength.stereotype=unique fr.ird.observe.services.dto.seine.NonTargetSample.attribute.nonTargetLength.stereotype=unique fr.ird.observe.services.dto.seine.GearUseFeaturesSeine.attribute.gearUseFeaturesMeasurement.stereotype=unique -fr.ird.observe.services.dto.seine.ActivitySeineObservedSystem.attribute.observedSystem.stereotype=unique fr.ird.observe.services.dto.seine.TripSeine.attribute.route.stereotype=unique,ordered fr.ird.observe.services.dto.seine.TripSeineGearUse.attribute.gearUseFeaturesSeine.stereotype=unique,ordered fr.ird.observe.services.dto.seine.Route.attribute.activitySeine.stereotype=unique,ordered diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/DtoToEntityBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/DtoToEntityBuilder.java index caa19f4..4a54e2e 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/DtoToEntityBuilder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/DtoToEntityBuilder.java @@ -109,7 +109,7 @@ public class DtoToEntityBuilder<D extends IdDto, E extends TopiaEntity> implemen ParameterizedType collectionGenericTypeType2 = (ParameterizedType) collectionGenericType; Type type2 = collectionGenericTypeType2.getActualTypeArguments()[0]; Class typeTarget; - if (type1 instanceof Class) { + if (type2 instanceof Class) { typeTarget = (Class) type2; } else { typeTarget = (Class) ((ParameterizedType) type2).getActualTypeArguments()[0]; diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java index 7758685..2572896 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java @@ -1507,9 +1507,9 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { @Override public void initSchoolEstimateDto() { registerMainDto(SchoolEstimateDto.class, SchoolEstimate.class, - SchoolEstimateDto.PROPERTY_TOTAL_WEIGHT, - SchoolEstimateDto.PROPERTY_MEAN_WEIGHT, - SchoolEstimateDto.PROPERTY_SPECIES + SchoolEstimateDto.PROPERTY_TOTAL_WEIGHT, + SchoolEstimateDto.PROPERTY_MEAN_WEIGHT, + SchoolEstimateDto.PROPERTY_SPECIES ); } @@ -1660,7 +1660,9 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { protected <D extends IdDto, E extends TopiaEntity> void registerMainDto(Class<D> dtoType, Class<E> entityType, String... properties) { - registerDtoType(dtoType, entityType); + Class<? extends TopiaEntity> entityImplementationType = ObserveEntityEnum.valueOf(entityType).getImplementation(); + ENTITY_TO_DTO_TYPE_BUILDER.put(entityType, dtoType); + ENTITY_TO_DTO_TYPE_BUILDER.put(entityImplementationType, dtoType); registerDto(dtoType, entityType, properties); @@ -1668,6 +1670,8 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { protected <D extends IdDto, E extends TopiaEntity> void registerDto(Class<D> dtoType, Class<E> entityType, String... properties) { + DTO_TO_ENTITY_TYPE_BUILDER.put(dtoType, entityType); + BinderModelBuilder<D, E> dtoToEntityBuilder = newBinderBuilder(dtoType, entityType, properties); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/ObserveEntitiesFilters.java b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/ObserveEntitiesFilters.java index 133738f..355b0c4 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/ObserveEntitiesFilters.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/ObserveEntitiesFilters.java @@ -1,5 +1,6 @@ package fr.ird.observe.services.entity; +import com.google.common.base.Preconditions; import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Maps; @@ -40,6 +41,11 @@ public class ObserveEntitiesFilters { Class<D> dtoType, String propertyName) { + Preconditions.checkNotNull(parentType, "Parent type is required"); + Preconditions.checkNotNull(propertyType, "Property type is required"); + Preconditions.checkNotNull(dtoType, "DTO type is required"); + Preconditions.checkNotNull(propertyName, "Property name is required"); + if (FILTERS == null) { init(); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java index 4a7f416..054d6da 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java @@ -25,6 +25,8 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; /** @@ -53,12 +55,12 @@ public class ActivitySeineObservedSystemServiceTopia extends ObserveServiceTopia } @Override - public String save(ActivitySeineObservedSystemDto dto) { + public SaveResultDto save(ActivitySeineObservedSystemDto dto) { ActivitySeine activitySeine = dtoToEntity(ActivitySeineObservedSystemDto.class, ActivitySeine.class, dto); activitySeine = saveEntity(ActivitySeine.class, activitySeine); - return activitySeine.getTopiaId(); + return SaveResultDtos.newSaveResult(activitySeine.getTopiaId(), activitySeine.getLastUpdate()); } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.