This is an automated email from the git hooks/post-receive script. New commit to branch feature/7610-2 in repository observe. See http://git.codelutin.com/observe.git commit 437751b3f573876eb15ba9b167c5cc2a7fbc1310 Author: Kevin Morin <morin@codelutin.com> Date: Fri Oct 16 16:32:58 2015 +0200 chargement des données des combo et listes dans les écrans de référentiel (refs #7610) --- .../ui/content/ref/ContentReferenceUIHandler.java | 15 +-- .../ref/ReferentialContentUIInitializer.java | 104 +++++++++++++++++++++ 2 files changed, 105 insertions(+), 14 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 a007745..693bc2e 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 @@ -439,7 +439,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content } }); - fillListWithReferentials(); + uiInitializer.referentialDataUpdated(); // UIHelper.getLayer(ui.getEditKeyTable()).setUI(ui.getEditKeyTableLayerUI()); } @@ -871,19 +871,6 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content ContentReferenceUI.LIST_VIEW; } - protected void fillListWithReferentials() { - ReferenceSetDto referentialReferenceSet = getReferentialService().getReferentialReferenceSet(getBeanType()); - List<ReferenceDto> data = new ArrayList<>(referentialReferenceSet.getReference()); - - Decorator<ReferenceDto> decorator = ObserveSwingApplicationContext.get().getDecorator(ReferenceDto.class, - getBeanType().getSimpleName()); - DecoratorUtil.sort((JXPathDecorator<ReferenceDto>) decorator, data, 0); - - BeanListHeader list = getUi().getListHeader(); - list.setData(data); - list.putClientProperty("data", data); - } - protected ReferentialService getReferentialService() { return ObserveSwingApplicationContext.get().newService(ReferentialService.class); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ReferentialContentUIInitializer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ReferentialContentUIInitializer.java index e56f645..a601fbb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ReferentialContentUIInitializer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ReferentialContentUIInitializer.java @@ -22,10 +22,27 @@ package fr.ird.observe.ui.content.ref; * #L% */ +import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.content.ContentUIInitializer; +import fr.ird.observe.ui.content.ObserveContentUI; +import jaxx.runtime.swing.editor.bean.BeanComboBox; +import jaxx.runtime.swing.editor.bean.BeanListHeader; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.decorator.Decorator; +import org.nuiton.decorator.DecoratorUtil; +import org.nuiton.decorator.JXPathDecorator; +import org.nuiton.jaxx.widgets.select.FilterableDoubleList; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.LinkedHashSet; +import java.util.List; /** * Created on 11/28/14. @@ -51,4 +68,91 @@ public class ReferentialContentUIInitializer<E extends ReferentialDto, UI extend ui.getEditKeyTableLayerUI().setAcceptedComponentNames(doNotBlockComponentIds); } + + + @Override + protected <E1 extends IdDto> void updateData(BeanComboBox comboBox) { + ObserveSwingApplicationContext context = ObserveSwingApplicationContext.get(); + + // init combobox + Class<? extends ReferentialDto> dtoClass = + (Class<? extends ReferentialDto>) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); + + Boolean noLoad = (Boolean) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_NO_LOAD); + + List<ReferenceDto> data; + + if (noLoad != null && noLoad) { + + if (log.isInfoEnabled()) { + log.info("Skip loading of entity list [" + dtoClass.getName() + "] (listNoLoad property found)"); + } + data = Collections.emptyList(); + + } else { + + data = new ArrayList<>(); + + // get complete data list from service + ReferentialService service = ObserveSwingApplicationContext.get().newService(ReferentialService.class); + ReferenceSetDto referentialReferenceSet = service.getReferentialReferenceSet(dtoClass); + LinkedHashSet<ReferenceDto> reference = referentialReferenceSet.getReference(); + + data.addAll(reference); + + } + + if (log.isInfoEnabled()) { + log.info("entity list [" + dtoClass.getName() + "] : " + data.size()); + } + + comboBox.setData(data); + } + + @Override + protected <E1 extends IdDto> void updateData(BeanListHeader list) { + + Class<? extends ReferentialDto> dtoClass = + (Class<? extends ReferentialDto>) list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); + + ReferentialService service = ObserveSwingApplicationContext.get().newService(ReferentialService.class); + ReferenceSetDto referentialReferenceSet = service.getReferentialReferenceSet(dtoClass); + + List<ReferenceDto> data = new ArrayList<>(referentialReferenceSet.getReference()); + + Decorator<ReferenceDto> decorator = ObserveSwingApplicationContext.get().getDecorator(ReferenceDto.class, + dtoClass.getSimpleName()); + DecoratorUtil.sort((JXPathDecorator<ReferenceDto>) decorator, data, 0); + + list.setData(data); + list.putClientProperty("data", data); + } + + @Override + protected <E1 extends IdDto> void updateData(FilterableDoubleList list) { + Class<? extends ReferentialDto> dtoClass = + (Class<? extends ReferentialDto>) list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); + List<ReferenceDto> data; + + if (ReferentialDto.class.isAssignableFrom(dtoClass)) { + + ReferentialService service = ObserveSwingApplicationContext.get().newService(ReferentialService.class); + ReferenceSetDto referentialReferenceSet = service.getReferentialReferenceSet(dtoClass); + + data = new ArrayList<>(referentialReferenceSet.getReference()); + + } else { + + data = new ArrayList<>(); + + } + + // sort data from first decorator context + ObserveSwingApplicationContext tx = ObserveSwingApplicationContext.get(); + Decorator<ReferenceDto> decorator = tx.getDecorator(ReferenceDto.class, dtoClass.getSimpleName()); + DecoratorUtil.sort((JXPathDecorator<ReferenceDto>) decorator, data, 0); + + list.setUniverse(data); + list.putClientProperty("data", data); + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.