Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 4e646a35 by Tony CHEMIT at 2017-09-11T10:26:32+02:00 fix some broken api - - - - - 12 changed files: - client/src/main/java/fr/ird/observe/client/ui/admin/consolidate/ConsolidateUIHandler.java - client/src/main/java/fr/ird/observe/client/ui/admin/export/ExportUIHandler.java - client/src/main/java/fr/ird/observe/client/ui/content/ContentUIHandler.java - client/src/main/java/fr/ird/observe/client/ui/util/UIHelper.java - services-client/src/test/java/fr/ird/observe/services/client/service/ReferenceValuesSetServiceClientTest.java - services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java - services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialShellBuilder.java - services/src/main/java/fr/ird/observe/services/service/referential/ObserveReferentialCache.java - services/src/main/java/fr/ird/observe/services/service/referential/ReferenceSetsRequest.java - validation/src/main/resources/i18n/validation_en_GB.properties - validation/src/main/resources/i18n/validation_es_ES.properties - validation/src/main/resources/i18n/validation_fr_FR.properties Changes: ===================================== client/src/main/java/fr/ird/observe/client/ui/admin/consolidate/ConsolidateUIHandler.java ===================================== --- a/client/src/main/java/fr/ird/observe/client/ui/admin/consolidate/ConsolidateUIHandler.java +++ b/client/src/main/java/fr/ird/observe/client/ui/admin/consolidate/ConsolidateUIHandler.java @@ -79,14 +79,14 @@ public class ConsolidateUIHandler extends AdminTabUIHandler<ConsolidateUI> imple getStepModel().setSource(getModel().getConfigModel().getSafeLocalSource(false)); - Set<DataDtoReference<?,?>> trips = getModel().getSelectDataModel().getSelectionDataModel().getSelectedData(); + Set<DataDtoReference<?, ?>> trips = getModel().getSelectDataModel().getSelectionDataModel().getSelectedData(); ImmutableSet<String> tripIds = ImmutableSet.copyOf(trips.stream() .filter(input -> IdHelper.isTripSeineId(input.getId())) .map(DataDtoReference::getId) .collect(Collectors.toSet())); ProgressModel progressModel = getStepModel().getProgressModel(); - progressModel.setStepsCount(tripIds.size()); + progressModel.setStepsCount(tripIds.size() + 1); try (ObserveSwingDataSource dataSource = getStepModel().getSource()) { ===================================== client/src/main/java/fr/ird/observe/client/ui/admin/export/ExportUIHandler.java ===================================== --- a/client/src/main/java/fr/ird/observe/client/ui/admin/export/ExportUIHandler.java +++ b/client/src/main/java/fr/ird/observe/client/ui/admin/export/ExportUIHandler.java @@ -125,7 +125,7 @@ public class ExportUIHandler extends AdminTabUIHandler<ExportUI> implements UIHa UIHelper.setTableColumnRenderer(table4, 0, UIHelper.newBooleanTableCellRenderer(renderer5)); UIHelper.setTableColumnRenderer(table4, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer5, ProgramReference.class)); - UIHelper.setTableColumnRenderer(table4, 2, UIHelper.newDecorateTableCellRenderer(renderer5, DataDtoReference.class, DecoratorService.TRIP_CONTEXT)); + UIHelper.setTableColumnRenderer(table4, 2, UIHelper.newDecorateTableCellRenderer(renderer5, TripSeineReference.class, DecoratorService.TRIP_CONTEXT)); UIHelper.setTableColumnRenderer(table4, 3, UIHelper.newBooleanTableCellRenderer(renderer5)); UIHelper.setTableColumnEditor(table4, 0, MyDefaultCellEditor.newBooleanEditor(false)); ===================================== client/src/main/java/fr/ird/observe/client/ui/content/ContentUIHandler.java ===================================== --- a/client/src/main/java/fr/ird/observe/client/ui/content/ContentUIHandler.java +++ b/client/src/main/java/fr/ird/observe/client/ui/content/ContentUIHandler.java @@ -659,6 +659,7 @@ public abstract class ContentUIHandler<E extends IdDto, U extends ContentUI<E, U public <F extends IdDto> void loadReferentialReferenceSetsInModel(FormDefinition<F> formDefinition) { loadReferentialReferenceSetsInModel(formDefinition, true); } + protected <F extends IdDto> void loadReferentialReferenceSetsInModel(FormDefinition<F> formDefinition, boolean clear) { Class<F> dtoType = formDefinition.getType(); ===================================== client/src/main/java/fr/ird/observe/client/ui/util/UIHelper.java ===================================== --- a/client/src/main/java/fr/ird/observe/client/ui/util/UIHelper.java +++ b/client/src/main/java/fr/ird/observe/client/ui/util/UIHelper.java @@ -95,7 +95,7 @@ public class UIHelper extends SwingUtil { public static final Icon ICON_MODE_READ = SwingUtil.getUIManagerActionIcon("mode-read"); public static final Icon ICON_MODE_CREATE = SwingUtil.getUIManagerActionIcon("mode-create"); - public static final Icon ICON_MODE_UPDATE= SwingUtil.getUIManagerActionIcon("mode-update"); + public static final Icon ICON_MODE_UPDATE = SwingUtil.getUIManagerActionIcon("mode-update"); /** * Components which must NOT be blocked by any layer in ui. @@ -414,27 +414,39 @@ public class UIHelper extends SwingUtil { public static DecoratorTableCellRenderer newDecorateTableCellRenderer( - TableCellRenderer renderer, Class<?> entityClass) { - Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(entityClass); + TableCellRenderer renderer, Class<?> type) { + Objects.requireNonNull(renderer); + Objects.requireNonNull(type); + Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(type); + Objects.requireNonNull(decorator, "cant find decorator for " + type.getName()); return new DecoratorTableCellRenderer(renderer, decorator); } public static DecoratorTableCellRenderer newDecorateTableCellRenderer( - TableCellRenderer renderer, Class<?> entityClass, String context) { - Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(entityClass, context); + TableCellRenderer renderer, Class<?> type, String context) { + Objects.requireNonNull(renderer); + Objects.requireNonNull(type); + Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(type, context); + Objects.requireNonNull(decorator, "cant find decorator for " + type.getName() + " - " + context); return new DecoratorTableCellRenderer(renderer, decorator); } public static <T extends DataDtoReference> DecoratorTableCellRenderer newDataReferenceDecorateTableCellRenderer(TableCellRenderer renderer, Class<T> referenceType, String context) { + Objects.requireNonNull(renderer); + Objects.requireNonNull(referenceType); Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDataReferenceDecorator(referenceType, context); + Objects.requireNonNull(decorator, "cant find decorator for " + referenceType.getName() + " - " + context); return new DecoratorTableCellRenderer(renderer, decorator); } public static <T extends ReferentialDtoReference> DecoratorTableCellRenderer newReferentialReferenceDecorateTableCellRenderer(TableCellRenderer renderer, Class<T> referenceType) { + Objects.requireNonNull(renderer); + Objects.requireNonNull(referenceType); Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(referenceType); + Objects.requireNonNull(decorator, "cant find decorator for " + referenceType.getName()); return new DecoratorTableCellRenderer(renderer, decorator); } ===================================== services-client/src/test/java/fr/ird/observe/services/client/service/ReferenceValuesSetServiceClientTest.java ===================================== --- a/services-client/src/test/java/fr/ird/observe/services/client/service/ReferenceValuesSetServiceClientTest.java +++ b/services-client/src/test/java/fr/ird/observe/services/client/service/ReferenceValuesSetServiceClientTest.java @@ -33,7 +33,6 @@ import fr.ird.observe.services.service.referential.ReferenceSetsRequest; import fr.ird.observe.services.service.referential.ReferentialService; import fr.ird.observe.spi.DtoModelHelper; import fr.ird.observe.spi.map.ImmutableDtoMap; -import fr.ird.observe.spi.map.ImmutableDtoMapDtoSimplifiedName; import java.util.Date; import org.junit.Assert; import org.junit.Before; @@ -68,7 +67,7 @@ public class ReferenceValuesSetServiceClientTest extends ServiceClientTestSuppor //FIXME ReferenceSetsRequest<TripSeineDto> request = new ReferenceSetsRequest<>(); request.setRequestName(requestName); - request.setLastUpdateDates(ImmutableDtoMapDtoSimplifiedName.<Date>builder().build()); + request.setLastUpdateDates(ImmutableDtoMap.<Date>builder().build()); ImmutableSet<ReferentialDtoReferenceSet<?>> referenceSetResult = service.getReferentialReferenceSets(request); Assert.assertNotNull(referenceSetResult); ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java ===================================== --- a/services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java +++ b/services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java @@ -61,7 +61,7 @@ import fr.ird.observe.spi.DtoModelHelper; import fr.ird.observe.spi.context.ReferentialDtoEntityContext; import fr.ird.observe.spi.context.ReferentialEntityContext; import fr.ird.observe.spi.context.ReferentialReferenceEntityContext; -import fr.ird.observe.spi.map.ImmutableDtoMapDtoSimplifiedName; +import fr.ird.observe.spi.map.ImmutableDtoMap; import fr.ird.observe.spi.map.ImmutableSetDtoMap; import java.util.Arrays; import java.util.Collections; @@ -143,7 +143,7 @@ public class ReferentialServiceLocal extends ObserveServiceLocal implements Refe FormDefinition<D> requestDefinition = optionalRequestDefinition.get(); - ImmutableDtoMapDtoSimplifiedName<Date> lastUpdateDates = request.getLastUpdateDates(); + ImmutableDtoMap<Date> lastUpdateDates = request.getLastUpdateDates(); Objects.requireNonNull(lastUpdateDates); for (Class propertyType : requestDefinition.getPropertiesTypes()) { ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialShellBuilder.java ===================================== --- a/services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialShellBuilder.java +++ b/services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialShellBuilder.java @@ -22,9 +22,8 @@ package fr.ird.observe.services.local.service.referential; * #L% */ -import com.google.common.cache.LoadingCache; -import fr.ird.observe.dto.reference.ReferentialDtoReference; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; +import fr.ird.observe.spi.DbModelHelper; import fr.ird.observe.spi.map.ImmutableSetDtoMap; import java.util.Set; import java.util.TreeSet; @@ -43,36 +42,31 @@ public class ReferentialShellBuilder { return new ReferentialShellBuilder(incomingReferentialIds); } - private final GetEntityReferentialsShellVisitor visitor; + private final GetEntityReferentialShellVisitor visitor; - public ReferentialShellBuilder scan(TopiaEntity entity) { + void scan(TopiaEntity entity) { entity.accept(visitor); - return this; } public ImmutableSetDtoMap<String> build() { - return visitor.missingreferentialIds.build(); + return visitor.missingReferentialIds.build(); } private ReferentialShellBuilder(ImmutableSetDtoMap<String> incomingReferentialIds) { - visitor = new GetEntityReferentialsShellVisitor(incomingReferentialIds); + visitor = new GetEntityReferentialShellVisitor(incomingReferentialIds); } - private static class GetEntityReferentialsShellVisitor implements TopiaEntityVisitor { + private static class GetEntityReferentialShellVisitor implements TopiaEntityVisitor { private final Set<String> hitIds; private final ImmutableSetDtoMap<String> incomingReferentialIds; - private final ImmutableSetDtoMap.Builder<String> missingreferentialIds; - private final LoadingCache<Class<? extends ObserveReferentialEntity>, Class<? extends ReferentialDtoReference>> typeCache; + private final ImmutableSetDtoMap.Builder<String> missingReferentialIds; - public GetEntityReferentialsShellVisitor(ImmutableSetDtoMap<String> incomingReferentialIds) { + GetEntityReferentialShellVisitor(ImmutableSetDtoMap<String> incomingReferentialIds) { this.incomingReferentialIds = incomingReferentialIds; - //FIXME Use our many class mapping api... - this.typeCache = null; - this.hitIds = new TreeSet<>(); - this.missingreferentialIds = ImmutableSetDtoMap.builder(); + this.missingReferentialIds = ImmutableSetDtoMap.builder(); } @Override @@ -83,9 +77,9 @@ public class ReferentialShellBuilder { return; } hitIds.add(topiaId); - Class<? extends ReferentialDtoReference> dtoType = typeCache.getUnchecked(((ObserveReferentialEntity) entity).getClass()); + Class<?> dtoType = DbModelHelper.fromReferentialEntity((ObserveReferentialEntity) entity).toReferenceType(); if (!incomingReferentialIds.containsEntry(dtoType, topiaId)) { - missingreferentialIds.put(dtoType, topiaId); + missingReferentialIds.put(dtoType, topiaId); } } } @@ -117,7 +111,6 @@ public class ReferentialShellBuilder { @Override public void clear() { hitIds.clear(); - typeCache.invalidateAll(); } } ===================================== services/src/main/java/fr/ird/observe/services/service/referential/ObserveReferentialCache.java ===================================== --- a/services/src/main/java/fr/ird/observe/services/service/referential/ObserveReferentialCache.java +++ b/services/src/main/java/fr/ird/observe/services/service/referential/ObserveReferentialCache.java @@ -30,7 +30,6 @@ import fr.ird.observe.dto.reference.ReferentialDtoReferenceSet; import fr.ird.observe.dto.referential.ReferentialDto; import fr.ird.observe.spi.DtoModelHelper; import fr.ird.observe.spi.map.ImmutableDtoMap; -import fr.ird.observe.spi.map.ImmutableDtoMapDtoSimplifiedName; import fr.ird.observe.spi.map.MutableDtoMap; import java.io.Closeable; import java.io.Serializable; @@ -94,7 +93,7 @@ public class ObserveReferentialCache implements Closeable, Serializable { FormDefinition<D> formDefinition = optionalRequestDefinition.get(); log.info(String.format("Loading %d referential dependencies for: %s", formDefinition.getProperties().size(), dtoType.getName())); - ImmutableDtoMapDtoSimplifiedName<Date> lastUpdateDates = getLastUpdateDates(formDefinition); + ImmutableDtoMap<Date> lastUpdateDates = getLastUpdateDates(formDefinition); ReferenceSetsRequest<D> request = new ReferenceSetsRequest<>(); request.setRequestName(dtoType); @@ -126,9 +125,9 @@ public class ObserveReferentialCache implements Closeable, Serializable { * @param formDefinition la définition de requète * @return le dictionnaire des dates de dernières mises à jour pour chaque ensemble de référentiels */ - private ImmutableDtoMapDtoSimplifiedName<Date> getLastUpdateDates(FormDefinition<?> formDefinition) { + private ImmutableDtoMap<Date> getLastUpdateDates(FormDefinition<?> formDefinition) { - ImmutableDtoMapDtoSimplifiedName.Builder<Date> builder = ImmutableDtoMapDtoSimplifiedName.builder(); + ImmutableDtoMap.Builder<Date> builder = ImmutableDtoMap.builder(); for (Class type : formDefinition.getPropertiesTypes()) { ===================================== services/src/main/java/fr/ird/observe/services/service/referential/ReferenceSetsRequest.java ===================================== --- a/services/src/main/java/fr/ird/observe/services/service/referential/ReferenceSetsRequest.java +++ b/services/src/main/java/fr/ird/observe/services/service/referential/ReferenceSetsRequest.java @@ -24,7 +24,7 @@ package fr.ird.observe.services.service.referential; import fr.ird.observe.dto.IdDto; import fr.ird.observe.dto.ObserveDto; -import fr.ird.observe.spi.map.ImmutableDtoMapDtoSimplifiedName; +import fr.ird.observe.spi.map.ImmutableDtoMap; import java.util.Date; /** @@ -39,7 +39,7 @@ public class ReferenceSetsRequest<D extends IdDto> implements ObserveDto { private Class<D> requestName; - private ImmutableDtoMapDtoSimplifiedName<Date> lastUpdateDates; + private ImmutableDtoMap<Date> lastUpdateDates; public Class<D> getDtoType() { return requestName; @@ -49,11 +49,11 @@ public class ReferenceSetsRequest<D extends IdDto> implements ObserveDto { this.requestName = requestName; } - public ImmutableDtoMapDtoSimplifiedName<Date> getLastUpdateDates() { + public ImmutableDtoMap<Date> getLastUpdateDates() { return lastUpdateDates; } - public void setLastUpdateDates(ImmutableDtoMapDtoSimplifiedName<Date> lastUpdateDates) { + public void setLastUpdateDates(ImmutableDtoMap<Date> lastUpdateDates) { this.lastUpdateDates = lastUpdateDates; } ===================================== validation/src/main/resources/i18n/validation_en_GB.properties ===================================== --- a/validation/src/main/resources/i18n/validation_en_GB.properties +++ b/validation/src/main/resources/i18n/validation_en_GB.properties @@ -498,8 +498,8 @@ observe.validation.nonTargetCatchRelease.required.speciesGroupReleaseMode=Releas observe.validation.nonTargetCatchRelease.required.status=Status not filled. observe.validation.nonTargetLength.desactivated.sizeMeasureType=Selected size measure type is disabled. observe.validation.nonTargetLength.desactivated.speciesFate=Selected species fate is disabled. -observe.validation.nonTargetLength.required.sizeMeasureType=Size measure type is mandatory. observe.validation.nonTargetLength.null.speciesFate=Species fate should be filled. +observe.validation.nonTargetLength.required.sizeMeasureType=Size measure type is mandatory. observe.validation.nonTargetSample.bound.length=Length must be bound between %s and %s. observe.validation.nonTargetSample.bound.weight=Weight must be bound between %s and %s. observe.validation.nonTargetSample.comment.tobig=Comment size can not exceed 1024 characters. ===================================== validation/src/main/resources/i18n/validation_es_ES.properties ===================================== --- a/validation/src/main/resources/i18n/validation_es_ES.properties +++ b/validation/src/main/resources/i18n/validation_es_ES.properties @@ -498,8 +498,8 @@ observe.validation.nonTargetCatchRelease.required.speciesGroupReleaseMode=Mode d observe.validation.nonTargetCatchRelease.required.status=État à la libération non renseigné. \#TODO observe.validation.nonTargetLength.desactivated.sizeMeasureType=Selected size mesure type is disabled. \#TODO observe.validation.nonTargetLength.desactivated.speciesFate=El objectFate de fauna seleccionado está desactivado. -observe.validation.nonTargetLength.required.sizeMeasureType=Es obligatoria especificar el size measure type \#TODO observe.validation.nonTargetLength.null.speciesFate=Futuro de fauna no establecida. +observe.validation.nonTargetLength.required.sizeMeasureType=Es obligatoria especificar el size measure type \#TODO observe.validation.nonTargetSample.bound.length=La talla para esta especie debe estar comprendida entre %1$s y %2$s. observe.validation.nonTargetSample.bound.weight=La peso para esta especie debe estar comprendida entre %1$s y %2$s. observe.validation.nonTargetSample.comment.tobig=La longitud del campo comentarios está limitada a 1024 carácteres. ===================================== validation/src/main/resources/i18n/validation_fr_FR.properties ===================================== --- a/validation/src/main/resources/i18n/validation_fr_FR.properties +++ b/validation/src/main/resources/i18n/validation_fr_FR.properties @@ -498,8 +498,8 @@ observe.validation.nonTargetCatchRelease.required.speciesGroupReleaseMode=Mode d observe.validation.nonTargetCatchRelease.required.status=État à la libération non renseigné. observe.validation.nonTargetLength.desactivated.sizeMeasureType=Le type de mesure sélectionné est désactivé. observe.validation.nonTargetLength.desactivated.speciesFate=Le devenir faune sélectionné est désactivé. -observe.validation.nonTargetLength.required.sizeMeasureType=Le type de mesure est obligatoire. observe.validation.nonTargetLength.null.speciesFate=La sélection d'un devenir faune est conseillée. +observe.validation.nonTargetLength.required.sizeMeasureType=Le type de mesure est obligatoire. observe.validation.nonTargetSample.bound.length=La taille pour cette espèce doit être comprise entre %1$s et %2$s. observe.validation.nonTargetSample.bound.weight=Le poids pour cette espèce doit être compris entre %1$s et %2$s. observe.validation.nonTargetSample.comment.tobig=La taille du commentaire est limitée à 1024 caractères. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/4e646a35d1758eab1587717ee786... --- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/4e646a35d1758eab1587717ee786... You're receiving this email because of your account on gitlab.com.