This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit c78d96b6dbc3baacb639c562d5edfe4d8f06c822 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Sep 5 09:22:47 2016 +0200 Amélioration de l'affichage des données techniques + quelques corrections I18n --- .../swing/decoration/DecoratorService.java | 28 ++++++++++++--- .../application-swing-decoration_fr_FR.properties | 22 ++++++------ .../swing/ui/content/ContentUIHandler.java | 5 ++- .../ui/content/list/ContentListUIHandler.java | 41 +++++++++++++--------- .../ui/content/ref/ContentReferenceUIHandler.java | 7 +++- .../i18n/application-swing_fr_FR.properties | 2 +- 6 files changed, 70 insertions(+), 35 deletions(-) diff --git a/application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/DecoratorService.java b/application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/DecoratorService.java index d60de67..6c56d67 100644 --- a/application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/DecoratorService.java +++ b/application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/DecoratorService.java @@ -46,6 +46,7 @@ import fr.ird.observe.services.dto.longline.SectionTemplate; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.longline.TdrDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; import fr.ird.observe.services.dto.referential.CountryDto; import fr.ird.observe.services.dto.referential.FpaZoneDto; import fr.ird.observe.services.dto.referential.GearCaracteristicDto; @@ -108,17 +109,27 @@ import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; import fr.ird.observe.services.dto.referential.seine.WindDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; +import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; import fr.ird.observe.services.dto.seine.ActivitySeineStubDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; +import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; +import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; +import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; import fr.ird.observe.services.dto.seine.NonTargetCatchDto; +import fr.ird.observe.services.dto.seine.NonTargetSampleDto; import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.SchoolEstimateDto; import fr.ird.observe.services.dto.seine.SetSeineDto; +import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; +import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; +import fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto; import fr.ird.observe.services.dto.seine.TargetLengthDto; +import fr.ird.observe.services.dto.seine.TargetSampleDto; import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; import fr.ird.observe.services.dto.seine.TripSeineDto; +import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; import fr.ird.observe.util.GPSPoint; import org.nuiton.decorator.Decorator; import org.nuiton.decorator.DecoratorProvider; @@ -437,10 +448,19 @@ public class DecoratorService extends DecoratorProvider { "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${vesselActivityLongline/label}$s", "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${vesselActivityLongline}$s", " - "); - //FIXME Remove this - registerDataAndDataReferenceDecorator(SetSeineDto.class, t("observe.common.setSeine")); - //FIXME Remove this - registerDataAndDataReferenceDecorator(SetLonglineDto.class, t("observe.common.setLongline")); + registerDataAndDataReferenceDecorator(SetSeineDto.class, t("observe.type.setSeine")); + registerDataAndDataReferenceDecorator(SetLonglineDto.class, t("observe.type.setLongline")); + registerDataAndDataReferenceDecorator(TripSeineGearUseDto.class, t("observe.type.tripSeineGearUse")); + registerDataAndDataReferenceDecorator(TripLonglineGearUseDto.class, t("observe.type.tripLonglineGearUse")); + registerDataAndDataReferenceDecorator(ActivitySeineObservedSystemDto.class, t("observe.type.activitySeineObservedSystem")); + registerDataAndDataReferenceDecorator(SetSeineSchoolEstimateDto.class, t("observe.type.setSeineSchoolEstimate")); + registerDataAndDataReferenceDecorator(SetSeineTargetCatchDto.class, t("observe.type.setSeineTargetCatch")); + registerDataAndDataReferenceDecorator(SetSeineNonTargetCatchDto.class, t("observe.type.setSeineNonTargetCatch")); + registerDataAndDataReferenceDecorator(NonTargetSampleDto.class, t("observe.type.nonTargetSample")); + registerDataAndDataReferenceDecorator(TargetSampleDto.class, t("observe.type.targetSample")); + registerDataAndDataReferenceDecorator(FloatingObjectTransmittingBuoyDto.class, t("observe.type.floatingObjectTransmittingBuoy")); + registerDataAndDataReferenceDecorator(FloatingObjectSchoolEstimateDto.class, t("observe.type.floatingObjectSchoolEstimate")); + registerDataAndDataReferenceDecorator(FloatingObjectObservedSpeciesDto.class, t("observe.type.floatingObjectObservedSpecies")); registerDataAndDataReferenceDecorator(ObjectSchoolEstimateDto.class, "${species/scientificLabel}$s##${weight}$d", diff --git a/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_fr_FR.properties b/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_fr_FR.properties index f61e24d..56dcf4b 100644 --- a/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_fr_FR.properties +++ b/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_fr_FR.properties @@ -43,12 +43,12 @@ observe.common.vesselActivitySeine/label8=Activité bateau observe.type.activityLongline=Activité observe.type.activityLonglineEncounter=Rencontre observe.type.activityLonglineEncounters=Rencontres -observe.type.activityLonglineSensorUsed=Sonde utilisé -observe.type.activityLonglineSensorUseds=Sondes utilisé +observe.type.activityLonglineSensorUsed=Sonde utilisée +observe.type.activityLonglineSensorUseds=Sondes utilisées observe.type.activityLonglines=Activités observe.type.activitySeine=Activité observe.type.activitySeineObservedSystem=Système observé -observe.type.activitySeineObservedSystems=Systèmes observé +observe.type.activitySeineObservedSystems=Systèmes observés observe.type.activitySeines=Activités observe.type.baitHaulingStatus=Statut de l'appât au virage observe.type.baitHaulingStatuses=Statuts de l'appât au virage @@ -85,7 +85,7 @@ observe.type.floatingObjectObservedSpecies=Espèces observées sur banc observe.type.floatingObjectSchoolEstimate=Estimation du banc objet observe.type.floatingObjectSchoolEstimates=Estimations du banc objet observe.type.floatingObjectTransmittingBuoy=Opérations sur balise -observe.type.floatingObjectTransmittingBuoys=Opérationss sur balise +observe.type.floatingObjectTransmittingBuoys=Opérations sur balise observe.type.floatingObjects=Objets flottant observe.type.floatlinesComposition=Composition des orins observe.type.floatlinesCompositions=Compositions des orins @@ -153,7 +153,7 @@ observe.type.objectSchoolEstimates=Estimations banc objet observe.type.objectType=Type d'objet observe.type.objectTypes=Types d'objet observe.type.observedSystem=Système observé -observe.type.observedSystems=Systèmes observé +observe.type.observedSystems=Systèmes observés observe.type.ocean=Océan observe.type.oceans=Océans observe.type.organism=Organisme @@ -181,14 +181,14 @@ observe.type.sensorDataFormats=Formats de données de capteur observe.type.sensorType=Type de capteur observe.type.sensorTypes=Types de capteur observe.type.sensorUsed=Capteur utilisé -observe.type.sensorUseds=Capteurs utilisé +observe.type.sensorUseds=Capteurs utilisés observe.type.setLongline=Opération de pêche observe.type.setLonglineCatch=Capture observe.type.setLonglineCatches=Captures -observe.type.setLonglineDetailComposition=Composition détaillé -observe.type.setLonglineDetailCompositions=Compositions détaillé +observe.type.setLonglineDetailComposition=Composition détaillée +observe.type.setLonglineDetailCompositions=Compositions détaillées observe.type.setLonglineGlobalComposition=Composition globale -observe.type.setLonglineGlobalCompositions=Compositions globale +observe.type.setLonglineGlobalCompositions=Compositions globales observe.type.setLonglineTdr=Enregisteur observe.type.setLonglineTdrs=Enregisteurs observe.type.setLonglines=Opérations de pêche @@ -218,7 +218,7 @@ observe.type.speciesLists=Listes d'espèces observe.type.speciesStatus=Statut faune observée observe.type.speciesStatuses=Statuts faune observée observe.type.stomacFullness=Niveau de remplissage de l'estomac -observe.type.stomacFullnesses=Niveaus de remplissage de l'estomac +observe.type.stomacFullnesses=Niveaux de remplissage de l'estomac observe.type.surroundingActivities=Activités environnante observe.type.surroundingActivity=Activité environnante observe.type.targetCatch=Capture cible @@ -234,7 +234,7 @@ observe.type.transmittingBuoyOperation=Opération balise observe.type.transmittingBuoyOperations=Opérations balise observe.type.transmittingBuoyType=Type de balise observe.type.transmittingBuoyTypes=Types de balise -observe.type.transmittingBuoys=Balises lue +observe.type.transmittingBuoys=Balises lues observe.type.tripLongline=Marée observe.type.tripLonglineActivities=Activités observe.type.tripLonglineActivity=Activité diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ContentUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ContentUIHandler.java index a009a03..b7a6b2b 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ContentUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ContentUIHandler.java @@ -96,6 +96,7 @@ import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.Locale; +import java.util.Objects; import java.util.Optional; import java.util.Set; @@ -771,6 +772,8 @@ public abstract class ContentUIHandler<E extends IdDto> { if (jcompo.getClientProperty("original") != null) { // on conserve ce component + // on le rend de nouveau visible (il se peut que certains écrans le cache) + jcompo.setEnabled(true); continue; } } @@ -1177,7 +1180,7 @@ public abstract class ContentUIHandler<E extends IdDto> { SpringUtilities.makeCompactGrid(content, isReferential ? 4 : 2, 2, 5, 5, 5, 5); Decorator<E> decorator = getDecoratorService().getDecoratorByType(getBeanType()); - + Objects.requireNonNull(decorator, "Cant find decorator of type " + getBeanType()); String title = t("observe.title.technical.informations", "\n" + decorator.toString(bean)); content.setBorder(new TitledBorder(title)); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUIHandler.java index ca3412d..cce0607 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUIHandler.java @@ -23,16 +23,16 @@ package fr.ird.observe.application.swing.ui.content.list; import fr.ird.observe.application.swing.db.ObserveSwingDataSource; import fr.ird.observe.application.swing.db.constants.DataContextType; -import fr.ird.observe.services.dto.AbstractReference; -import fr.ird.observe.services.dto.DataDto; -import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.application.swing.ui.actions.shared.SelectNodeUIAction; import fr.ird.observe.application.swing.ui.content.ContentMode; import fr.ird.observe.application.swing.ui.content.ContentUIHandler; import fr.ird.observe.application.swing.ui.tree.AbstractObserveTreeCellRenderer; import fr.ird.observe.application.swing.ui.tree.ObserveNode; import fr.ird.observe.application.swing.ui.tree.ObserveTreeHelper; +import fr.ird.observe.services.dto.AbstractReference; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.IdDto; import jaxx.runtime.swing.editor.bean.BeanListHeader; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -166,7 +166,14 @@ public abstract class ContentListUIHandler<E extends IdDto, C extends DataDto> e finalizeOpenUI(); } - public void addChild() { + @Override + protected void updateToolbarActions() { + super.updateToolbarActions(); + // on n'a pas les données nécessaires pour afficher les informations techniques + getUi().getShowTechnicalInformations().setEnabled(false); + } + + void addChild() { addChild(getModel().getChildType()); } @@ -175,7 +182,7 @@ public abstract class ContentListUIHandler<E extends IdDto, C extends DataDto> e * * @param event the mouse event fired */ - public void onDataSelected(MouseEvent event) { + void onDataSelected(MouseEvent event) { DataReference<C> selectedData = getUi().getSelectedData(); if (event.getClickCount() > 1) { gotoChild(selectedData); @@ -196,7 +203,7 @@ public abstract class ContentListUIHandler<E extends IdDto, C extends DataDto> e button.putClientProperty(SelectNodeUIAction.NODE, node); } - public <E> List<E> updateList(BeanListHeader<E> list, List<E> data) { + <EE> List<EE> updateList(BeanListHeader<EE> list, List<EE> data) { String message = t(getUi().getEmptyListMessage()); return updateList(list, data, message); } @@ -219,23 +226,23 @@ public abstract class ContentListUIHandler<E extends IdDto, C extends DataDto> e private static final long serialVersionUID = 1L; - protected final transient ListCellRenderer delegate; + private final transient ListCellRenderer delegate; - protected final transient ObserveTreeHelper treeHelper; + private final transient ObserveTreeHelper treeHelper; - protected final AbstractObserveTreeCellRenderer treeRenderer; + private final AbstractObserveTreeCellRenderer treeRenderer; - protected ObserveNode containerNode; + private ThreadLocal<ObserveNode> containerNode = new ThreadLocal<>(); - public EntityListCellRenderer(ListCellRenderer delegate, - ObserveTreeHelper treeHelper) { + EntityListCellRenderer(ListCellRenderer delegate, + ObserveTreeHelper treeHelper) { this.delegate = delegate; this.treeHelper = treeHelper; this.treeRenderer = treeHelper.getTreeCellRenderer(); } public void init() { - containerNode = treeHelper.getSelectedNode(); + containerNode.set(treeHelper.getSelectedNode()); } @Override @@ -255,8 +262,8 @@ public abstract class ContentListUIHandler<E extends IdDto, C extends DataDto> e ); if (value == null || - !(value instanceof AbstractReference) || - containerNode == null) { + !(value instanceof AbstractReference) || + containerNode.get() == null) { // rien de plus a faire return comp; @@ -264,7 +271,7 @@ public abstract class ContentListUIHandler<E extends IdDto, C extends DataDto> e // recuperation du noeud correspondant dans l'arbre ObserveNode node = - treeHelper.findNode(containerNode, ((AbstractReference) value).getId()); + treeHelper.findNode(containerNode.get(), ((AbstractReference) value).getId()); if (node == null) { diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIHandler.java index aafbd7a..1c33032 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIHandler.java @@ -185,7 +185,11 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content public void selectBean(ReferentialReference<E> selectedReference) { - if (selectedReference != null) { + if (selectedReference == null) { + + getModel().setSelectedBean(null); + + } else { Form<E> form = getReferentialService().loadForm(getBeanType(), selectedReference.getId()); getModel().setForm(form); @@ -201,6 +205,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content binder.copy(selectedBean, getBean()); //TODO update data cache + } } diff --git a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties index d5e0dce..21ba5e5 100644 --- a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties +++ b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties @@ -1667,7 +1667,7 @@ observe.title.save.localDB=Sauver la base locale vers une fichier observe.title.save.remoteDB=Sauver la base distante vers un fichier observe.title.show.usage=Listes des utilisations d'un référentiel... observe.title.storage.info=Information sur la source de données -observe.title.technical.informations=Informations techniques du référentiel %1$s +observe.title.technical.informations=Informations techniques de l'objet de type '%1$s' observe.title.unique.key=Clefs métier du référentiel %1$s observe.title.welcome.admin=Observe Administrateur observe.tree.action.collapseAll.tip=Tout grouper -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.