This is an automated email from the git hooks/post-receive script. New commit to branch feature/7530 in repository observe. See http://git.codelutin.com/observe.git commit c4a0cfda52dce546cfcbc60397449b9af3ea73cb Author: Kevin Morin <morin@codelutin.com> Date: Wed Sep 23 16:31:41 2015 +0200 population des combo et des double listes début de chargement des beans (refs #7530) --- .../java/fr/ird/observe/ui/content/ContentUI.jaxx | 6 +- .../ird/observe/ui/content/ContentUIHandler.java | 226 +++++++-------------- .../observe/ui/content/ContentUIInitializer.java | 203 ++++++------------ .../fr/ird/observe/ui/content/ContentUIModel.java | 17 +- .../ird/observe/ui/content/ObserveContentUI.java | 4 +- .../ui/content/impl/longline/BranchlineUI.jaxx | 15 +- .../content/impl/longline/BranchlineUIHandler.java | 12 ++ .../LonglineDetailCompositionUIHandler.java | 17 +- .../LonglineDetailCompositionUIInitializer.java | 15 +- .../impl/longline/LonglineGlobalCompositionUI.jaxx | 4 +- .../LonglineGlobalCompositionUIHandler.java | 11 + .../ui/content/impl/longline/SetLonglineUI.jaxx | 9 +- .../impl/longline/SetLonglineUIHandler.java | 13 +- .../impl/seine/ActivitySeineObservedSystemUI.css | 2 +- .../impl/seine/ActivitySeineObservedSystemUI.jaxx | 5 +- .../ActivitySeineObservedSystemUIHandler.java | 11 + .../FloatingObjectTransmittingBuoyOperationUI.jaxx | 5 +- ...ngObjectTransmittingBuoyOperationUIHandler.java | 11 + .../ui/content/impl/seine/FloatingObjectUI.jaxx | 7 +- .../impl/seine/FloatingObjectUIHandler.java | 11 + .../observe/ui/content/impl/seine/SetSeineUI.jaxx | 3 +- .../ui/content/impl/seine/SetSeineUIHandler.java | 16 +- .../ui/content/list/ContentListUIModel.java | 4 +- .../ui/content/open/ContentOpenableUIHandler.java | 11 +- .../open/impl/longline/ActivityLonglineUI.jaxx | 5 +- .../content/open/impl/longline/TripLonglineUI.jaxx | 17 +- .../content/open/impl/seine/ActivitySeineUI.jaxx | 17 +- .../ui/content/open/impl/seine/TripSeineUI.jaxx | 15 +- .../ui/content/ref/ContentReferenceUIHandler.java | 27 ++- .../ui/content/ref/ReferenceHomeUIHandler.java | 11 + .../ref/ReferentialContentUIInitializer.java | 26 +-- .../ui/content/ref/impl/GearCaracteristicUI.jaxx | 3 +- .../fr/ird/observe/ui/content/ref/impl/GearUI.css | 2 +- .../fr/ird/observe/ui/content/ref/impl/GearUI.jaxx | 5 +- .../ird/observe/ui/content/ref/impl/HarbourUI.jaxx | 3 +- .../content/ref/impl/LengthWeightParameterUI.jaxx | 7 +- .../observe/ui/content/ref/impl/OrganismUI.jaxx | 3 +- .../ird/observe/ui/content/ref/impl/PersonUI.jaxx | 3 +- .../ird/observe/ui/content/ref/impl/ProgramUI.jaxx | 4 +- .../observe/ui/content/ref/impl/SpeciesListUI.css | 2 +- .../observe/ui/content/ref/impl/SpeciesListUI.jaxx | 4 +- .../ird/observe/ui/content/ref/impl/SpeciesUI.css | 2 +- .../ird/observe/ui/content/ref/impl/SpeciesUI.jaxx | 6 +- .../ird/observe/ui/content/ref/impl/VesselUI.jaxx | 7 +- .../content/ref/impl/seine/WeightCategoryUI.jaxx | 3 +- .../ui/content/table/ContentTableModel.java | 2 +- .../ui/content/table/ContentTableUIHandler.java | 121 ++++++----- .../content/table/ContentTableUIInitializer.java | 11 +- .../ui/content/table/ContentTableUIModel.java | 8 +- .../ui/content/table/ObserveContentTableUI.java | 7 +- .../table/impl/longline/BaitsCompositionUI.jaxx | 5 +- .../impl/longline/BaitsCompositionUIHandler.java | 9 +- .../impl/longline/BranchlinesCompositionUI.jaxx | 5 +- .../longline/BranchlinesCompositionUIHandler.java | 9 +- .../table/impl/longline/CatchLonglineUI.css | 2 +- .../table/impl/longline/CatchLonglineUI.jaxx | 26 +-- .../impl/longline/CatchLonglineUIHandler.java | 11 +- .../content/table/impl/longline/EncounterUI.jaxx | 5 +- .../table/impl/longline/EncounterUIHandler.java | 9 +- .../impl/longline/FloatlinesCompositionUI.jaxx | 3 +- .../longline/FloatlinesCompositionUIHandler.java | 9 +- .../impl/longline/GearUseFeaturesLonglineUI.jaxx | 3 +- .../longline/GearUseFeaturesLonglineUIHandler.java | 9 +- .../table/impl/longline/HooksCompositionUI.jaxx | 5 +- .../impl/longline/HooksCompositionUIHandler.java | 9 +- .../content/table/impl/longline/SensorUsedUI.jaxx | 7 +- .../table/impl/longline/SensorUsedUIHandler.java | 11 +- .../ui/content/table/impl/longline/TdrUI.css | 2 +- .../ui/content/table/impl/longline/TdrUI.jaxx | 16 +- .../content/table/impl/longline/TdrUIHandler.java | 9 +- .../table/impl/seine/GearUseFeaturesSeineUI.jaxx | 3 +- .../impl/seine/GearUseFeaturesSeineUIHandler.java | 9 +- .../content/table/impl/seine/NonTargetCatchUI.jaxx | 7 +- .../table/impl/seine/NonTargetCatchUIHandler.java | 9 +- .../table/impl/seine/NonTargetSampleUI.jaxx | 5 +- .../table/impl/seine/NonTargetSampleUIHandler.java | 23 +-- .../table/impl/seine/ObjectObservedSpeciesUI.jaxx | 5 +- .../impl/seine/ObjectObservedSpeciesUIHandler.java | 24 ++- .../table/impl/seine/ObjectSchoolEstimateUI.jaxx | 3 +- .../impl/seine/ObjectSchoolEstimateUIHandler.java | 9 +- .../content/table/impl/seine/SchoolEstimateUI.jaxx | 3 +- .../table/impl/seine/SchoolEstimateUIHandler.java | 9 +- .../ui/content/table/impl/seine/TargetCatchUI.jaxx | 5 +- .../table/impl/seine/TargetCatchUIHandler.java | 27 ++- .../table/impl/seine/TargetDiscardCatchUI.jaxx | 7 +- .../impl/seine/TargetDiscardCatchUIHandler.java | 71 ++++--- .../content/table/impl/seine/TargetSampleUI.jaxx | 3 +- .../table/impl/seine/TargetSampleUIHandler.java | 15 +- .../fr/ird/observe/services/dto/ReferenceDtos.java | 37 ++++ .../services/dto/referential/ReferentialDtos.java | 64 ++++++ 90 files changed, 776 insertions(+), 685 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUI.jaxx index 90dfd90..45d4fbd 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUI.jaxx @@ -21,7 +21,7 @@ --> <org.jdesktop.swingx.JXTitledPanel - abstract='true' genericType='E extends AbstractObserveDto' implements="fr.ird.observe.ui.content.ObserveContentUI<E>" + abstract='true' genericType='E extends IdDto' implements="fr.ird.observe.ui.content.ObserveContentUI<E>" title='{getHandler().updateTitle(getContentTitle())}' contentContainer='{contentContainer}' leftDecoration='{titleLeft}' @@ -42,7 +42,7 @@ fr.ird.observe.ui.actions.shared.GoDownUIAction fr.ird.observe.ui.tree.ObserveTreeHelper - fr.ird.observe.services.dto.AbstractObserveDto + fr.ird.observe.services.dto.IdDto org.jdesktop.jxlayer.JXLayer @@ -76,7 +76,7 @@ <ContentUIHandler id='handler' genericType='E' initializer='ContentUIHandler.newHandler(this)'/> - <AbstractObserveDto id='bean' initializer='model.getBean()'/> + <IdDto id='bean' initializer='model.getBean()'/> <!-- icon of the content --> <Icon id='contentIcon' javaBean='null'/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java index d79ad54..a6bb8ba 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java @@ -23,6 +23,9 @@ package fr.ird.observe.ui.content; import fr.ird.observe.ObserveContext; import fr.ird.observe.business.BinderService; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.IdDtos; +import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.business.ObserveServiceHelper; import fr.ird.observe.business.ObserveTechnicalException; @@ -66,24 +69,13 @@ import static org.nuiton.i18n.I18n.t; * @author Tony Chemit - chemit@codelutin.com * @since 1.4 */ -public abstract class ContentUIHandler<E extends AbstractObserveDto> { +public abstract class ContentUIHandler<E extends IdDto> { /** Logger */ static private final Log log = LogFactory.getLog(ContentUIHandler.class); protected final String prefix; - //FIXME -// private final TopiaExecutor<E> loadExecutor; -// -// private final TopiaExecutor2<? extends TopiaEntity, E> preCreateExecutor; -// -// private final TopiaExecutor2<? extends TopiaEntity, E> createExecutor; -// -// private final TopiaExecutor2<? extends TopiaEntity, E> updateExecutor; -// -// private final TopiaExecutor2<? extends TopiaEntity, E> deleteExecutor; - private final DataContextType parentType; private final DataContextType type; @@ -101,46 +93,11 @@ public abstract class ContentUIHandler<E extends AbstractObserveDto> { if (log.isDebugEnabled()) { log.debug("New handler [" + this + "] for ui " + prefix); } - //FIXME -// loadExecutor = new TopiaExecutor<E>() { -// @Override -// public void execute(TopiaContext tx, E bean) throws TopiaException { -// onLoad(tx, bean); -// } -// }; - //FIXME -// preCreateExecutor = new TopiaExecutor2<TopiaEntity, E>() { -// @Override -// public E execute(TopiaContext tx, TopiaEntity parentBean, E bean) throws TopiaException { -// return onPreCreate(tx, parentBean, bean); -// } -// }; - //FIXME -// createExecutor = new TopiaExecutor2<TopiaEntity, E>() { -// @Override -// public E execute(TopiaContext tx, TopiaEntity parentBean, E bean) throws TopiaException { -// return onCreate(tx, parentBean, bean); -// } -// }; - //FIXME -// updateExecutor = new TopiaExecutor2<TopiaEntity, E>() { -// @Override -// public E execute(TopiaContext tx, TopiaEntity parentBean, E bean) throws TopiaException { -// return onUpdate(tx, parentBean, bean); -// } -// }; - //FIXME -// deleteExecutor = new TopiaExecutor2<TopiaEntity, E>() { -// @Override -// public E execute(TopiaContext tx, TopiaEntity parentBean, E beanToDelete) throws TopiaException { -// onDelete(tx, parentBean, beanToDelete); -// return null; -// } -// }; + errorIcon = UIManager.getIcon("action.error"); } - public static <E extends AbstractObserveDto> ContentUIHandler<E> newHandler(ObserveContentUI<E> ui) { + public static <E extends IdDto> ContentUIHandler<E> newHandler(ObserveContentUI<E> ui) { String uiName = ui.getClass().getName(); String modelName = uiName + "Handler"; @@ -156,10 +113,6 @@ public abstract class ContentUIHandler<E extends AbstractObserveDto> { } } - //FIXME -// protected static void attachTopiaContext(DataSource service, TopiaEntityAbstract entity) { -// DBHelper.attachTopiaContext(service.getRootCtxt(), entity); -// } public static ObserveTreeHelper getTreeHelper(JAXXContext context) { return context.getContextValue(ObserveTreeHelper.class); @@ -354,7 +307,7 @@ public abstract class ContentUIHandler<E extends AbstractObserveDto> { public void initUI() throws Exception { ContentUIInitializer<E, ObserveContentUI<E>> uiInitializer = new ContentUIInitializer<E, ObserveContentUI<E>>(ui); - uiInitializer.initUI(getDataSource()); + uiInitializer.initUI(); } @@ -366,8 +319,7 @@ public abstract class ContentUIHandler<E extends AbstractObserveDto> { //FIXME chemit 20100913 : il vaudrait le faire uniquement lors de l'édition // chaque arrive sur un ecran invalide le cache de validation - //FIXME -// ObserveServiceHelper.getValidationContext().cleanCache(); + ObserveServiceHelper.getValidationContext().cleanCache(); if (log.isDebugEnabled()) { log.debug("ui " + ui.getClass()); @@ -394,18 +346,6 @@ public abstract class ContentUIHandler<E extends AbstractObserveDto> { return icon; } -//FIXME -// protected void onLoad(TopiaContext tx, E bean) throws TopiaException { -// -// // par defaut on charge l'objet de la base dans le bean d'édition -// getLoadBinder().load(bean, getBean(), true); -// } - - //FIXME -// protected E onPreCreate(TopiaContext tx, Object parentBean, E bean) throws TopiaException { -// return bean; -// } - public void startEditUI(String... binding) { E editBean = getBean(); @@ -428,8 +368,7 @@ public abstract class ContentUIHandler<E extends AbstractObserveDto> { } public void stopEditUI() { -//FIXME -// ObserveServiceHelper.getValidationContext().cleanCache(); + ObserveServiceHelper.getValidationContext().cleanCache(); ContentUIModel<E> model = getModel(); @@ -504,31 +443,24 @@ public abstract class ContentUIHandler<E extends AbstractObserveDto> { public final void saveUI(boolean refresh) { boolean ok = false; //FIXME -// try { -// ok = doSave(getBean(), -// getDataService(), -// getDataSource(), -// getLoadBinder() -// ); -// } catch (Exception e) { -// ErrorDialogUI.showError(e); -// if (log.isErrorEnabled()) { -// log.error(e); -// } -// } finally { -// if (ok) { -// afterSave(refresh); -// } -// } + try { + ok = doSave(getBean()); + } catch (Exception e) { + ErrorDialogUI.showError(e); + if (log.isErrorEnabled()) { + log.error(e); + } + } finally { + if (ok) { + afterSave(refresh); + } + } } //FIXME -// protected boolean doSave(E bean, -// DataService dataService, -// DataSource dataSource, -// TopiaEntityBinder<E> binder) throws Exception { -// return false; -// } + protected boolean doSave(E bean) throws Exception { + return false; + } protected void afterSave(boolean refresh) { @@ -572,31 +504,23 @@ public abstract class ContentUIHandler<E extends AbstractObserveDto> { boolean ok = false; ui.stopEdit(); removeAllMessages(ui); - //FIXME -// try { -// ok = doDelete(getBean(), -// getDataService(), -// getDataSource(), -// getDeleteExecutor()); -// } catch (Exception e) { -// ErrorDialogUI.showError(e); -// if (log.isErrorEnabled()) { -// log.error(e); -// } -// } finally { -// if (ok) { -// afterDelete(); -// } -// } + try { + ok = doDelete(getBean()); + } catch (Exception e) { + ErrorDialogUI.showError(e); + if (log.isErrorEnabled()) { + log.error(e); + } + } finally { + if (ok) { + afterDelete(); + } + } } -//FIXME -// protected boolean doDelete(E bean, -// DataService dataService, -// DataSource dataSource, -// TopiaExecutor2<? extends TopiaEntity, E> deletor) throws Exception { -// return false; -// } + protected boolean doDelete(E bean) throws Exception { + return false; + } protected boolean askToDelete(E bean) { boolean accept = @@ -667,19 +591,18 @@ public abstract class ContentUIHandler<E extends AbstractObserveDto> { } } - //FIXME -// protected E onCreate(TopiaContext tx, Object parentBean, E editBean) throws TopiaException { -// return editBean; -// } -// -// protected E onUpdate(TopiaContext tx, Object parentBean, E beanToSave) throws TopiaException { -// // rien par defaut -// return beanToSave; -// } -// -// protected void onDelete(TopiaContext tx, Object parentBean, E beanToDelete) throws TopiaException { -// // rien par defaut -// } + protected E onCreate(Object parentBean, E editBean) { + return editBean; + } + + protected E onUpdate(Object parentBean, E beanToSave) { + // rien par defaut + return beanToSave; + } + + protected void onDelete(Object parentBean, E beanToDelete) { + // rien par defaut + } protected void addInfoMessage(String message) { addMessage(ui, @@ -705,31 +628,6 @@ public abstract class ContentUIHandler<E extends AbstractObserveDto> { // return getModel().getLoadBinder(); // } - //FIXME -// protected final TopiaExecutor<E> getLoadExecutor() { -// return loadExecutor; -// } - - //FIXME -// protected final TopiaExecutor2<? extends TopiaEntity, E> getPreCreateExecutor() { -// return preCreateExecutor; -// } -// - //FIXME -// protected final TopiaExecutor2<? extends TopiaEntity, E> getCreateExecutor() { -// return createExecutor; -// } -// - //FIXME -// protected final TopiaExecutor2<? extends TopiaEntity, E> getUpdateExecutor() { -// return updateExecutor; -// } -// - //FIXME -// protected final TopiaExecutor2<? extends TopiaEntity, E> getDeleteExecutor() { -// return deleteExecutor; -// } - protected final ContentMode computeContentMode() { ContentMode mode; @@ -885,4 +783,26 @@ public abstract class ContentUIHandler<E extends AbstractObserveDto> { // } // // } + + //FIXME + protected ReferentialService getReferentialService() { +// ObserveSwingApplicationContext context = ObserveSwingApplicationContext.get(); +// return context.newService(ReferentialService.class); + return null; + } + + protected abstract FormDto<E> loadToEdit(String id); + + protected void loadBean(String id) { + FormDto<E> formDto = loadToEdit(id); + getModel().setFormDto(formDto); + loadBean(formDto.getForm()); + } + + protected void loadBean(E bean) { + IdDtos.copyIdDto(bean, getBean()); + } + + protected abstract FormDto<E> loadToReadDto(String id); + } 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 f829f17..950fe8c 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 @@ -23,15 +23,18 @@ package fr.ird.observe.ui.content; */ import com.google.common.base.Predicate; +import com.google.common.collect.Collections2; import com.google.common.collect.Lists; import fr.ird.observe.ObserveContext; -import fr.ird.observe.business.db.DataSource; import fr.ird.observe.business.db.DataSourceException; import fr.ird.observe.business.validation.ObserveValidator; -import fr.ird.observe.services.dto.AbstractObserveDto; +import fr.ird.observe.services.dto.FormDto; +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.constants.ReferenceStatus; import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialDtos; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.actions.shared.AbstractUIAction; @@ -96,7 +99,7 @@ import static org.nuiton.i18n.I18n.t; * @author Tony Chemit - chemit@codelutin.com * @since 3.7 */ -public class ContentUIInitializer<E extends AbstractObserveDto, UI extends ObserveContentUI<E>> { +public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E>> { public static final String OBSERVE_ACTION = "observeAction"; @@ -115,12 +118,6 @@ public class ContentUIInitializer<E extends AbstractObserveDto, UI extends Obser this.ui = ui; } - //FIXME -// protected static void attachTopiaContext(DataSource service, -// TopiaEntityAbstract entity) { -// DBHelper.attachTopiaContext(service.getRootCtxt(), entity); -// } - public static TableCellEditor newFloatColumnEditor(JTable table) { NumberCellEditor<Float> editor = JAXXWidgetUtil.newNumberTableCellEditor(Float.class, false); @@ -180,7 +177,11 @@ public class ContentUIInitializer<E extends AbstractObserveDto, UI extends Obser } - public void initUI(DataSource dataSource) throws Exception { + protected FormDto<E> getFormDto() { + return ui.getModel().getFormDto(); + } + + public void initUI() throws Exception { if (log.isDebugEnabled()) { log.debug("ui " + getClass()); @@ -190,8 +191,6 @@ public class ContentUIInitializer<E extends AbstractObserveDto, UI extends Obser // initialisation des éditeurs - init(dataSource); - Set<String> doNotBlockComponentIds = new HashSet<String>(); DecoratorService decoratorService = ObserveContext.get().getDecoratorService(); @@ -203,11 +202,6 @@ public class ContentUIInitializer<E extends AbstractObserveDto, UI extends Obser continue; } - if (o instanceof AbstractObserveDto) { - init(dataSource, (AbstractObserveDto) o); - continue; - } - if (o instanceof JComponent) { init((JComponent) o, doNotBlockComponentIds); @@ -228,17 +222,17 @@ public class ContentUIInitializer<E extends AbstractObserveDto, UI extends Obser } if (o instanceof BeanComboBox<?>) { - init(dataSource, (BeanComboBox<?>) o); + init((BeanComboBox<?>) o); continue; } if (o instanceof BeanListHeader<?>) { - init(dataSource, decoratorService, (BeanListHeader<?>) o); + init((BeanListHeader<?>) o); continue; } if (o instanceof FilterableDoubleList<?>) { - init(dataSource, (FilterableDoubleList<?>) o); + init((FilterableDoubleList<?>) o); continue; } @@ -306,24 +300,6 @@ public class ContentUIInitializer<E extends AbstractObserveDto, UI extends Obser ); } - protected void init(DataSource service) throws DataSourceException { - - init(service, (AbstractObserveDto) getBean()); - - } - - protected void init(DataSource service, AbstractObserveDto bean) throws DataSourceException { - - if (bean == null) { - return; - } - if (log.isDebugEnabled()) { - log.debug("init entity " + bean.getClass()); - } - //FIXME -// attachTopiaContext(service, bean); - } - protected void init(ActionMap actionMap, AbstractButton editor) throws DataSourceException { String actionId = (String) editor.getClientProperty(OBSERVE_ACTION); if (actionId == null) { @@ -368,7 +344,7 @@ public class ContentUIInitializer<E extends AbstractObserveDto, UI extends Obser } @SuppressWarnings("unchecked") - protected void init(DataSource dataSource, BeanComboBox beanComboBox) throws DataSourceException { + protected void init(BeanComboBox beanComboBox) throws DataSourceException { Class<ReferentialDto> klass = (Class<ReferentialDto>) beanComboBox.getHandler().getBeanType(); if (log.isDebugEnabled()) { @@ -376,11 +352,11 @@ public class ContentUIInitializer<E extends AbstractObserveDto, UI extends Obser } beanComboBox.setI18nPrefix("observe.common."); beanComboBox.setMinimumSize(new Dimension(0, 24)); - prepareBeanComboBox(dataSource, klass, beanComboBox); + prepareBeanComboBox(beanComboBox); } @SuppressWarnings("unchecked") - protected void init(DataSource dataSource, DecoratorService decoratorService, BeanListHeader beanList) throws DataSourceException { + protected void init(BeanListHeader beanList) throws DataSourceException { beanList.setI18nPrefix("observe.common."); @@ -388,18 +364,18 @@ public class ContentUIInitializer<E extends AbstractObserveDto, UI extends Obser log.info("init list for " + beanList.getBeanType()); } - prepareEntityList(dataSource, beanList.getBeanType(), beanList); + prepareEntityList(beanList.getBeanType(), beanList); JList jlist = beanList.getList(); Object init = jlist.getClientProperty("addDecorator"); if (init != null) { - Class<AbstractObserveDto> klass = (Class<AbstractObserveDto>) init; + Class<IdDto> klass = (Class<IdDto>) init; if (log.isDebugEnabled()) { log.debug("addDecorator to list " + jlist.getName()); } - Decorator<AbstractObserveDto> decorator = decoratorService.getDecoratorByType(klass); + Decorator<IdDto> decorator = ObserveContext.get().getDecorator(klass); jlist.putClientProperty("decorator", decorator); } @@ -414,7 +390,7 @@ public class ContentUIInitializer<E extends AbstractObserveDto, UI extends Obser } @SuppressWarnings("unchecked") - protected void init(DataSource dataSource, FilterableDoubleList beanList) throws DataSourceException { + protected void init(FilterableDoubleList beanList) throws DataSourceException { beanList.setI18nPrefix("observe.common."); @@ -422,7 +398,7 @@ public class ContentUIInitializer<E extends AbstractObserveDto, UI extends Obser log.info("init list for " + beanList.getBeanType()); } - prepareEntityList(dataSource, beanList.getBeanType(), beanList); + prepareEntityList(beanList); } @@ -614,49 +590,31 @@ public class ContentUIInitializer<E extends AbstractObserveDto, UI extends Obser * Remplit le modèle d'une liste graphique avec la liste des entités d'un * type donné sur un service de persistance donné. * - * @param storageService le service de persistance à utiliser pour - * récupérer les entités - * @param entityClass le type de l'entité * @param list le component graphique à initialiser * @throws DataSourceException si un problème lors de la récupération * des entités * @since 1.5 */ - protected <E extends AbstractObserveDto, R extends ReferentialDto> - void prepareEntityList(DataSource storageService, - Class<E> entityClass, - FilterableDoubleList<E> list) throws DataSourceException { + protected <E extends IdDto> void prepareEntityList(FilterableDoubleList<ReferenceDto> list) { ObserveContext tx = ObserveContext.get(); + Class<E> dtoClass = (Class<E>) list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); // init list - Decorator<E> decorator = tx.getDecorator(entityClass); + Decorator<ReferenceDto> decorator = tx.getDecorator(ReferenceDto.class, dtoClass.getName()); if (log.isDebugEnabled()) { log.debug("Will use decorator " + decorator); } list.putClientProperty("decorator", decorator); - List<E> data = null; - - // TODO 20150916 kmorin check si ca marche - // sometimes, the list is filled with referenceReferebtialDtos, so we need the real class - Class<R> realEntityClass; - - if (ReferentialReferenceDto.class.isAssignableFrom(entityClass)) { - - realEntityClass = (Class<R>) list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); - if (realEntityClass == null) { - realEntityClass = (Class<R>) entityClass; - } + List<ReferenceDto> data = null; - } else { - realEntityClass = (Class<R>) entityClass; - } + if (ReferentialDto.class.isAssignableFrom(dtoClass)) { - if (ReferentialDto.class.isAssignableFrom(realEntityClass)) { + Predicate<ReferenceDto> predicate = (Predicate<ReferenceDto>) list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_PREDICATE); - Predicate<E> predicate = (Predicate<E>) list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_PREDICATE); - //FIXME + ReferenceSetDto<E> referenceSetDto = getFormDto().getReferenceSetDto(dtoClass); + data = new ArrayList<>(Collections2.filter(referenceSetDto.getReference(), predicate)); // data = tx.getDataService().getList(storageService, realEntityClass, predicate); } else { @@ -664,10 +622,10 @@ public class ContentUIInitializer<E extends AbstractObserveDto, UI extends Obser } // sort data from first decorator context - DecoratorUtil.sort((JXPathDecorator<E>) decorator, data, 0); + DecoratorUtil.sort((JXPathDecorator<ReferenceDto>) decorator, data, 0); // set datas to list and init renderer - list.init((JXPathDecorator<E>) decorator, data, Collections.<E>emptyList()); + list.init((JXPathDecorator<ReferenceDto>) decorator, data, Collections.<ReferenceDto>emptyList()); // get the renderer initialized ListCellRenderer renderer = list.getSelectedList().getCellRenderer(); @@ -678,10 +636,10 @@ public class ContentUIInitializer<E extends AbstractObserveDto, UI extends Obser list.putClientProperty("data", data); - // listen on cache modification - EntityDoubleListPropertyChangeListener<E> listener = - new EntityDoubleListPropertyChangeListener<E>(entityClass, list); //FIXME + // listen on cache modification +// EntityDoubleListPropertyChangeListener<E> listener = +// new EntityDoubleListPropertyChangeListener<E>(entityClass, list); // DataService service = ObserveContext.get().getDataService(); // service.addReferentielPropertyChangeListener(entityClass, listener); } @@ -690,17 +648,14 @@ public class ContentUIInitializer<E extends AbstractObserveDto, UI extends Obser * Remplit le modèle d'une liste graphique avec la liste des entités d'un * type donné sur un service de persistance donné. * - * @param storageService le service de persistance à utiliser pour - * récupérer les entités * @param entityClass le type de l'entité * @param list le component graphique à initialiser * @throws DataSourceException si un problème lors de la récupération * des entités * @since 1.5 */ - protected <E extends AbstractObserveDto> void prepareEntityList(DataSource storageService, - Class<E> entityClass, - BeanListHeader<E> list) throws DataSourceException { + protected <E extends IdDto> void prepareEntityList(Class<E> entityClass, + BeanListHeader<E> list) throws DataSourceException { ObserveContext tx = ObserveContext.get(); @@ -750,49 +705,26 @@ public class ContentUIInitializer<E extends AbstractObserveDto, UI extends Obser * pour un service de persistance donné. * * @param <E> le type de l'entité - * @param storageService le service de persistance à utiliser pour récupérer - * les entités - * @param entityClass le type de l'entité * @param comboBox le component graphique à initialiser * @throws DataSourceException si un pb pendant la récupération des * entités */ - protected <E extends AbstractObserveDto> void prepareBeanComboBox( - DataSource storageService, - Class<E> entityClass, - BeanComboBox<E> comboBox) throws DataSourceException { + protected <E extends IdDto> void prepareBeanComboBox(BeanComboBox<ReferenceDto> comboBox) { ObserveContext context = ObserveContext.get(); // init combobox - Decorator<E> decorator = context.getDecorator(entityClass); - - //FIXME -// DataService service = context.getDataService(); + Class<E> dtoClass = (Class<E>) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); + Decorator<ReferenceDto> decorator = context.getDecorator(ReferenceDto.class, dtoClass.getName()); Boolean noLoad = (Boolean) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_NO_LOAD); - List<E> data = null; - - // TODO 20150916 kmorin check si ca marche - // sometimes, the combo is filled with referenceReferebtialDtos, so we need the real class - Class<? extends AbstractObserveDto> realEntityClass; - - if (ReferentialReferenceDto.class.isAssignableFrom(entityClass)) { - - realEntityClass = (Class<? extends AbstractObserveDto>) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); - if (realEntityClass == null) { - realEntityClass = entityClass; - } - - } else { - realEntityClass = entityClass; - } + List<ReferenceDto> data = null; if (noLoad != null && noLoad) { if (log.isInfoEnabled()) { - log.info("Skip loading of entity list [" + entityClass.getName() + "] (listNoLoad property found)"); + log.info("Skip loading of entity list [" + dtoClass.getName() + "] (listNoLoad property found)"); } data = Collections.emptyList(); @@ -800,30 +732,27 @@ public class ContentUIInitializer<E extends AbstractObserveDto, UI extends Obser } else { // get complete data list from service - Predicate<E> predicate = (Predicate<E>) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_PREDICATE); + Predicate<ReferenceDto> predicate = (Predicate<ReferenceDto>) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_PREDICATE); - //FIXME -// data = service.getList(storageService, realEntityClass, predicate); + ReferenceSetDto<E> referenceSetDto = getFormDto().getReferenceSetDto(dtoClass); + data = new ArrayList<>(Collections2.filter(referenceSetDto.getReference(), predicate)); } - boolean referenceEntity = ReferentialDto.class.isAssignableFrom(realEntityClass); - - if (referenceEntity) { + boolean referentialEntity = ReferentialDto.class.isAssignableFrom(dtoClass); + if (referentialEntity) { //TC-20100208 : on ne veut pas voir les elements du referentiel non actif - //FIXME -// ReferentialDtos.filterReferentielListByStatus((List) data); + ReferentialDtos.filterReferentialListByStatus((List) data); } - if (log.isInfoEnabled()) { - log.info("entity list [" + realEntityClass.getName() + "] : " + data.size()); + log.info("entity list [" + dtoClass.getName() + "] : " + data.size()); } // add data list to combo box - comboBox.init((JXPathDecorator<E>) decorator, data); + comboBox.init((JXPathDecorator<ReferenceDto>) decorator, data); final ListCellRenderer renderer = comboBox.getCombobox().getRenderer(); @@ -850,24 +779,24 @@ public class ContentUIInitializer<E extends AbstractObserveDto, UI extends Obser }; comboBox.getCombobox().setRenderer(toolTipRenderer); if (log.isDebugEnabled()) { - log.debug("combo list [" + realEntityClass.getName() + "] : " + + log.debug("combo list [" + dtoClass.getName() + "] : " + comboBox.getData().size()); } - if (referenceEntity) { + if (referentialEntity) { + //FIXME // listen on cache modification - BeanComboBoxPropertyChangeListener listener = - new BeanComboBoxPropertyChangeListener(realEntityClass, comboBox) { - @Override - public void propertyChange(PropertyChangeEvent evt) { - if (log.isDebugEnabled()) { - log.debug("entity list [" + evt.getPropertyName() + "]"); - } - super.propertyChange(evt); - } - }; - //FIXME +// BeanComboBoxPropertyChangeListener listener = +// new BeanComboBoxPropertyChangeListener(realEntityClass, comboBox) { +// @Override +// public void propertyChange(PropertyChangeEvent evt) { +// if (log.isDebugEnabled()) { +// log.debug("entity list [" + evt.getPropertyName() + "]"); +// } +// super.propertyChange(evt); +// } +// }; // service.addReferentielPropertyChangeListener(entityClass, listener); } @@ -881,7 +810,7 @@ public class ContentUIInitializer<E extends AbstractObserveDto, UI extends Obser * @param <E> le type des entités */ protected static class EntityListPropertyChangeListener - <E extends AbstractObserveDto> implements PropertyChangeListener { + <E extends IdDto> implements PropertyChangeListener { /** le type des entités */ private Class<E> entityClass; @@ -929,7 +858,7 @@ public class ContentUIInitializer<E extends AbstractObserveDto, UI extends Obser * @param <E> le type des entités */ protected static class EntityDoubleListPropertyChangeListener - <E extends AbstractObserveDto> implements PropertyChangeListener { + <E extends IdDto> implements PropertyChangeListener { /** le type des entités */ private Class<E> entityClass; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java index 439e079..163ae28 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java @@ -23,7 +23,8 @@ package fr.ird.observe.ui.content; import fr.ird.observe.business.BinderService; import fr.ird.observe.business.ObserveTechnicalException; -import fr.ird.observe.services.dto.AbstractObserveDto; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.IdDto; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdesktop.beans.AbstractSerializableBean; @@ -35,7 +36,7 @@ import org.nuiton.util.beans.BinderModelBuilder; * @author Tony Chemit - chemit@codelutin.com * @since 1.4 */ -public abstract class ContentUIModel<E extends AbstractObserveDto> extends AbstractSerializableBean { +public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializableBean { public static final String PROPERTY_EDIT_BEAN = "editBean"; @@ -69,6 +70,8 @@ public abstract class ContentUIModel<E extends AbstractObserveDto> extends Abstr //FIXME // protected TopiaEntityBinder<E> loadBinder; + protected FormDto<E> formDto; + protected E bean; protected ContentMode mode = ContentMode.READ; @@ -102,7 +105,7 @@ public abstract class ContentUIModel<E extends AbstractObserveDto> extends Abstr } - public static <E extends AbstractObserveDto> ContentUIModel<E> newModel(ObserveContentUI<E> ui) { + public static <E extends IdDto> ContentUIModel<E> newModel(ObserveContentUI<E> ui) { String uiName = ui.getClass().getName(); String modelName = uiName + "Model"; @@ -158,6 +161,14 @@ public abstract class ContentUIModel<E extends AbstractObserveDto> extends Abstr firePropertyChange(PROPERTY_EDIT_BEAN, oldValue, bean); } + public FormDto<E> getFormDto() { + return formDto; + } + + public void setFormDto(FormDto<E> formDto) { + this.formDto = formDto; + } + public ContentMode getMode() { return mode; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ObserveContentUI.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ObserveContentUI.java index 0945632..c33bf06 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ObserveContentUI.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ObserveContentUI.java @@ -24,7 +24,7 @@ package fr.ird.observe.ui.content; import fr.ird.observe.business.db.DataContext; import fr.ird.observe.business.db.DataSource; -import fr.ird.observe.services.dto.AbstractObserveDto; +import fr.ird.observe.services.dto.IdDto; import jaxx.runtime.JAXXObject; import jaxx.runtime.swing.BlockingLayerUI; import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel; @@ -37,7 +37,7 @@ import javax.swing.*; * @author Tony Chemit - chemit@codelutin.com * @since XXX */ -public interface ObserveContentUI<E extends AbstractObserveDto> extends JAXXObject { +public interface ObserveContentUI<E extends IdDto> extends JAXXObject { String CLIENT_PROPERTY_LIST_PREDICATE = "listPredicate"; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUI.jaxx index 01d29dd..4572fa9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUI.jaxx @@ -25,6 +25,7 @@ <import> fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.BranchlineDto + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.referential.longline.LineTypeDto fr.ird.observe.services.dto.referential.longline.BaitTypeDto fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto @@ -89,7 +90,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='topTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='topType' constructorParams='this' genericType='LineTypeDto'/> + <BeanComboBox id='topType' constructorParams='this' genericType='ReferenceDto<LineTypeDto>' _entityClass='LineTypeDto.class'/> </cell> </row> @@ -99,7 +100,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='tracelineTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='tracelineType' constructorParams='this' genericType='LineTypeDto'/> + <BeanComboBox id='tracelineType' constructorParams='this' genericType='ReferenceDto<LineTypeDto>' _entityClass='LineTypeDto.class'/> </cell> </row> @@ -179,7 +180,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='HookTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='HookType' constructorParams='this' genericType='HookTypeDto'/> + <BeanComboBox id='HookType' constructorParams='this' genericType='ReferenceDto<HookTypeDto>' _entityClass='HookTypeDto.class'/> </cell> </row> @@ -189,7 +190,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='HookSizeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='HookSize' constructorParams='this' genericType='HookSizeDto'/> + <BeanComboBox id='HookSize' constructorParams='this' genericType='ReferenceDto<HookSizeDto>' _entityClass='HookSizeDto.class'/> </cell> </row> @@ -209,7 +210,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='baitTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='baitType' constructorParams='this' genericType='BaitTypeDto'/> + <BeanComboBox id='baitType' constructorParams='this' genericType='ReferenceDto<BaitTypeDto>' _entityClass='BaitTypeDto.class'/> </cell> </row> @@ -219,7 +220,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='baitSettingStatusLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='baitSettingStatus' constructorParams='this' genericType='BaitSettingStatusDto'/> + <BeanComboBox id='baitSettingStatus' constructorParams='this' genericType='ReferenceDto<BaitSettingStatusDto>' _entityClass='BaitSettingStatusDto.class'/> </cell> </row> @@ -229,7 +230,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='baitHaulingStatusLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='baitHaulingStatus' constructorParams='this' genericType='BaitHaulingStatusDto'/> + <BeanComboBox id='baitHaulingStatus' constructorParams='this' genericType='ReferenceDto<BaitHaulingStatusDto>' _entityClass='BaitHaulingStatusDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUIHandler.java index cd024cf..04ab5e2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUIHandler.java @@ -25,6 +25,7 @@ package fr.ird.observe.ui.content.impl.longline; import fr.ird.observe.business.db.DataContext; import fr.ird.observe.business.db.DataSource; import fr.ird.observe.business.db.constants.DataContextType; +import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.BranchlineDto; import fr.ird.observe.ui.UIHelper; @@ -83,6 +84,7 @@ public class BranchlineUIHandler extends ContentUIHandler<BranchlineDto> { getModel().setBranchline(branchline); //FIXME // getLoadBinder().copy(branchline, getBean()); + loadBean(branchline); if (branchline == null) { @@ -258,6 +260,16 @@ public class BranchlineUIHandler extends ContentUIHandler<BranchlineDto> { } + @Override + protected FormDto<BranchlineDto> loadToEdit(String id) { + return null; + } + + @Override + protected FormDto<BranchlineDto> loadToReadDto(String id) { + return null; + } + public boolean tryToQuit() { boolean canContinue; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java index c4fd323..f4818b0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java @@ -23,12 +23,11 @@ package fr.ird.observe.ui.content.impl.longline; */ import fr.ird.observe.ObserveContext; -import fr.ird.observe.business.ObserveTechnicalException; import fr.ird.observe.business.db.DataContext; import fr.ird.observe.business.db.DataSource; -import fr.ird.observe.business.db.DataSourceException; import fr.ird.observe.business.db.constants.DataContextType; import fr.ird.observe.entities.longline.SectionTemplate; +import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; @@ -54,10 +53,8 @@ import javax.swing.event.TableModelListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.ArrayList; -import java.util.Collections; import java.util.LinkedHashSet; import java.util.List; -import java.util.Map; import static org.nuiton.i18n.I18n.t; @@ -313,7 +310,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong this.branchlineDecorator = getDecoratorService().getDecoratorByType(BranchlineDto.class); LonglineDetailCompositionUIInitializer uiInitializer = new LonglineDetailCompositionUIInitializer(getUi()); - uiInitializer.initUI(getDataSource()); + uiInitializer.initUI(); LonglineDetailCompositionUI ui1 = getUi(); @@ -477,6 +474,16 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong } + @Override + protected FormDto<SetLonglineDto> loadToEdit(String id) { + return null; + } + + @Override + protected FormDto<SetLonglineDto> loadToReadDto(String id) { + return null; + } + //FIXME // @Override // protected boolean doSave(SetLonglineDto bean, diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIInitializer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIInitializer.java index 47a23bb..2262b7d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIInitializer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIInitializer.java @@ -22,10 +22,9 @@ package fr.ird.observe.ui.content.impl.longline; * #L% */ -import fr.ird.observe.ui.DecoratorService; -import fr.ird.observe.business.db.DataSource; import fr.ird.observe.entities.longline.SectionTemplate; import fr.ird.observe.services.dto.longline.SetLonglineDto; +import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.ContentUIInitializer; import fr.ird.observe.ui.util.table.AutotSelectRowAndShowPopupActionSupport; @@ -33,13 +32,9 @@ import fr.ird.observe.ui.util.table.EditableTableModelSupport; import org.jdesktop.swingx.autocomplete.ComboBoxCellEditor; import org.nuiton.decorator.Decorator; -import javax.swing.JComboBox; -import javax.swing.JPopupMenu; -import javax.swing.JScrollPane; -import javax.swing.JTable; -import javax.swing.ListSelectionModel; +import javax.swing.*; import javax.swing.table.TableCellRenderer; -import java.awt.Container; +import java.awt.*; import java.io.Serializable; import java.util.Collections; @@ -58,8 +53,8 @@ public class LonglineDetailCompositionUIInitializer extends ContentUIInitializer } @Override - public void initUI(DataSource dataSource) throws Exception { - super.initUI(dataSource); + public void initUI() throws Exception { + super.initUI(); LonglineDetailCompositionUIModel model = ui.getModel(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.jaxx index 586b563..6c7f492 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.jaxx @@ -25,6 +25,7 @@ <import> fr.ird.observe.ObserveContext + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.SetLonglineDto fr.ird.observe.services.dto.referential.longline.MitigationTypeDto @@ -112,7 +113,8 @@ <Table fill='both' constraints='BorderLayout.NORTH'> <row> <cell weighty="1" weightx="1"> - <FilterableDoubleList id='mitigationType' genericType='MitigationTypeDto'/> + <FilterableDoubleList id='mitigationType' + genericType='ReferenceDto<MitigationTypeDto>' _entityClass="MitigationTypeDto.class"/> </cell> </row> </Table> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java index ff2e4c1..cb6f8db 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java @@ -25,6 +25,7 @@ package fr.ird.observe.ui.content.impl.longline; import fr.ird.observe.business.db.DataContext; import fr.ird.observe.business.db.DataSource; import fr.ird.observe.business.db.constants.DataContextType; +import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.ui.content.ContentMode; @@ -219,4 +220,14 @@ public class LonglineGlobalCompositionUIHandler extends ContentUIHandler<SetLong getUi().getHooksCompositionUI().getHandler().afterSave(refresh); getUi().getBaitsCompositionUI().getHandler().afterSave(refresh); } + + @Override + protected FormDto<SetLonglineDto> loadToEdit(String id) { + return null; + } + + @Override + protected FormDto<SetLonglineDto> loadToReadDto(String id) { + return null; + } } \ No newline at end of file diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUI.jaxx index 3a9ce2f..76f4dac 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUI.jaxx @@ -23,6 +23,7 @@ <fr.ird.observe.ui.content.ContentUI superGenericType='SetLonglineDto' contentTitle='{n("observe.setLongline.title")}'> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.SetLonglineDto fr.ird.observe.services.dto.referential.longline.SettingShapeDto @@ -171,7 +172,7 @@ <JLabel id='settingShapeLabel'/> </cell> <cell columns="2" fill="both"> - <BeanComboBox id='settingShape' constructorParams='this' genericType='SettingShapeDto'/> + <BeanComboBox id='settingShape' constructorParams='this' genericType='ReferenceDto<SettingShapeDto>' _entityClass='SettingShapeDto.class'/> </cell> </row> <!-- line type --> @@ -180,7 +181,7 @@ <JLabel id='lineTypeLabel'/> </cell> <cell columns="2"> - <BeanComboBox id='lineType' constructorParams='this' genericType='LineTypeDto'/> + <BeanComboBox id='lineType' constructorParams='this' genericType='ReferenceDto<LineTypeDto>' _entityClass='LineTypeDto.class'/> </cell> </row> @@ -190,7 +191,7 @@ <JLabel id='lightsticksTypeLabel'/> </cell> <cell columns="2"> - <BeanComboBox id='lightsticksType' constructorParams='this' genericType='LightsticksTypeDto'/> + <BeanComboBox id='lightsticksType' constructorParams='this' genericType='ReferenceDto<LightsticksTypeDto>' _entityClass='LightsticksTypeDto.class'/> </cell> </row> @@ -200,7 +201,7 @@ <JLabel id='lightsticksColorLabel'/> </cell> <cell columns="2"> - <BeanComboBox id='lightsticksColor' constructorParams='this' genericType='LightsticksColorDto'/> + <BeanComboBox id='lightsticksColor' constructorParams='this' genericType='ReferenceDto<LightsticksColorDto>' _entityClass='LightsticksColorDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java index b67e6a7..d5ded97 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java @@ -25,6 +25,7 @@ package fr.ird.observe.ui.content.impl.longline; import fr.ird.observe.business.db.DataContext; import fr.ird.observe.business.db.DataSource; import fr.ird.observe.business.db.constants.DataContextType; +import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.ui.content.ContentMode; @@ -36,7 +37,6 @@ import jaxx.runtime.swing.HidorButton; import jaxx.runtime.validator.swing.SwingValidatorMessage; import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel; import jaxx.runtime.validator.swing.SwingValidatorUtil; -import org.apache.commons.lang3.time.DateUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.jaxx.widgets.gis.CoordinateFormat; @@ -47,7 +47,6 @@ import javax.swing.event.TableModelEvent; import javax.swing.event.TableModelListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.util.Date; import java.util.HashSet; import java.util.Set; @@ -289,6 +288,16 @@ public class SetLonglineUIHandler extends ContentUIHandler<SetLonglineDto> { } + @Override + protected FormDto<SetLonglineDto> loadToEdit(String id) { + return null; + } + + @Override + protected FormDto<SetLonglineDto> loadToReadDto(String id) { + return null; + } + //FIXME // @Override // protected SetLongline onPreCreate(TopiaContext tx, diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.css index a316ac4..0be8c63 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.css @@ -35,7 +35,7 @@ #observedSystem { bean:{bean}; property: {ActivitySeineObservedSystemDto.PROPERTY_OBSERVED_SYSTEM}; - selected:{bean.getObservedSystem()}; + selected:{ReferenceDtos.castToCollectionOfReferenceDto(bean.getObservedSystem())}; _validatorLabel: {t("observe.common.observedSystem")}; showListLabel: true; universeLabel:{t("observe.activityObservedSystem.availableObservedSystem")}; 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 347a95d..819ada2 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 @@ -23,7 +23,8 @@ <fr.ird.observe.ui.content.ContentUI superGenericType='ActivitySeineObservedSystemDto' contentTitle='{n("observe.activitySeineObservedSystem.title")}'> <import> - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.ReferenceDto + fr.ird.observe.services.dto.ReferenceDtos fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto fr.ird.observe.services.dto.referential.seine.ObservedSystemDto fr.ird.observe.ui.actions.shared.ResetEditUIAction @@ -72,7 +73,7 @@ <cell columns="2" fill="both" weighty="0.7"> <JScrollPane id='observedSystemPane' onFocusGained='observedSystem.requestFocus()'> <FilterableDoubleList id='observedSystem' - genericType='ReferentialReferenceDto<ObservedSystemDto>' + genericType='ReferenceDto<ObservedSystemDto>' _entityClass='ObservedSystemDto.class'/> </JScrollPane> </cell> 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 fa39ae2..07434b3 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 @@ -24,6 +24,7 @@ package fr.ird.observe.ui.content.impl.seine; import fr.ird.observe.business.db.DataContext; import fr.ird.observe.business.db.DataSource; import fr.ird.observe.business.db.constants.DataContextType; +import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIHandler; @@ -98,6 +99,16 @@ public class ActivitySeineObservedSystemUIHandler extends ContentUIHandler<Activ super.startEditUI(binding); } + @Override + protected FormDto<ActivitySeineObservedSystemDto> loadToEdit(String id) { + return null; + } + + @Override + protected FormDto<ActivitySeineObservedSystemDto> loadToReadDto(String id) { + return null; + } + //FIXME // @Override // protected boolean doSave(ActivitySeine bean, diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx index 3d25988..fef4675 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx @@ -24,6 +24,7 @@ contentTitle='{n("observe.floatingObjectTransmittingBuoyOperation.title")}'> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.seine.FloatingObjectDto fr.ird.observe.services.dto.seine.TransmittingBuoyDto fr.ird.observe.services.dto.constants.seine.Ownership @@ -172,7 +173,7 @@ <JLabel id='country1Label'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='country1' constructorParams='this' genericType='CountryDto'/> + <BeanComboBox id='country1' constructorParams='this' genericType='ReferenceDto<CountryDto>' _entityClass='CountryDto.class'/> </cell> </row> <row> @@ -231,7 +232,7 @@ <JLabel id='country2Label'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='country2' constructorParams='this' genericType='CountryDto'/> + <BeanComboBox id='country2' constructorParams='this' genericType='ReferenceDto<CountryDto>' _entityClass='CountryDto.class'/> </cell> </row> <row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java index 531d780..5e24206 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java @@ -24,6 +24,7 @@ package fr.ird.observe.ui.content.impl.seine; import fr.ird.observe.business.db.DataContext; import fr.ird.observe.business.db.DataSource; import fr.ird.observe.business.db.constants.DataContextType; +import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.constants.seine.Ownership; import fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation; import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; @@ -302,6 +303,16 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH resetEditUI(); } + @Override + protected FormDto<FloatingObjectDto> loadToEdit(String id) { + return null; + } + + @Override + protected FormDto<FloatingObjectDto> loadToReadDto(String id) { + return null; + } + protected void changeTypeOperation(TypeTransmittingBuoyOperation typeOperation, boolean reset) { FloatingObjectTransmittingBuoyOperationUI ui = getUi(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUI.jaxx index 11c8416..96942fc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUI.jaxx @@ -23,6 +23,7 @@ <fr.ird.observe.ui.content.ContentUI superGenericType='FloatingObjectDto' contentTitle='{n("observe.floatingObject.title")}'> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.seine.FloatingObjectDto fr.ird.observe.services.dto.referential.seine.ObjectFateDto fr.ird.observe.services.dto.referential.seine.ObjectOperationDto @@ -63,7 +64,7 @@ <JLabel id='objectOperationLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='objectOperation' constructorParams='this' genericType='ObjectOperationDto'/> + <BeanComboBox id='objectOperation' constructorParams='this' genericType='ReferenceDto<ObjectOperationDto>' _entityClass='ObjectOperationDto.class'/> </cell> </row> <row> @@ -71,7 +72,7 @@ <JLabel id='objectTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='objectType' constructorParams='this' genericType='ObjectTypeDto'/> + <BeanComboBox id='objectType' constructorParams='this' genericType='ReferenceDto<ObjectTypeDto>' _entityClass='ObjectTypeDto.class'/> </cell> </row> <row> @@ -79,7 +80,7 @@ <JLabel id='objectFateLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='objectFate' constructorParams='this' genericType='ObjectFateDto'/> + <BeanComboBox id='objectFate' constructorParams='this' genericType='ReferenceDto<ObjectFateDto>' _entityClass='ObjectFateDto.class'/> </cell> </row> <row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java index 165703c..dd172d4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java @@ -24,6 +24,7 @@ package fr.ird.observe.ui.content.impl.seine; import fr.ird.observe.business.db.DataContext; import fr.ird.observe.business.db.DataSource; import fr.ird.observe.business.db.constants.DataContextType; +import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.ui.content.ContentMode; @@ -220,6 +221,16 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto> } } + @Override + protected FormDto<FloatingObjectDto> loadToEdit(String id) { + return null; + } + + @Override + protected FormDto<FloatingObjectDto> loadToReadDto(String id) { + return null; + } + //FIXME // @Override // protected boolean doDelete(FloatingObject bean, diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUI.jaxx index 78df990..3f0f532 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUI.jaxx @@ -23,6 +23,7 @@ <fr.ird.observe.ui.content.ContentUI superGenericType='SetSeineDto' contentTitle='{n("observe.setSeine.title")}'> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.SetSeineDto fr.ird.observe.services.dto.referential.seine.ReasonForNullSetDto @@ -92,7 +93,7 @@ <JLabel id='reasonForNullSetLabel'/> </cell> <cell anchor='east' fill='both'> - <BeanComboBox id='reasonForNullSet' genericType='ReasonForNullSetDto' constructorParams='this'/> + <BeanComboBox id='reasonForNullSet' genericType='ReferenceDto<ReasonForNullSetDto>' _entityClass='ReasonForNullSetDto.class' constructorParams='this'/> </cell> </row> <row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java index df0aff6..b1ce26d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java @@ -23,13 +23,11 @@ package fr.ird.observe.ui.content.impl.seine; import fr.ird.observe.business.db.DataContext; import fr.ird.observe.business.db.DataSource; -import fr.ird.observe.business.db.DataSourceException; import fr.ird.observe.business.db.constants.DataContextType; +import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.constants.seine.SchoolType; import fr.ird.observe.services.dto.seine.ActivitySeineDto; -import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.SetSeineDto; -import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIHandler; import fr.ird.observe.ui.content.ContentUIModel; @@ -41,14 +39,12 @@ import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel; import jaxx.runtime.validator.swing.SwingValidatorUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.util.DateUtil; import org.nuiton.validator.NuitonValidatorScope; import javax.swing.event.TableModelEvent; import javax.swing.event.TableModelListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.util.Date; import java.util.HashSet; import java.util.Set; @@ -359,6 +355,16 @@ public class SetSeineUIHandler extends ContentUIHandler<SetSeineDto> { } } + @Override + protected FormDto<SetSeineDto> loadToEdit(String id) { + return null; + } + + @Override + protected FormDto<SetSeineDto> loadToReadDto(String id) { + return null; + } + //FIXME // @Override // protected boolean doDelete(SetSeine bean, diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java index 8dc9dbd..c7cf7a4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java @@ -21,7 +21,7 @@ */ package fr.ird.observe.ui.content.list; -import fr.ird.observe.services.dto.AbstractObserveDto; +import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.ui.content.ContentUIModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -34,7 +34,7 @@ import java.util.List; * @author Tony Chemit - chemit@codelutin.com * @since .14 */ -public abstract class ContentListUIModel<E extends AbstractObserveDto, C extends AbstractObserveDto> extends ContentUIModel<E> { +public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> extends ContentUIModel<E> { public static final String PROPERTY_DATA = "data"; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/ContentOpenableUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/ContentOpenableUIHandler.java index 6b9e413..b2561da 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/ContentOpenableUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/ContentOpenableUIHandler.java @@ -21,9 +21,9 @@ */ package fr.ird.observe.ui.content.open; -import fr.ird.observe.business.ObserveServiceHelper; import fr.ird.observe.business.db.DataSource; import fr.ird.observe.business.db.constants.DataContextType; +import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.OpenableDto; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIHandler; @@ -332,4 +332,13 @@ public abstract class ContentOpenableUIHandler<E extends OpenableDto> extends Co } } + @Override + protected FormDto<E> loadToEdit(String id) { + return null; + } + + @Override + protected FormDto<E> loadToReadDto(String id) { + return null; + } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUI.jaxx index c74688f..3fb80f9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUI.jaxx @@ -26,6 +26,7 @@ <style source="../../../Common.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.ActivityLonglineDto fr.ird.observe.services.dto.longline.SetLonglineDto @@ -94,7 +95,7 @@ <JLabel id='vesselActivityLonglineLabel'/> </cell> <cell anchor='east' fill="both"> - <BeanComboBox id='vesselActivityLongline' genericType='VesselActivityLonglineDto' constructorParams='this'/> + <BeanComboBox id='vesselActivityLongline' genericType='ReferenceDto<VesselActivityLonglineDto>' _entityClass='VesselActivityLonglineDto.class' constructorParams='this'/> </cell> </row> @@ -103,7 +104,7 @@ <JLabel id='fpaZoneLabel'/> </cell> <cell anchor='east' fill="both"> - <BeanComboBox id='fpaZone' genericType='FpaZoneDto' constructorParams='this'/> + <BeanComboBox id='fpaZone' genericType='ReferenceDto<FpaZoneDto>' _entityClass='FpaZoneDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jaxx index 988ca9d..56bd105 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jaxx @@ -26,6 +26,7 @@ <style source="../../../Common.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.TripLonglineDto fr.ird.observe.services.dto.longline.ActivityLonglineDto @@ -93,7 +94,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='tripTypeLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='tripType' constructorParams='this' genericType='TripTypeDto'/> + <BeanComboBox id='tripType' constructorParams='this' genericType='ReferenceDto<TripTypeDto>' _entityClass='TripTypeDto.class'/> </cell> </row> @@ -103,7 +104,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='captainLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='captain' constructorParams='this' genericType='PersonDto'/> + <BeanComboBox id='captain' constructorParams='this' genericType='ReferenceDto<PersonDto>' _entityClass='PersonDto.class'/> </cell> </row> @@ -113,7 +114,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='observerLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='observer' constructorParams='this' genericType='PersonDto'/> + <BeanComboBox id='observer' constructorParams='this' genericType='ReferenceDto<PersonDto>' _entityClass='PersonDto.class'/> </cell> </row> @@ -123,7 +124,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='dataEntryOperatorLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='dataEntryOperator' constructorParams='this' genericType='PersonDto'/> + <BeanComboBox id='dataEntryOperator' constructorParams='this' genericType='ReferenceDto<PersonDto>' _entityClass='PersonDto.class'/> </cell> </row> @@ -133,7 +134,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='vesselLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='vessel' constructorParams='this' genericType='VesselDto'/> + <BeanComboBox id='vessel' constructorParams='this' genericType='ReferenceDto<VesselDto>' _entityClass='VesselDto.class'/> </cell> </row> @@ -143,7 +144,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='oceanLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='ocean' genericType='OceanDto' constructorParams='this'/> + <BeanComboBox id='ocean' genericType='ReferenceDto<OceanDto>' _entityClass='OceanDto.class' constructorParams='this'/> </cell> </row> @@ -153,7 +154,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='departureHarbourLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='departureHarbour' genericType='HarbourDto' constructorParams='this'/> + <BeanComboBox id='departureHarbour' genericType='ReferenceDto<HarbourDto>' _entityClass='HarbourDto.class' constructorParams='this'/> </cell> </row> @@ -163,7 +164,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='landingHarbourLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='landingHarbour' genericType='HarbourDto' constructorParams='this'/> + <BeanComboBox id='landingHarbour' genericType='ReferenceDto<HarbourDto>' _entityClass='HarbourDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUI.jaxx index 88e96cd..1a4cb4a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUI.jaxx @@ -26,6 +26,7 @@ <style source="../../../Common.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.ActivitySeineDto fr.ird.observe.services.dto.seine.SetSeineDto @@ -127,7 +128,7 @@ void $afterCompleteSetup() { <JLabel id='vesselActivitySeineLabel'/> </cell> <cell anchor='east' weightx="1"> - <BeanComboBox id='vesselActivitySeine' genericType='VesselActivitySeineDto' constructorParams='this'/> + <BeanComboBox id='vesselActivitySeine' genericType='ReferenceDto<VesselActivitySeineDto>' _entityClass='VesselActivitySeineDto.class' constructorParams='this'/> </cell> </row> @@ -137,7 +138,7 @@ void $afterCompleteSetup() { <JLabel id='surroundingActivityLabel'/> </cell> <cell anchor='east' weightx="1"> - <BeanComboBox id='surroundingActivity' constructorParams='this' genericType='SurroundingActivityDto'/> + <BeanComboBox id='surroundingActivity' constructorParams='this' genericType='ReferenceDto<SurroundingActivityDto>' _entityClass='SurroundingActivityDto.class'/> </cell> </row> @@ -147,7 +148,7 @@ void $afterCompleteSetup() { <JLabel id='previousFpaZoneLabel'/> </cell> <cell anchor='east' weightx="1"> - <BeanComboBox id='previousFpaZone' constructorParams='this' genericType='FpaZoneDto'/> + <BeanComboBox id='previousFpaZone' constructorParams='this' genericType='ReferenceDto<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> </cell> </row> @@ -157,7 +158,7 @@ void $afterCompleteSetup() { <JLabel id='currentFpaZoneLabel'/> </cell> <cell anchor='east' weightx="1"> - <BeanComboBox id='currentFpaZone' constructorParams='this' genericType='FpaZoneDto'/> + <BeanComboBox id='currentFpaZone' constructorParams='this' genericType='ReferenceDto<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> </cell> </row> @@ -167,7 +168,7 @@ void $afterCompleteSetup() { <JLabel id='nextFpaZoneLabel'/> </cell> <cell anchor='east' weightx="1"> - <BeanComboBox id='nextFpaZone' constructorParams='this' genericType='FpaZoneDto'/> + <BeanComboBox id='nextFpaZone' constructorParams='this' genericType='ReferenceDto<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> </cell> </row> @@ -217,7 +218,7 @@ void $afterCompleteSetup() { <JLabel id='windLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='wind' genericType='WindDto' constructorParams='this'/> + <BeanComboBox id='wind' genericType='ReferenceDto<WindDto>' _entityClass='WindDto.class' constructorParams='this'/> </cell> </row> @@ -227,7 +228,7 @@ void $afterCompleteSetup() { <JLabel id='detectionModeLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='detectionMode' genericType='DetectionModeDto' constructorParams='this'/> + <BeanComboBox id='detectionMode' genericType='ReferenceDto<DetectionModeDto>' _entityClass='DetectionModeDto.class' constructorParams='this'/> </cell> </row> @@ -237,7 +238,7 @@ void $afterCompleteSetup() { <JLabel id='reasonForNoFishingLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='reasonForNoFishing' genericType='ReasonForNoFishingDto' constructorParams='this'/> + <BeanComboBox id='reasonForNoFishing' genericType='ReferenceDto<ReasonForNoFishingDto>' _entityClass='ReasonForNoFishingDto.class' constructorParams='this'/> </cell> </row> <row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.jaxx index b7c7522..f4758a9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.jaxx @@ -24,6 +24,7 @@ contentTitle='{n("observe.tripSeine.title")}'> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.seine.TripSeineDto fr.ird.observe.services.dto.seine.RouteDto fr.ird.observe.services.dto.referential.HarbourDto @@ -88,7 +89,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='captainLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='captain' constructorParams='this' genericType='PersonDto'/> + <BeanComboBox id='captain' constructorParams='this' genericType='ReferenceDto<PersonDto>' _entityClass='PersonDto.class'/> </cell> </row> @@ -98,7 +99,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='observerLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='observer' constructorParams='this' genericType='PersonDto'/> + <BeanComboBox id='observer' constructorParams='this' genericType='ReferenceDto<PersonDto>' _entityClass='PersonDto.class'/> </cell> </row> @@ -108,7 +109,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='dataEntryOperatorLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='dataEntryOperator' constructorParams='this' genericType='PersonDto'/> + <BeanComboBox id='dataEntryOperator' constructorParams='this' genericType='ReferenceDto<PersonDto>' _entityClass='PersonDto.class'/> </cell> </row> @@ -118,7 +119,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='vesselLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='vessel' constructorParams='this' genericType='VesselDto'/> + <BeanComboBox id='vessel' constructorParams='this' genericType='ReferenceDto<VesselDto>' _entityClass='VesselDto.class'/> </cell> </row> @@ -128,7 +129,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='oceanLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='ocean' genericType='OceanDto' constructorParams='this'/> + <BeanComboBox id='ocean' genericType='ReferenceDto<OceanDto>' _entityClass='OceanDto.class' constructorParams='this'/> </cell> </row> @@ -138,7 +139,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='departureHarbourLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='departureHarbour' genericType='HarbourDto' constructorParams='this'/> + <BeanComboBox id='departureHarbour' genericType='ReferenceDto<HarbourDto>' _entityClass='HarbourDto.class' constructorParams='this'/> </cell> </row> @@ -148,7 +149,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='landingHarbourLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='landingHarbour' genericType='HarbourDto' constructorParams='this'/> + <BeanComboBox id='landingHarbour' genericType='ReferenceDto<HarbourDto>' _entityClass='HarbourDto.class' constructorParams='this'/> </cell> </row> 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 28f4c5e..15a2cd8 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 @@ -22,16 +22,18 @@ package fr.ird.observe.ui.content.ref; import fr.ird.observe.ObserveContext; -import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.business.ObserveServiceHelper; import fr.ird.observe.business.db.DataContext; import fr.ird.observe.business.db.DataSource; import fr.ird.observe.business.validation.ValidationContext; +import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.referential.I18nReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.VesselSizeCategoryDto; +import fr.ird.observe.services.service.ReferentialService; +import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIHandler; @@ -171,6 +173,10 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content //FIXME // getLoadBinder().load(selectedBean, getBean(), true); + loadBean(selectedBean); + + //TODO update data cache + } @Override @@ -385,7 +391,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content public void initUI() throws Exception { ReferentialContentUIInitializer<E, ContentReferenceUI<E>> uiInitializer = new ReferentialContentUIInitializer<E, ContentReferenceUI<E>>(getUi()); - uiInitializer.initUI(getDataSource()); + uiInitializer.initUI(); ContentReferenceUI<E> ui = getUi(); @@ -553,6 +559,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content //FIXME // getLoadBinder().load(null, getBean(), true); + loadBean((E) null); // on demarre l'edition ui.startEdit(null); @@ -569,6 +576,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content //FIXME // getLoadBinder().load(model.getSelectedBean(), getBean(), true); + loadBean(model.getSelectedBean()); getUi().startEdit(null); } @@ -611,6 +619,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content // repush selected bean to bean //FIXME // getLoadBinder().load(model.getSelectedBean(), getBean(), true); + loadBean(model.getSelectedBean()); } } @@ -848,4 +857,18 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content ContentReferenceUI.DETAIL_VIEW : ContentReferenceUI.LIST_VIEW; } + + @Override + protected FormDto<E> loadToEdit(String id) { + ReferentialService referentialService = getReferentialService(); + FormDto<E> formDto = referentialService.loadToEdit(getBeanType(), id); + return formDto; + } + + @Override + protected FormDto<E> loadToReadDto(String id) { + ReferentialService referentialService = getReferentialService(); + FormDto<E> formDto = referentialService.loadToRead(getBeanType(), id); + return formDto; + } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ReferenceHomeUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ReferenceHomeUIHandler.java index 381f935..6efb0e4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ReferenceHomeUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ReferenceHomeUIHandler.java @@ -24,6 +24,7 @@ package fr.ird.observe.ui.content.ref; import fr.ird.observe.business.db.DataContext; import fr.ird.observe.business.db.DataSource; +import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIHandler; @@ -50,4 +51,14 @@ public class ReferenceHomeUIHandler extends ContentUIHandler<ProgramDto> { return source.canWriteReferentiel(); } + @Override + protected FormDto<ProgramDto> loadToEdit(String id) { + return null; + } + + @Override + protected FormDto<ProgramDto> loadToReadDto(String id) { + return null; + } + } 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 55145ee..12ed7df 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 @@ -23,12 +23,11 @@ package fr.ird.observe.ui.content.ref; */ import com.google.common.base.Predicate; -import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ObserveContext; -import fr.ird.observe.business.db.DataSource; import fr.ird.observe.business.db.DataSourceException; import fr.ird.observe.services.dto.AbstractObserveDto; import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.content.ContentUIInitializer; import fr.ird.observe.ui.content.ObserveContentUI; import jaxx.runtime.swing.editor.bean.BeanListHeader; @@ -38,8 +37,7 @@ import org.nuiton.decorator.Decorator; import org.nuiton.decorator.DecoratorUtil; import org.nuiton.decorator.JXPathDecorator; -import javax.swing.JList; -import javax.swing.ListCellRenderer; +import javax.swing.*; import java.util.ArrayList; import java.util.List; @@ -62,21 +60,18 @@ public class ReferentialContentUIInitializer<E extends ReferentialDto, UI extend * Remplit le modèle d'une liste graphique avec la liste des entités d'un * type donné sur un service de persistance donné. * - * @param storageService le service de persistance à utiliser pour - * récupérer les entités * @param entityClass le type de l'entité * @param list le component graphique à initialiser * @throws DataSourceException si un problème lors de la récupération * des entités * @since 1.5 */ - public static <E extends AbstractObserveDto> void prepareEntityList(DataSource storageService, - Class<E> entityClass, + public static <E extends AbstractObserveDto> void prepareEntityList(Class<E> entityClass, BeanListHeader<E> list, Object loador //FIXME // TopiaEntityBinder<E> loador - ) throws DataSourceException { + ) { ObserveContext tx = ObserveContext.get(); @@ -114,17 +109,16 @@ public class ReferentialContentUIInitializer<E extends ReferentialDto, UI extend list.putClientProperty("data", data); - // listen on cache modification - EntityListPropertyChangeListener<E> listener = - new EntityListPropertyChangeListener<E>(entityClass, list); //FIXME + // listen on cache modification +// EntityListPropertyChangeListener<E> listener = +// new EntityListPropertyChangeListener<E>(entityClass, list); // DataService service = ObserveContext.get().getDataService(); // service.addReferentielPropertyChangeListener(entityClass, listener); } @SuppressWarnings("unchecked") - protected void init(DataSource service, DecoratorService decoratorService, BeanListHeader beanList) - throws DataSourceException { + protected void init(DecoratorService decoratorService, BeanListHeader beanList) { beanList.setI18nPrefix("observe.common."); @@ -135,11 +129,11 @@ public class ReferentialContentUIInitializer<E extends ReferentialDto, UI extend if ("listHeader".equals(beanList.getName())) { // use the binder for loading - prepareEntityList(service, beanList.getBeanType(), beanList, null);//FIXME ui.getModel().getLoadBinder()); + prepareEntityList(beanList.getBeanType(), beanList, null);//FIXME ui.getModel().getLoadBinder()); } else { - prepareEntityList(service, beanList.getBeanType(), beanList, null); + prepareEntityList(beanList.getBeanType(), beanList, null); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicUI.jaxx index 75a2da5..c17097a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicUI.jaxx @@ -34,6 +34,7 @@ <style source="I18nReferenceEntity.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus fr.ird.observe.services.dto.referential.GearCaracteristicDto fr.ird.observe.services.dto.referential.GearCaracteristicTypeDto @@ -100,7 +101,7 @@ <JLabel id='gearCaracteristicTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='gearCaracteristicType' constructorParams='this' genericType='GearCaracteristicTypeDto'/> + <BeanComboBox id='gearCaracteristicType' constructorParams='this' genericType='ReferenceDto<GearCaracteristicTypeDto>' _entityClass='GearCaracteristicTypeDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.css index a19eb2e..da7961e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.css @@ -41,7 +41,7 @@ #gearCaracteristic { property:{GearDto.PROPERTY_GEAR_CARACTERISTIC}; - selected:{bean.getGearCaracteristic()}; + selected:{ReferenceDtos.castToCollectionOfReferenceDto(bean.getGearCaracteristic())}; _validatorLabel: {t("observe.gear.gearCaracteristic")}; showListLabel: true; universeLabel:{t("observe.gear.availableGearCaracteristic")}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.jaxx index cc8f650..118a82b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.jaxx @@ -34,7 +34,8 @@ <style source="I18nReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.ReferenceDto + fr.ird.observe.services.dto.ReferenceDtos fr.ird.observe.services.dto.constants.ReferenceStatus fr.ird.observe.services.dto.referential.GearDto fr.ird.observe.services.dto.referential.GearCaracteristicDto @@ -179,7 +180,7 @@ <cell weightx="1" weighty="1"> <JScrollPane id='gearCaracteristicPane' layout='{new GridLayout(1,1)}'> <FilterableDoubleList id='gearCaracteristic' - genericType='ReferentialReferenceDto<GearCaracteristicDto>' + genericType='ReferenceDto<GearCaracteristicDto>' _entityClass='GearCaracteristicDto.class'/> </JScrollPane> </cell> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/HarbourUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/HarbourUI.jaxx index 9c3eceb..a7b3cc2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/HarbourUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/HarbourUI.jaxx @@ -35,6 +35,7 @@ <style source="ReferenceEntity.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus fr.ird.observe.services.dto.referential.HarbourDto fr.ird.observe.services.dto.referential.CountryDto @@ -121,7 +122,7 @@ <JLabel id='countryLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='country' constructorParams='this' genericType='CountryDto'/> + <BeanComboBox id='country' constructorParams='this' genericType='ReferenceDto<CountryDto>' _entityClass='CountryDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUI.jaxx index b27613a..7b04232 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUI.jaxx @@ -35,6 +35,7 @@ <style source="ReferenceEntity.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus fr.ird.observe.services.dto.referential.SexDto fr.ird.observe.services.dto.referential.SpeciesDto @@ -103,7 +104,7 @@ public void decorateUniqueKeyTable(JTable table, </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='sex' constructorParams='this' - genericType='SexDto'/> + genericType='ReferenceDto<SexDto>' _entityClass='SexDto.class'/> </cell> </row> @@ -114,7 +115,7 @@ public void decorateUniqueKeyTable(JTable table, </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='species' constructorParams='this' - genericType='SpeciesDto'/> + genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> @@ -125,7 +126,7 @@ public void decorateUniqueKeyTable(JTable table, </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='ocean' constructorParams='this' - genericType='OceanDto'/> + genericType='ReferenceDto<OceanDto>' _entityClass='OceanDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/OrganismUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/OrganismUI.jaxx index aac836e..1208f00 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/OrganismUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/OrganismUI.jaxx @@ -36,6 +36,7 @@ <style source="I18nReferenceEntity.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus fr.ird.observe.services.dto.referential.OrganismDto fr.ird.observe.services.dto.referential.CountryDto @@ -95,7 +96,7 @@ <JLabel id='countryLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='country' constructorParams='this' genericType='CountryDto'/> + <BeanComboBox id='country' constructorParams='this' genericType='ReferenceDto<CountryDto>' _entityClass='CountryDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/PersonUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/PersonUI.jaxx index df0f8e7..7fe68f3 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/PersonUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/PersonUI.jaxx @@ -35,6 +35,7 @@ <style source="ReferenceEntity.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus fr.ird.observe.services.dto.referential.PersonDto fr.ird.observe.services.dto.referential.CountryDto @@ -129,7 +130,7 @@ public void decorateUniqueKeyTable(JTable table, <JLabel id='countryLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='country' constructorParams='this' genericType='CountryDto'/> + <BeanComboBox id='country' constructorParams='this' genericType='ReferenceDto<CountryDto>' _entityClass='CountryDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUI.jaxx index 41721e9..8ada4d8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUI.jaxx @@ -36,6 +36,7 @@ <style source="I18nReferenceEntity.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus fr.ird.observe.services.dto.constants.GearType fr.ird.observe.ui.content.ref.impl.ProgramObservationEnum @@ -106,7 +107,8 @@ <JLabel id='organismLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='organism' constructorParams='this' genericType="OrganismDto"/> + <BeanComboBox id='organism' constructorParams='this' + genericType='ReferenceDto<OrganismDto>' _entityClass='OrganismDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.css index 1915ed9..0f3f1b3 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.css @@ -41,7 +41,7 @@ #species { property: species; - selected:{bean.getSpecies()}; + selected:{ReferenceDtos.castToCollectionOfReferenceDto(bean.getSpecies())}; _validatorLabel: {t("observe.common.species")}; showListLabel: true; universeLabel:{t("observe.speciesList.availableSpecies")}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.jaxx index e89202d..375baf0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.jaxx @@ -35,6 +35,8 @@ <style source="I18nReferenceEntity.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto + fr.ird.observe.services.dto.ReferenceDtos fr.ird.observe.services.dto.referential.ReferentialReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus fr.ird.observe.services.dto.referential.SpeciesListDto @@ -184,7 +186,7 @@ <cell weightx="1" weighty="1"> <JScrollPane id='speciesPane' layout='{new GridLayout(1,1)}'> <FilterableDoubleList id='species' - genericType='ReferentialReferenceDto<SpeciesDto>' + genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> </JScrollPane> </cell> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.css index 96c6334..31c9898 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.css @@ -70,7 +70,7 @@ #ocean { property: ocean; - selected:{bean.getOcean()}; + selected:{ReferenceDtos.castToCollectionOfReferenceDto(bean.getOcean())}; _validatorLabel: {t("observe.common.ocean")}; showListLabel: true; universeLabel:{t("observe.species.availableOcean")}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.jaxx index cca8eba..e8238cc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.jaxx @@ -36,6 +36,8 @@ <style source="I18nReferenceEntity.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto + fr.ird.observe.services.dto.ReferenceDtos fr.ird.observe.services.dto.referential.ReferentialReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus fr.ird.observe.services.dto.referential.SpeciesDto @@ -119,7 +121,7 @@ <JLabel id='speciesGroupLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='speciesGroup' constructorParams='this' genericType='SpeciesGroupDto'/> + <BeanComboBox id='speciesGroup' constructorParams='this' genericType='ReferenceDto<SpeciesGroupDto>' _entityClass='SpeciesGroupDto.class'/> </cell> </row> <!-- needComment --> @@ -260,7 +262,7 @@ <cell weightx="1"> <JScrollPane id='oceanPane' layout='{new GridLayout(1,1)}'> <FilterableDoubleList id='ocean' - genericType='ReferentialReferenceDto<OceanDto>' + genericType='ReferenceDto<OceanDto>' _entityClass='SpeciesDto.class'/> </JScrollPane> </cell> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUI.jaxx index 693adb2..6f1fc68 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUI.jaxx @@ -36,6 +36,7 @@ <style source="I18nReferenceEntity.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus fr.ird.observe.services.dto.referential.VesselDto fr.ird.observe.services.dto.referential.VesselSizeCategoryDto @@ -118,7 +119,7 @@ <JLabel id='vesselTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='vesselType' constructorParams='this' genericType="VesselTypeDto"/> + <BeanComboBox id='vesselType' constructorParams='this' genericType='ReferenceDto<VesselTypeDto>' _entityClass='VesselTypeDto.class'/> </cell> </row> @@ -128,7 +129,7 @@ <JLabel id='vesselSizeCategoryLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='vesselSizeCategory' constructorParams='this' genericType="VesselSizeCategoryDto"/> + <BeanComboBox id='vesselSizeCategory' constructorParams='this' genericType='ReferenceDto<VesselSizeCategoryDto>' _entityClass='VesselSizeCategoryDto.class'/> </cell> </row> @@ -138,7 +139,7 @@ <JLabel id='flagCountryLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='flagCountry' constructorParams='this' genericType="CountryDto"/> + <BeanComboBox id='flagCountry' constructorParams='this' genericType='ReferenceDto<CountryDto>' _entityClass='CountryDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/WeightCategoryUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/WeightCategoryUI.jaxx index cbf8ba3..437700c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/WeightCategoryUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/WeightCategoryUI.jaxx @@ -36,6 +36,7 @@ <style source="../I18nReferenceEntity.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus fr.ird.observe.services.dto.referential.seine.WeightCategoryDto fr.ird.observe.services.dto.referential.SpeciesDto @@ -87,7 +88,7 @@ public void decorateUniqueKeyTable(JTable table, </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='species' constructorParams='this' - genericType='SpeciesDto'/> + genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableModel.java index cd256c5..0445168 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableModel.java @@ -69,7 +69,7 @@ import java.util.List; * @author Tony Chemit - chemit@codelutin.com * @since 1.0 */ -public class ContentTableModel<P extends AbstractObserveDto, B extends IdDto> extends AbstractTableModel { +public class ContentTableModel<P extends IdDto, B extends IdDto> extends AbstractTableModel { /** Le nom de la propriété de la ligne en cours d'édition */ public static final String SELECTED_ROW_PROPERTY = "selectedRow"; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java index 031cef8..d0e2558 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java @@ -21,35 +21,32 @@ */ package fr.ird.observe.ui.content.table; +import com.google.common.collect.Collections2; import fr.ird.observe.ObserveContext; import fr.ird.observe.business.db.DataContext; import fr.ird.observe.business.db.DataSource; -import fr.ird.observe.business.db.DataSourceException; import fr.ird.observe.business.db.constants.DataContextType; -import fr.ird.observe.services.dto.AbstractObserveDto; +import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.referential.SpeciesListDto; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIHandler; import fr.ird.observe.ui.content.ObserveContentUI; import fr.ird.observe.ui.tree.ObserveNode; -import jaxx.runtime.swing.ErrorDialogUI; -import org.apache.commons.collections.CollectionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.validator.NuitonValidatorScope; -import javax.swing.JComponent; -import javax.swing.ListSelectionModel; -import javax.swing.SwingUtilities; +import javax.swing.*; import javax.swing.event.ListSelectionEvent; import javax.swing.table.DefaultTableCellRenderer; -import java.awt.Rectangle; -import java.util.ArrayList; -import java.util.Collection; +import java.awt.*; import java.util.Collections; +import java.util.HashSet; import java.util.List; -import java.util.Map; import java.util.Set; import static org.nuiton.i18n.I18n.n; @@ -61,7 +58,7 @@ import static org.nuiton.i18n.I18n.t; * @author Tony Chemit - chemit@codelutin.com * @since 1.4 */ -public abstract class ContentTableUIHandler<E extends AbstractObserveDto, D extends IdDto> extends ContentUIHandler<E> { +public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> extends ContentUIHandler<E> { /** Logger */ private static Log log = LogFactory.getLog(ContentTableUIHandler.class); @@ -185,34 +182,31 @@ public abstract class ContentTableUIHandler<E extends AbstractObserveDto, D exte protected abstract void initTableUI(DefaultTableCellRenderer renderer); //FIXME -// protected abstract String getEditBeanIdToLoad(DataContext dataContext, -// DataService dataService, -// DataSource dataSource) throws DataSourceException; + protected abstract String getEditBeanIdToLoad(); //FIXME -// protected E loadEditBean(ContentMode mode, -// DataContext dataContext, -// DataService dataService, -// DataSource dataSource) throws DataSourceException { -// -// String id = getEditBeanIdToLoad(dataContext, dataService, dataSource); -// -// if (id == null) { -// throw new IllegalStateException("Could not find id form " + this); -// } -// -// E editBean = getBean(); -// -// // preparation du bean d'édition + protected E loadEditBean(ContentMode mode) { + + String id = getEditBeanIdToLoad(); + + if (id == null) { + throw new IllegalStateException("Could not find id form " + this); + } + + E editBean = getBean(); + + // preparation du bean d'édition + // dataService.loadEditEntity(dataSource, id, getLoadExecutor()); -// -// getModel().setMode(mode); -// -// // initialisation du modèle du tableau -// getUi().getTableModel().attachModel(); -// -// return editBean; -// } + loadBean(id); + + getModel().setMode(mode); + + // initialisation du modèle du tableau + getUi().getTableModel().attachModel(); + + return editBean; + } //FIXME // @Override @@ -254,36 +248,27 @@ public abstract class ContentTableUIHandler<E extends AbstractObserveDto, D exte ContentTableUIInitializer<E, D, ObserveContentTableUI<E, D>> uiInitializer = new ContentTableUIInitializer<E, D, ObserveContentTableUI<E, D>>(getUi()); - uiInitializer.initUI(getDataSource()); + uiInitializer.initUI(); } - public Set<String> loadSpeciesList(String speciesListId, String errorMessage) { - - //FIXME -// Set<String> speciesIds; -// try { -// speciesIds = getDataService().getSpeciesListSpeciesIds(getDataSource(), speciesListId); -// } catch (Exception e) { -// -// UIHelper.displayWarning(t("observe.title.speciesList.not.found"), t(errorMessage)); -// speciesIds = Collections.emptySet(); -// -// } -// return speciesIds; - - return null; - - } +//FIXME + protected void prepareSpeciesList(String speciesListId, JComponent speciesComponent, String errorMessage) { + Set<String> speciesIds; + try { + ReferenceSetDto<SpeciesListDto> speciesList = getModel().getFormDto().getReferenceSetDto(SpeciesListDto.class); + speciesIds = new HashSet<>(Collections2.transform(speciesList.getReference(), + ReferenceDtos.newReferenceDtoIdFunction())); + } catch (Exception e) { + UIHelper.displayWarning(t("observe.title.speciesList.not.found"), t(errorMessage)); + speciesIds = Collections.emptySet(); - protected void prepareSpeciesList(String speciesListId, JComponent speciesComponent, String errorMessage) throws DataSourceException { - Set<String> speciesIds = loadSpeciesList(speciesListId, errorMessage); + } - //FIXME -// speciesComponent.putClientProperty( -// ObserveContentUI.CLIENT_PROPERTY_LIST_PREDICATE, -// Species2.newSpeciesByIdPredicate(speciesIds)); + speciesComponent.putClientProperty( + ObserveContentUI.CLIENT_PROPERTY_LIST_PREDICATE, + ReferenceDtos.newContainsIdPredicate(speciesIds)); } @Override @@ -302,7 +287,7 @@ public abstract class ContentTableUIHandler<E extends AbstractObserveDto, D exte // chargement du bean d'édition //FIXME -// loadEditBean(mode, getDataContext(), getDataService(), getDataSource()); + loadEditBean(mode); boolean canEdit = mode == ContentMode.UPDATE; @@ -480,4 +465,16 @@ public abstract class ContentTableUIHandler<E extends AbstractObserveDto, D exte protected void resetEditBean() { getTableModel().resetEditBean(); } + + //FIXME + @Override + protected FormDto<E> loadToEdit(String id) { + return null; + } + + //FIXME + @Override + protected FormDto<E> loadToReadDto(String id) { + return null; + } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIInitializer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIInitializer.java index 74c8484..df69529 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIInitializer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIInitializer.java @@ -22,9 +22,7 @@ package fr.ird.observe.ui.content.table; * #L% */ -import fr.ird.observe.business.db.DataSource; import fr.ird.observe.business.db.DataSourceException; -import fr.ird.observe.services.dto.AbstractObserveDto; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.ui.content.ContentUIInitializer; import fr.ird.observe.ui.util.BooleanEditor; @@ -53,7 +51,7 @@ import java.beans.PropertyChangeListener; * @author Tony Chemit - chemit@codelutin.com * @since 3.7 */ -public class ContentTableUIInitializer<E extends AbstractObserveDto, D extends IdDto, UI extends ObserveContentTableUI<E, D>> extends ContentUIInitializer<E, UI> { +public class ContentTableUIInitializer<E extends IdDto, D extends IdDto, UI extends ObserveContentTableUI<E, D>> extends ContentUIInitializer<E, UI> { public static final String CLIENT_PROPERTY_TABLE_PROPERTY_NAME = "tablePropertyName"; @@ -79,12 +77,9 @@ public class ContentTableUIInitializer<E extends AbstractObserveDto, D extends I } @Override - public void initUI(DataSource dataSource) throws Exception { + public void initUI() throws Exception { - //FIXME -// attachTopiaContext(dataSource, (TopiaEntityAbstract) getTableEditBean()); - - super.initUI(dataSource); + super.initUI(); ContentTableModel<?, ?> tableModel = ui.getTableModel(); ui.setContextValue(tableModel); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIModel.java index d950547..c904691 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIModel.java @@ -23,7 +23,6 @@ package fr.ird.observe.ui.content.table; import fr.ird.observe.business.BinderService; import fr.ird.observe.business.ObserveTechnicalException; -import fr.ird.observe.services.dto.AbstractObserveDto; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.ui.content.ContentUIModel; import org.apache.commons.lang3.reflect.ConstructorUtils; @@ -32,8 +31,7 @@ import org.apache.commons.logging.LogFactory; import org.nuiton.util.beans.Binder; import org.nuiton.util.beans.BinderModelBuilder; -import javax.swing.DefaultListSelectionModel; -import javax.swing.ListSelectionModel; +import javax.swing.*; import java.util.List; /** @@ -42,7 +40,7 @@ import java.util.List; * @author Tony Chemit - chemit@codelutin.com * @since 1.4 */ -public abstract class ContentTableUIModel<E extends AbstractObserveDto, D extends IdDto> extends ContentUIModel<E> { +public abstract class ContentTableUIModel<E extends IdDto, D extends IdDto> extends ContentUIModel<E> { public static final String PROPERTY_CAN_SAVE_ROW = "canSaveRow"; @@ -102,7 +100,7 @@ public abstract class ContentTableUIModel<E extends AbstractObserveDto, D extend this.selectionModel = new ContentTableListSelectionModel(); } - public static <E extends AbstractObserveDto, D extends IdDto> ContentTableUIModel<E, D> newModel(ObserveContentTableUI<E, D> ui) { + public static <E extends IdDto, D extends IdDto> ContentTableUIModel<E, D> newModel(ObserveContentTableUI<E, D> ui) { String uiName = ui.getClass().getName(); String modelName = uiName + "Model"; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ObserveContentTableUI.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ObserveContentTableUI.java index b291679..1725599 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ObserveContentTableUI.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ObserveContentTableUI.java @@ -22,15 +22,12 @@ package fr.ird.observe.ui.content.table; * #L% */ -import fr.ird.observe.services.dto.AbstractObserveDto; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.ui.content.ObserveContentUI; import jaxx.runtime.swing.BlockingLayerUI; import jaxx.runtime.validator.swing.SwingValidator; -import javax.swing.JComponent; -import javax.swing.JTable; -import javax.swing.ListSelectionModel; +import javax.swing.*; /** * Created on 10/5/14. @@ -38,7 +35,7 @@ import javax.swing.ListSelectionModel; * @author Tony Chemit - chemit@codelutin.com * @since XXX */ -public interface ObserveContentTableUI<E extends AbstractObserveDto, D extends IdDto> extends ObserveContentUI<E> { +public interface ObserveContentTableUI<E extends IdDto, D extends IdDto> extends ObserveContentUI<E> { ContentTableUIHandler<E, D> getHandler(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUI.jaxx index 8e16430..9964763 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUI.jaxx @@ -31,6 +31,7 @@ <style source="../../CommonTable.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.longline.SetLonglineDto fr.ird.observe.services.dto.longline.BaitsCompositionDto fr.ird.observe.services.dto.referential.longline.BaitTypeDto @@ -80,7 +81,7 @@ <JLabel id='baitTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='baitType' constructorParams='this' genericType='BaitTypeDto'/> + <BeanComboBox id='baitType' constructorParams='this' genericType='ReferenceDto<BaitTypeDto>' _entityClass='BaitTypeDto.class'/> </cell> </row> @@ -90,7 +91,7 @@ <JLabel id='baitSettingStatusLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='baitSettingStatus' constructorParams='this' genericType='BaitSettingStatusDto'/> + <BeanComboBox id='baitSettingStatus' constructorParams='this' genericType='ReferenceDto<BaitSettingStatusDto>' _entityClass='BaitSettingStatusDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUIHandler.java index 465fc27..9cc96bb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUIHandler.java @@ -107,11 +107,10 @@ public class BaitsCompositionUIHandler extends ContentTableUIHandler<SetLongline } - //FIXME -// @Override -// protected String getEditBeanIdToLoad(DataContext dataContext, DataService dataService, DataSource dataSource) { -// return dataContext.getSelectedSetId(); -// } + @Override + protected String getEditBeanIdToLoad() { + return getDataContext().getSelectedSetId(); + } //FIXME // @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUI.jaxx index 9e4cc79..6624b7f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUI.jaxx @@ -31,6 +31,7 @@ <style source="../../CommonTable.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.longline.SetLonglineDto fr.ird.observe.services.dto.longline.BranchlinesCompositionDto fr.ird.observe.services.dto.referential.longline.LineTypeDto @@ -79,7 +80,7 @@ <JLabel id='topTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='topType' constructorParams='this' genericType='LineTypeDto'/> + <BeanComboBox id='topType' constructorParams='this' genericType='ReferenceDto<LineTypeDto>' _entityClass='LineTypeDto.class'/> </cell> </row> @@ -89,7 +90,7 @@ <JLabel id='tracelineTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='tracelineType' constructorParams='this' genericType='LineTypeDto'/> + <BeanComboBox id='tracelineType' constructorParams='this' genericType='ReferenceDto<LineTypeDto>' _entityClass='LineTypeDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUIHandler.java index b7948c4..fa95c87 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUIHandler.java @@ -106,11 +106,10 @@ public class BranchlinesCompositionUIHandler extends ContentTableUIHandler<SetLo } - //FIXME -// @Override -// protected String getEditBeanIdToLoad(DataContext dataContext, DataService dataService, DataSource dataSource) { -// return dataContext.getSelectedSetId(); -// } + @Override + protected String getEditBeanIdToLoad() { + return getDataContext().getSelectedSetId(); + } //FIXME // @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.css index b1c0815..f7d5c96 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.css @@ -253,7 +253,7 @@ #predator { property: predator; - selected:{tableEditBean.getPredator()}; + selected:{ReferenceDtos.castToCollectionOfReferenceDto(tableEditBean.getPredator())}; _validatorLabel: {t("observe.catchLongline.predator")}; showListLabel: true; universeLabel:{t("observe.catchLongline.availablePredator")}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.jaxx index d447d6a..4c104f2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.jaxx @@ -30,6 +30,8 @@ <style source="../../CommonTable.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto + fr.ird.observe.services.dto.ReferenceDtos fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.BasketDto fr.ird.observe.services.dto.longline.BranchlineDto @@ -136,7 +138,7 @@ <JLabel id='sectionLabel'/> </cell> <cell fill="both" weightx="1"> - <BeanComboBox id='section' genericType='SectionDto' constructorParams='this'/> + <BeanComboBox id='section' genericType='ReferenceDto<SectionDto>' _entityClass='SectionDto.class' constructorParams='this'/> </cell> </row> <row> @@ -144,7 +146,7 @@ <JLabel id='basketLabel'/> </cell> <cell fill="both" weightx="1"> - <BeanComboBox id='basket' genericType='BasketDto' constructorParams='this'/> + <BeanComboBox id='basket' genericType='ReferenceDto<BasketDto>' _entityClass='BasketDto.class' constructorParams='this'/> </cell> </row> <row> @@ -152,7 +154,7 @@ <JLabel id='branchlineLabel'/> </cell> <cell fill="both" weightx="1"> - <BeanComboBox id='branchline' genericType='BranchlineDto' constructorParams='this'/> + <BeanComboBox id='branchline' genericType='ReferenceDto<BranchlineDto>' _entityClass='BranchlineDto.class' constructorParams='this'/> </cell> </row> </Table> @@ -198,13 +200,13 @@ <JLabel id='catchHealthnessLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='catchHealthness' constructorParams='this' genericType='HealthnessDto'/> + <BeanComboBox id='catchHealthness' constructorParams='this' genericType='ReferenceDto<HealthnessDto>' _entityClass='HealthnessDto.class'/> </cell> <cell> <JLabel id='hookPositionLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='hookPosition' constructorParams='this' genericType='HookPositionDto'/> + <BeanComboBox id='hookPosition' constructorParams='this' genericType='ReferenceDto<HookPositionDto>' _entityClass='HookPositionDto.class'/> </cell> </row> @@ -215,13 +217,13 @@ <JLabel id='catchFateLonglineLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='catchFateLongline' constructorParams='this' genericType='CatchFateLonglineDto'/> + <BeanComboBox id='catchFateLongline' constructorParams='this' genericType='ReferenceDto<CatchFateLonglineDto>' _entityClass='CatchFateLonglineDto.class'/> </cell> <cell> <JLabel id='discardHealthnessLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='discardHealthness' constructorParams='this' genericType='HealthnessDto'/> + <BeanComboBox id='discardHealthness' constructorParams='this' genericType='ReferenceDto<HealthnessDto>' _entityClass='HealthnessDto.class'/> </cell> </row> @@ -273,7 +275,7 @@ <cell columns="2" fill="both" weighty="0.7"> <JScrollPane id='predatorPane'> <FilterableDoubleList id='predator' - genericType='ReferentialReferenceDto<SpeciesDto>' + genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> </JScrollPane> </cell> @@ -293,7 +295,7 @@ <JLabel id='stomacFullnessLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='stomacFullness' constructorParams='this' genericType='StomacFullnessDto'/> + <BeanComboBox id='stomacFullness' constructorParams='this' genericType='ReferenceDto<StomacFullnessDto>' _entityClass='StomacFullnessDto.class'/> </cell> </row> @@ -303,7 +305,7 @@ <JLabel id='sexLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='sex' constructorParams='this' genericType='SexDto'/> + <BeanComboBox id='sex' constructorParams='this' genericType='ReferenceDto<SexDto>' _entityClass='SexDto.class'/> </cell> </row> @@ -313,7 +315,7 @@ <JLabel id='maturityStatusLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='maturityStatus' constructorParams='this' genericType='MaturityStatusDto'/> + <BeanComboBox id='maturityStatus' constructorParams='this' genericType='ReferenceDto<MaturityStatusDto>' _entityClass='MaturityStatusDto.class'/> </cell> </row> @@ -393,7 +395,7 @@ <JLabel id='baitHaulingStatusLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='baitHaulingStatus' constructorParams='this' genericType='BaitHaulingStatusDto'/> + <BeanComboBox id='baitHaulingStatus' constructorParams='this' genericType='ReferenceDto<BaitHaulingStatusDto>' _entityClass='BaitHaulingStatusDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java index b9c8af9..f37f815 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java @@ -439,11 +439,10 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineDto }); } - //FIXME -// @Override -// protected String getEditBeanIdToLoad(DataContext dataContext, DataService dataService, DataSource dataSource) { -// return dataContext.getSelectedSetId(); -// } + @Override + protected String getEditBeanIdToLoad() { + return getDataContext().getSelectedSetId(); + } @Override public void initUI() throws Exception { @@ -463,7 +462,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineDto CatchLonglineContentTableUIInitializer uiInitializer = new CatchLonglineContentTableUIInitializer(getUi()); - uiInitializer.initUI(getDataSource()); + uiInitializer.initUI(); getModel().addPropertyChangeListener(CatchLonglineUIModel.PROPERTY_SHOW_INDIVIDUAL_TABS, new PropertyChangeListener() { @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jaxx index 71bf620..b869f83 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jaxx @@ -31,6 +31,7 @@ <style source="../../CommonTable.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.ActivityLonglineDto fr.ird.observe.services.dto.longline.EncounterDto @@ -80,7 +81,7 @@ <JLabel id='encounterTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='encounterType' constructorParams='this' genericType='EncounterTypeDto'/> + <BeanComboBox id='encounterType' constructorParams='this' genericType='ReferenceDto<EncounterTypeDto>' _entityClass='EncounterTypeDto.class'/> </cell> </row> @@ -90,7 +91,7 @@ <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' constructorParams='this' genericType='SpeciesDto'/> + <BeanComboBox id='species' constructorParams='this' genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java index 7dc101d..34b6aea 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java @@ -90,11 +90,10 @@ public class EncounterUIHandler extends ContentTableUIHandler<ActivityLonglineDt UIHelper.setTableColumnRenderer(table, 3, UIHelper.newEmptyNumberTableCellRenderer(renderer)); } - //FIXME -// @Override -// protected String getEditBeanIdToLoad(DataContext dataContext, DataService dataService, DataSource dataSource) { -// return dataContext.getSelectedActivityId(); -// } + @Override + protected String getEditBeanIdToLoad() { + return getDataContext().getSelectedActivityId(); + } @Override public void initUI() throws Exception { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUI.jaxx index fd9cb6b..fd8a649 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUI.jaxx @@ -31,6 +31,7 @@ <style source="../../CommonTable.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.longline.SetLonglineDto fr.ird.observe.services.dto.longline.FloatlinesCompositionDto fr.ird.observe.services.dto.referential.longline.LineTypeDto @@ -80,7 +81,7 @@ <JLabel id='lineTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='lineType' constructorParams='this' genericType='LineTypeDto'/> + <BeanComboBox id='lineType' constructorParams='this' genericType='ReferenceDto<LineTypeDto>' _entityClass='LineTypeDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUIHandler.java index 30521a6..67846fa 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUIHandler.java @@ -103,11 +103,10 @@ public class FloatlinesCompositionUIHandler extends ContentTableUIHandler<SetLon } - //FIXME -// @Override -// protected String getEditBeanIdToLoad(DataContext dataContext, DataService dataService, DataSource dataSource) { -// return dataContext.getSelectedSetId(); -// } + @Override + protected String getEditBeanIdToLoad() { + return getDataContext().getSelectedSetId(); + } //FIXME // @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUI.jaxx index 1de6a18..d345f50 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUI.jaxx @@ -29,6 +29,7 @@ <style source="../../CommonTable.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.TripLonglineDto fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto @@ -99,7 +100,7 @@ <JLabel id='gearLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='gear' constructorParams='this' genericType='GearDto'/> + <BeanComboBox id='gear' constructorParams='this' genericType='ReferenceDto<GearDto>' _entityClass='GearDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java index bf68ba1..35868c8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java @@ -280,11 +280,10 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip } - //FIXME -// @Override -// protected String getEditBeanIdToLoad(DataContext dataContext, DataService dataService, DataSource dataSource) { -// return dataContext.getSelectedTripLonglineId(); -// } + @Override + protected String getEditBeanIdToLoad() { + return getDataContext().getSelectedTripLonglineId(); + } @Override public void initUI() throws Exception { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUI.jaxx index a9dcbbb..3b846eb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUI.jaxx @@ -31,6 +31,7 @@ <style source="../../CommonTable.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.longline.SetLonglineDto fr.ird.observe.services.dto.longline.HooksCompositionDto fr.ird.observe.services.dto.referential.longline.HookTypeDto @@ -80,7 +81,7 @@ <JLabel id='HookTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='HookType' constructorParams='this' genericType='HookTypeDto'/> + <BeanComboBox id='HookType' constructorParams='this' genericType='ReferenceDto<HookTypeDto>' _entityClass='HookTypeDto.class'/> </cell> </row> @@ -90,7 +91,7 @@ <JLabel id='HookSizeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='HookSize' constructorParams='this' genericType='HookSizeDto'/> + <BeanComboBox id='HookSize' constructorParams='this' genericType='ReferenceDto<HookSizeDto>' _entityClass='HookSizeDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUIHandler.java index a04f806..8af0f4e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUIHandler.java @@ -106,11 +106,10 @@ public class HooksCompositionUIHandler extends ContentTableUIHandler<SetLongline } - //FIXME -// @Override -// protected String getEditBeanIdToLoad(DataContext dataContext, DataService dataService, DataSource dataSource) { -// return dataContext.getSelectedSetId(); -// } + @Override + protected String getEditBeanIdToLoad() { + return getDataContext().getSelectedSetId(); + } //FIXME // @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUI.jaxx index f56ebe3..2cf644c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUI.jaxx @@ -31,6 +31,7 @@ <style source="../../CommonTable.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.ActivityLonglineDto fr.ird.observe.services.dto.longline.SensorUsedDto @@ -80,7 +81,7 @@ <JLabel id='sensorTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='sensorType' constructorParams='this' genericType='SensorTypeDto'/> + <BeanComboBox id='sensorType' constructorParams='this' genericType='ReferenceDto<SensorTypeDto>' _entityClass='SensorTypeDto.class'/> </cell> </row> @@ -90,7 +91,7 @@ <JLabel id='sensorDataFormatLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='sensorDataFormat' constructorParams='this' genericType='SensorDataFormatDto'/> + <BeanComboBox id='sensorDataFormat' constructorParams='this' genericType='ReferenceDto<SensorDataFormatDto>' _entityClass='SensorDataFormatDto.class'/> </cell> </row> @@ -100,7 +101,7 @@ <JLabel id='sensorBrandLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='sensorBrand' constructorParams='this' genericType='SensorBrandDto'/> + <BeanComboBox id='sensorBrand' constructorParams='this' genericType='ReferenceDto<SensorBrandDto>' _entityClass='SensorBrandDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java index 83ee3ca..964247b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java @@ -120,13 +120,10 @@ public class SensorUsedUIHandler extends ContentTableUIHandler<ActivityLonglineD UIHelper.setTableColumnRenderer(table, 5, UIHelper.newStringTableCellRenderer(renderer, 10, true)); } - //FIXME -// @Override -// protected String getEditBeanIdToLoad(DataContext dataContext, -// DataService dataService, -// DataSource dataSource) { -// return dataContext.getSelectedActivityId(); -// } + @Override + protected String getEditBeanIdToLoad() { + return getDataContext().getSelectedActivityId(); + } public void importData() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.css index 74c8171..ccd237b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.css @@ -370,7 +370,7 @@ #species { property: {TdrDto.PROPERTY_SPECIES}; - selected:{tableEditBean.getSpecies()}; + selected:{ReferenceDtos.castToCollectionOfReferenceDto(tableEditBean.getSpecies())}; _validatorLabel: {t("observe.tdr.species")}; showListLabel: true; universeLabel:{t("observe.tdr.availableSpecies")}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.jaxx index 6f2bbfb..3b62126 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.jaxx @@ -30,6 +30,8 @@ <style source="../../CommonTable.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto + fr.ird.observe.services.dto.ReferenceDtos fr.ird.observe.services.dto.longline.BasketDto fr.ird.observe.services.dto.longline.BranchlineDto fr.ird.observe.services.dto.longline.TdrDto @@ -125,7 +127,7 @@ <JLabel id='sensorBrandLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='sensorBrand' constructorParams='this' genericType='SensorBrandDto'/> + <BeanComboBox id='sensorBrand' constructorParams='this' genericType='ReferenceDto<SensorBrandDto>' _entityClass='SensorBrandDto.class'/> </cell> </row> @@ -177,7 +179,7 @@ <JLabel id='sectionLabel'/> </cell> <cell fill="both" weightx="1"> - <BeanComboBox id='section' genericType='SectionDto' constructorParams='this'/> + <BeanComboBox id='section' genericType='ReferenceDto<SectionDto>' _entityClass='SectionDto.class' constructorParams='this'/> </cell> </row> <row> @@ -185,7 +187,7 @@ <JLabel id='basketLabel'/> </cell> <cell fill="both" weightx="1"> - <BeanComboBox id='basket' genericType='BasketDto' constructorParams='this'/> + <BeanComboBox id='basket' genericType='ReferenceDto<BasketDto>' _entityClass='BasketDto.class' constructorParams='this'/> </cell> </row> <row> @@ -193,7 +195,7 @@ <JLabel id='branchlineLabel'/> </cell> <cell fill="both" weightx="1"> - <BeanComboBox id='branchline' genericType='BranchlineDto' constructorParams='this'/> + <BeanComboBox id='branchline' genericType='ReferenceDto<BranchlineDto>' _entityClass='BranchlineDto.class' constructorParams='this'/> </cell> </row> </Table> @@ -207,7 +209,7 @@ </cell> <cell weightx='1' anchor='east'> <BeanComboBox id='itemHorizontalPosition' constructorParams='this' - genericType='ItemHorizontalPositionDto'/> + genericType='ReferenceDto<ItemHorizontalPositionDto>' _entityClass='ItemHorizontalPositionDto.class'/> </cell> </row> @@ -218,7 +220,7 @@ </cell> <cell weightx='1' anchor='east'> <BeanComboBox id='itemVerticalPosition' constructorParams='this' - genericType='ItemVerticalPositionDto'/> + genericType='ReferenceDto<ItemVerticalPositionDto>' _entityClass='ItemVerticalPositionDto.class'/> </cell> </row> @@ -378,7 +380,7 @@ <row> <cell weighty="1" weightx="1"> <FilterableDoubleList id='species' - genericType='ReferentialReferenceDto<SpeciesDto>' + genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java index 5632352..a4e436b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java @@ -198,11 +198,10 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineDto, TdrDto> } - //FIXME -// @Override -// protected String getEditBeanIdToLoad(DataContext dataContext, DataService dataService, DataSource dataSource) { -// return dataContext.getSelectedSetId(); -// } + @Override + protected String getEditBeanIdToLoad() { + return getDataContext().getSelectedSetId(); + } @Override public void initUI() throws Exception { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jaxx index ffc8800..fb601e9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jaxx @@ -29,6 +29,7 @@ <style source="../../CommonTable.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.TripSeineDto fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto @@ -99,7 +100,7 @@ <JLabel id='gearLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='gear' constructorParams='this' genericType='GearDto'/> + <BeanComboBox id='gear' constructorParams='this' genericType='ReferenceDto<GearDto>' _entityClass='GearDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java index f353f88..0d12d07 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java @@ -278,11 +278,10 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei } - //FIXME -// @Override -// protected String getEditBeanIdToLoad(DataContext dataContext, DataService dataService, DataSource dataSource) { -// return dataContext.getSelectedTripSeineId(); -// } + @Override + protected String getEditBeanIdToLoad() { + return getDataContext().getSelectedTripSeineId(); + } @Override public void initUI() throws Exception { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jaxx index 69b568c..683235a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jaxx @@ -32,6 +32,7 @@ <style source="../../CommonTable.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.SetSeineDto fr.ird.observe.services.dto.seine.NonTargetCatchDto @@ -92,7 +93,7 @@ <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east' columns="2"> - <BeanComboBox id='species' constructorParams='this' genericType='SpeciesDto'/> + <BeanComboBox id='species' constructorParams='this' genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> @@ -102,7 +103,7 @@ <JLabel id='speciesFateLabel'/> </cell> <cell weightx='1' anchor='east' columns="2"> - <BeanComboBox id='speciesFate' constructorParams='this' genericType='SpeciesFateDto'/> + <BeanComboBox id='speciesFate' constructorParams='this' genericType='ReferenceDto<SpeciesFateDto>' _entityClass='SpeciesFateDto.class'/> </cell> </row> @@ -112,7 +113,7 @@ <JLabel id='reasonForDiscardLabel'/> </cell> <cell weightx='1' anchor='east' columns="2"> - <BeanComboBox id='reasonForDiscard' constructorParams='this' genericType='ReasonForDiscardDto'/> + <BeanComboBox id='reasonForDiscard' constructorParams='this' genericType='ReferenceDto<ReasonForDiscardDto>' _entityClass='ReasonForDiscardDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java index 637a5db..2e06003 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java @@ -195,11 +195,10 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineDto, getUi().getMeanLength().grabFocus(); } - //FIXME -// @Override -// protected String getEditBeanIdToLoad(DataContext dataContext, DataService dataService, DataSource dataSource) { -// return dataContext.getSelectedSetId(); -// } + @Override + protected String getEditBeanIdToLoad() { + return getDataContext().getSelectedSetId(); + } // @Override // protected SetSeine loadEditBean(ContentMode mode, diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx index 4ce2e2f..84ef679 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx @@ -32,6 +32,7 @@ <style source="AbstractSampleUI.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.referential.SexDto fr.ird.observe.services.dto.referential.SpeciesDto @@ -124,7 +125,7 @@ public String getSpeciesFauneTypeTaille(SpeciesDto species) { <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' constructorParams='this' genericType='SpeciesDto'/> + <BeanComboBox id='species' constructorParams='this' genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> @@ -186,7 +187,7 @@ public String getSpeciesFauneTypeTaille(SpeciesDto species) { <JLabel id='sexLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='sex' genericType='SexDto' constructorParams='this'/> + <BeanComboBox id='sex' genericType='ReferenceDto<SexDto>' _entityClass='SexDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java index 7455a33..af2a97d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java @@ -60,8 +60,8 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam UIHelper.newListContextEntryDef("NonTargetSampleUI-all-speciess"); /** - * Ecoute les modifications de la propriété {@link NonTargetLength#getWeight()}, - * et repasser alors le flag {@link NonTargetLength#isWeightSource()} à + * Ecoute les modifications de la propriété {@link NonTargetLengthDto#getWeight()}, + * et repasser alors le flag {@link NonTargetLengthDto#isWeightSource()} à * {@code false}. * * @since 3.0 @@ -75,8 +75,8 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam }; /** - * Ecoute les modifications de la propriété {@link NonTargetLength#getLength()}, - * et repasser alors le flag {@link NonTargetLength#isLengthSource()} à + * Ecoute les modifications de la propriété {@link NonTargetLengthDto#getLength()}, + * et repasser alors le flag {@link NonTargetLengthDto#isLengthSource()} à * {@code false}. * * @since 3.0 @@ -108,16 +108,15 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam getUi().getLength().grabFocus(); } - //FIXME -// @Override -// protected String getEditBeanIdToLoad(DataContext dataContext, -// DataService dataService, -// DataSource dataSource) throws DataSourceException { -// String setId = dataContext.getSelectedSetId(); -// // on doit récupérer l'unique échantillonThon de la calée + @Override + protected String getEditBeanIdToLoad() { + String setId = getDataContext().getSelectedSetId(); + // on doit récupérer l'unique échantillonThon de la calée + // String id = dataService.getNonTargetSampleId(dataSource, setId); // return id; -// } + return null; + } //FIXME // @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUI.jaxx index a25c70c..eecb3b0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUI.jaxx @@ -31,6 +31,7 @@ <style source="../../CommonTable.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.FloatingObjectDto fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto @@ -85,7 +86,7 @@ </cell> <cell weightx='1' anchor='east'> <BeanComboBox id='species' constructorParams='this' - genericType='SpeciesDto'/> + genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> @@ -96,7 +97,7 @@ </cell> <cell weightx='1' anchor='east'> <BeanComboBox id='speciesStatus' constructorParams='this' - genericType='SpeciesStatusDto'/> + genericType='ReferenceDto<SpeciesStatusDto>' _entityClass='SpeciesStatusDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java index 35d3ef9..85e2fb6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java @@ -22,9 +22,8 @@ package fr.ird.observe.ui.content.table.impl.seine; import fr.ird.observe.ObserveConfig; -import fr.ird.observe.business.db.DataContext; -import fr.ird.observe.business.db.DataSource; import fr.ird.observe.business.db.constants.DataContextType; +import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; @@ -58,11 +57,10 @@ public class ObjectObservedSpeciesUIHandler extends ContentTableUIHandler<Floati return (ObjectObservedSpeciesUI) super.getUi(); } - //FIXME -// @Override -// protected String getEditBeanIdToLoad(DataContext dataContext, DataService dataService, DataSource dataSource) { -// return dataContext.getSelectedFloatingObjectId(); -// } + @Override + protected String getEditBeanIdToLoad() { + return getDataContext().getSelectedFloatingObjectId(); + } @Override protected void onSelectedRowChanged(int editingRow, ObjectObservedSpeciesDto bean, boolean create) { @@ -97,10 +95,20 @@ public class ObjectObservedSpeciesUIHandler extends ContentTableUIHandler<Floati // add a listPredicate to get only species from the correct configured speciesList ObserveConfig config = getUi().getContextValue(ObserveConfig.class); String speciesListId = config.getSpeciesListSeineObjectObservedSpeciesId(); - prepareSpeciesList(speciesListId, getUi().getSpecies(),n("observe.error.speciesList.seine.objectObservedSpecies.notFound")); + prepareSpeciesList(speciesListId, getUi().getSpecies(), n("observe.error.speciesList.seine.objectObservedSpecies.notFound")); super.initUI(); } + @Override + protected FormDto<FloatingObjectDto> loadToEdit(String id) { + return null; + } + + @Override + protected FormDto<FloatingObjectDto> loadToReadDto(String id) { + return null; + } + } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUI.jaxx index fc2bc4a..8dec537 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUI.jaxx @@ -31,6 +31,7 @@ <style source="../../CommonTable.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.FloatingObjectDto fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto @@ -84,7 +85,7 @@ </cell> <cell weightx='1' anchor='east'> <BeanComboBox id='species' constructorParams='this' - genericType='SpeciesDto'/> + genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java index 1051615..d6780b2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java @@ -67,11 +67,10 @@ public class ObjectSchoolEstimateUIHandler extends ContentTableUIHandler<Floatin } } - //FIXME -// @Override -// protected String getEditBeanIdToLoad(DataContext dataContext, DataService dataService, DataSource dataSource) { -// return dataContext.getSelectedFloatingObjectId(); -// } + @Override + protected String getEditBeanIdToLoad() { + return getDataContext().getSelectedFloatingObjectId(); + } @Override protected void initTableUI(DefaultTableCellRenderer renderer) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jaxx index 1f18a7c..35e64fd 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jaxx @@ -31,6 +31,7 @@ <style source="../../CommonTable.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.SetSeineDto fr.ird.observe.services.dto.seine.SchoolEstimateDto @@ -88,7 +89,7 @@ <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' genericType='SpeciesDto' + <BeanComboBox id='species' genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java index c03b629..2252416 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java @@ -68,11 +68,10 @@ public class SchoolEstimateUIHandler extends ContentTableUIHandler<SetSeineDto, return (SchoolEstimateUI) super.getUi(); } - //FIXME -// @Override -// protected String getEditBeanIdToLoad(DataContext dataContext, DataService dataService, DataSource dataSource) { -// return dataContext.getSelectedSetId(); -// } + @Override + protected String getEditBeanIdToLoad() { + return getDataContext().getSelectedSetId(); + } //FIXME // @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jaxx index 58888c1..e901344 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jaxx @@ -31,6 +31,7 @@ <style source="../../CommonTable.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.SetSeineDto fr.ird.observe.services.dto.seine.TargetCatchDto @@ -88,7 +89,7 @@ <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' genericType='SpeciesDto' constructorParams='this'/> + <BeanComboBox id='species' genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class' constructorParams='this'/> </cell> </row> @@ -99,7 +100,7 @@ <JLabel id='weightCategoryLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='weightCategory' genericType='WeightCategoryDto' constructorParams='this'/> + <BeanComboBox id='weightCategory' genericType='ReferenceDto<WeightCategoryDto>' _entityClass='WeightCategoryDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java index 533e24f..d167f4c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java @@ -23,6 +23,7 @@ package fr.ird.observe.ui.content.table.impl.seine; import fr.ird.observe.business.db.DataSourceException; import fr.ird.observe.business.db.constants.DataContextType; +import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; import fr.ird.observe.services.dto.seine.SetSeineDto; @@ -70,7 +71,7 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineDto, Tar * l'entrée dans le contexte pour récupérer la liste complètes des * catégories */ - JAXXContextEntryDef<List<WeightCategoryDto>> ALL_CATEGORIES_ENTRY = + JAXXContextEntryDef<List<ReferenceDto<WeightCategoryDto>>> ALL_CATEGORIES_ENTRY = UIHelper.newListContextEntryDef("TargetCatchUI-all-categories"); //FIXME @@ -123,11 +124,10 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineDto, Tar ); } - //FIXME -// @Override -// protected String getEditBeanIdToLoad(DataContext dataContext, DataService dataService, DataSource dataSource) { -// return dataContext.getSelectedSetId(); -// } + @Override + protected String getEditBeanIdToLoad() { + return getDataContext().getSelectedSetId(); + } // @Override // protected SetSeine loadEditBean(ContentMode mode, @@ -425,7 +425,7 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineDto, Tar @SuppressWarnings("unchecked") protected void onEspeceChanged(SpeciesDto species) { - List<WeightCategoryDto> availableCategories; + List<ReferenceDto<WeightCategoryDto>> availableCategories; if (species == null) { @@ -442,26 +442,25 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineDto, Tar availableCategories = getAllCategories(getUi()); // on ne conserve que les categories de l'species - for (Iterator<WeightCategoryDto> it = availableCategories.iterator(); + for (Iterator<ReferenceDto<WeightCategoryDto>> it = availableCategories.iterator(); it.hasNext(); ) { - WeightCategoryDto weighte = it.next(); - if (!species.equals(weighte.getSpecies())) { + ReferenceDto<WeightCategoryDto> weighte = it.next(); + if (!species.equals(weighte.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES))) { it.remove(); } } } // on met a jour la liste des categories disponibles - BeanComboBox<WeightCategoryDto> combo = getUi().getWeightCategory(); + BeanComboBox<ReferenceDto<WeightCategoryDto>> combo = getUi().getWeightCategory(); combo.setData(availableCategories); // on reinitialise toujours la categorie selectionnee combo.setSelectedItem(null); } - protected List<WeightCategoryDto> getAllCategories(JAXXContext context) { - List<WeightCategoryDto> list = new ArrayList<WeightCategoryDto>( - ALL_CATEGORIES_ENTRY.getContextValue(context)); + protected List<ReferenceDto<WeightCategoryDto>> getAllCategories(JAXXContext context) { + List<ReferenceDto<WeightCategoryDto>> list = new ArrayList<>(ALL_CATEGORIES_ENTRY.getContextValue(context)); return list; } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jaxx index b317236..7c2729e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jaxx @@ -31,6 +31,7 @@ <style source="../../CommonTable.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.SetSeineDto fr.ird.observe.services.dto.seine.TargetCatchDto @@ -89,7 +90,7 @@ <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' constructorParams='this' genericType='SpeciesDto'/> + <BeanComboBox id='species' constructorParams='this' genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> @@ -99,7 +100,7 @@ <JLabel id='weightCategoryLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='weightCategory' constructorParams='this' genericType='WeightCategoryDto'/> + <BeanComboBox id='weightCategory' constructorParams='this' genericType='ReferenceDto<WeightCategoryDto>' _entityClass='WeightCategoryDto.class'/> </cell> </row> @@ -109,7 +110,7 @@ <JLabel id='reasonForDiscardLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='reasonForDiscard' constructorParams='this' genericType='ReasonForDiscardDto'/> + <BeanComboBox id='reasonForDiscard' constructorParams='this' genericType='ReferenceDto<ReasonForDiscardDto>' _entityClass='ReasonForDiscardDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java index 6c5d3e6..0c288a3 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java @@ -23,6 +23,7 @@ package fr.ird.observe.ui.content.table.impl.seine; import fr.ird.observe.business.db.DataSourceException; import fr.ird.observe.business.db.constants.DataContextType; +import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; @@ -64,13 +65,13 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineD /** Logger */ static private Log log = LogFactory.getLog(TargetDiscardCatchUIHandler.class); - JAXXContextEntryDef<List<WeightCategoryDto>> ALL_CATEGORIES_ENTRY = + JAXXContextEntryDef<List<ReferenceDto<WeightCategoryDto>>> ALL_CATEGORIES_ENTRY = UIHelper.newListContextEntryDef("RejetThonUI-all-categories"); - JAXXContextEntryDef<List<ReasonForDiscardDto>> ALL_RAISONS_REJET_ENTRY = + JAXXContextEntryDef<List<ReferenceDto<ReasonForDiscardDto>>> ALL_RAISONS_REJET_ENTRY = UIHelper.newListContextEntryDef("RejetThonUI-all-reasonForDiscards"); - JAXXContextEntryDef<List<TargetLengthDto>> ALL_TAILLES_TO_DELETE_ENTRY = + JAXXContextEntryDef<List<ReferenceDto<TargetLengthDto>>> ALL_TAILLES_TO_DELETE_ENTRY = UIHelper.newListContextEntryDef("RejetThonUI-all-taille-to-delete"); //FIXME @@ -178,11 +179,10 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineD } - //FIXME -// @Override -// protected String getEditBeanIdToLoad(DataContext dataContext, DataService dataService, DataSource dataSource) { -// return dataContext.getSelectedSetId(); -// } + @Override + protected String getEditBeanIdToLoad() { + return getDataContext().getSelectedSetId(); + } //FIXME // @Override @@ -311,7 +311,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineD // il faut supprimer les echantillon thons sur des speciess qui ne // sont plus sur un rejet - List<TargetLengthDto> tailleToDelete = new ArrayList<TargetLengthDto>(); + List<ReferenceDto<TargetLengthDto>> tailleToDelete = new ArrayList<>(); java.util.Set<SpeciesDto> speciessToDelete = new HashSet<SpeciesDto>(); //FIXME @@ -336,7 +336,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineD for (SpeciesDto e : speciessToDelete) { sb.append(" - ").append(decorator.toString(e)).append('\n'); } - for (TargetLengthDto t : tailleToDelete) { + for (ReferenceDto<TargetLengthDto> t : tailleToDelete) { sb2.append(" - ").append(decorator2.toString(t)).append('\n'); } int reponse = UIHelper.askUser( @@ -514,9 +514,9 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineD protected void onEspeceChanged(TargetCatchDto bean, SpeciesDto species) { - WeightCategoryDto weightCategory = null; + ReferenceDto<WeightCategoryDto> weightCategory = null; - List<WeightCategoryDto> data; + List<ReferenceDto<WeightCategoryDto>> data; if (species == null) { @@ -530,13 +530,12 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineD // un species est selectionne, on met a jour la liste des categories // disponibles pour cet species - List<WeightCategoryDto> availableCategories = buildWeightCategoryList( + List<ReferenceDto<WeightCategoryDto>> availableCategories = buildWeightCategoryList( species); data = availableCategories; - //FIXME -// weightCategory = bean.getWeightCategory(); + weightCategory = bean.getWeightCategory(); if (weightCategory != null && !availableCategories.contains(weightCategory)) { @@ -545,7 +544,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineD } // on met a jour le model de la liste des categories - BeanComboBox<WeightCategoryDto> combo = getUi().getWeightCategory(); + BeanComboBox<ReferenceDto<WeightCategoryDto>> combo = getUi().getWeightCategory(); combo.setData(data); // on selectionne la categorie retenue @@ -555,8 +554,8 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineD protected void onCategorieChanged(TargetCatchDto bean, WeightCategoryDto weightCategory) { TargetDiscardCatchUI ui = getUi(); - ReasonForDiscardDto reasonForDiscard = null; - List<ReasonForDiscardDto> data; + ReferenceDto<ReasonForDiscardDto> reasonForDiscard = null; + List<ReferenceDto<ReasonForDiscardDto>> data; if (weightCategory == null) { // aucune categorie selectionnee, on vide simplement @@ -569,8 +568,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineD // un categorie est selectionne, on met a jour la liste des raisons // rejet disponible pour cette categorie - List<ReasonForDiscardDto> reasonForDiscardList = buildReasonFordiscardList( - weightCategory); + List<ReferenceDto<ReasonForDiscardDto>> reasonForDiscardList = buildReasonFordiscardList(weightCategory); if (log.isDebugEnabled()) { log.debug("new reasonForDiscard list " + reasonForDiscardList); @@ -578,8 +576,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineD data = reasonForDiscardList; - //FIXME -// reasonForDiscard = bean.getReasonForDiscard(); + reasonForDiscard = bean.getReasonForDiscard(); if (reasonForDiscard != null && !reasonForDiscardList.contains(reasonForDiscard)) { @@ -588,7 +585,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineD } } - BeanComboBox<ReasonForDiscardDto> combo = ui.getReasonForDiscard(); + BeanComboBox<ReferenceDto<ReasonForDiscardDto>> combo = ui.getReasonForDiscard(); // on met a jour le model de la liste des raison rejets combo.setData(data); @@ -597,9 +594,9 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineD combo.setSelectedItem(reasonForDiscard); } - protected List<SpeciesDto> buildEspeceList(SpeciesDto species, WeightCategoryDto weightCategory) { + protected List<SpeciesDto> buildEspeceList(SpeciesDto species, ReferenceDto<WeightCategoryDto> weightCategory) { - List<WeightCategoryDto> weightCategoryList = getAllCategories(getUi()); + List<ReferenceDto<WeightCategoryDto>> weightCategoryList = getAllCategories(getUi()); removeFullyUsedCategories(weightCategoryList); @@ -608,7 +605,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineD } Collection<SpeciesDto> usedEspeces = new HashSet<SpeciesDto>(); - for (WeightCategoryDto cat : weightCategoryList) { + for (ReferenceDto<WeightCategoryDto> cat : weightCategoryList) { //FIXME // usedEspeces.add(cat.getSpecies()); } @@ -619,15 +616,15 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineD return result; } - protected List<WeightCategoryDto> buildWeightCategoryList(SpeciesDto species) { + protected List<ReferenceDto<WeightCategoryDto>> buildWeightCategoryList(SpeciesDto species) { - List<WeightCategoryDto> weightCategoryList = getAllCategories(getUi()); + List<ReferenceDto<WeightCategoryDto>> weightCategoryList = getAllCategories(getUi()); // on filtre les categories sur l'espèce donnée - for (Iterator<WeightCategoryDto> it = weightCategoryList.iterator(); + for (Iterator<ReferenceDto<WeightCategoryDto>> it = weightCategoryList.iterator(); it.hasNext(); ) { - WeightCategoryDto weighte = it.next(); - if (!species.equals(weighte.getSpecies())) { + ReferenceDto<WeightCategoryDto> weighte = it.next(); + if (!species.equals(weighte.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES))) { it.remove(); } } @@ -640,11 +637,11 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineD } @SuppressWarnings("unchecked") - protected List<ReasonForDiscardDto> buildReasonFordiscardList(WeightCategoryDto weightCategory) { + protected List<ReferenceDto<ReasonForDiscardDto>> buildReasonFordiscardList(WeightCategoryDto weightCategory) { ContentTableModel<SetSeineDto, TargetCatchDto> model = getTableModel(); - List<ReasonForDiscardDto> reasonForDiscardList = - new ArrayList<ReasonForDiscardDto>(ALL_RAISONS_REJET_ENTRY.getContextValue(getUi())); + List<ReferenceDto<ReasonForDiscardDto>> reasonForDiscardList = + new ArrayList<>(ALL_RAISONS_REJET_ENTRY.getContextValue(getUi())); // on filtre les raison rejet sur la categorie for (int i = 0; i < model.getRowCount(); i++) { @@ -658,14 +655,14 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineD return reasonForDiscardList; } - protected List<WeightCategoryDto> getAllCategories(JAXXContext context) { - List<WeightCategoryDto> list = new ArrayList<WeightCategoryDto>( + protected List<ReferenceDto<WeightCategoryDto>> getAllCategories(JAXXContext context) { + List<ReferenceDto<WeightCategoryDto>> list = new ArrayList<>( ALL_CATEGORIES_ENTRY.getContextValue(context)); return list; } protected void removeFullyUsedCategories( - List<WeightCategoryDto> weightCategoryAvaillable) { + List<ReferenceDto<WeightCategoryDto>> weightCategoryAvaillable) { ContentTableModel<SetSeineDto, TargetCatchDto> model = getTableModel(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUI.jaxx index 065199b..3575faf 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUI.jaxx @@ -27,6 +27,7 @@ <style source="AbstractSampleUI.css"/> <import> + fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.seine.TargetSampleDto fr.ird.observe.services.dto.seine.TargetLengthDto fr.ird.observe.ui.content.table.impl.seine.CodeMesureEnum @@ -122,7 +123,7 @@ public String getLengthDataTip(boolean computed) { <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' genericType='SpeciesDto' constructorParams='this'/> + <BeanComboBox id='species' genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java index 8baac80..95c2ae9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java @@ -117,16 +117,15 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto getUi().getLength().grabFocus(); } - //FIXME -// @Override -// protected String getEditBeanIdToLoad(DataContext dataContext, -// DataService dataService, -// DataSource dataSource) throws DataSourceException { -// String setId = dataContext.getSelectedSetId(); -// // on doit récupérer l'unique échantillonThon de la calée + @Override + protected String getEditBeanIdToLoad() { + String setId = getDataContext().getSelectedSetId(); + // on doit récupérer l'unique échantillonThon de la calée + //FIXME // String id = dataService.getTargetSampleId(dataSource, setId, discarded); // return id; -// } + return null; + } // @Override // protected TargetSample loadEditBean(ContentMode mode, 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 de8c33e..fabafb4 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 @@ -22,6 +22,12 @@ package fr.ird.observe.services.dto; * #L% */ +import com.google.common.base.Function; +import com.google.common.base.Predicate; +import com.google.common.collect.Collections2; + +import java.util.Collection; + public class ReferenceDtos extends AbstractReferenceDtos { public static <R extends IdDto> ReferenceDto<R> newReferenceDto(Class<R> type, Iterable<String> propertyNames) { @@ -30,4 +36,35 @@ public class ReferenceDtos extends AbstractReferenceDtos { return dto; } + public static Predicate<ReferenceDto> newContainsIdPredicate(final Collection<String> ids) { + return new Predicate<ReferenceDto>() { + + @Override + public boolean apply(ReferenceDto input) { + String id = (String) input.getPropertyValue(IdDto.PROPERTY_ID); + return ids.contains(id); + } + }; + } + + public static Function<ReferenceDto, String> newReferenceDtoIdFunction() { + return new Function<ReferenceDto, String>() { + @Override + public String apply(ReferenceDto input) { + String id = (String) input.getPropertyValue(IdDto.PROPERTY_ID); + return id; + } + }; + } + + public static <R extends ReferenceDto<D>, D extends IdDto> Collection<ReferenceDto<D>> + castToCollectionOfReferenceDto(Collection<R> coll) { + return Collections2.transform(coll, new Function<R, ReferenceDto<D>>() { + @Override + public ReferenceDto<D> apply(R input) { + return input; + } + }); + } + } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialDtos.java new file mode 100644 index 0000000..85c9cf1 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialDtos.java @@ -0,0 +1,64 @@ +package fr.ird.observe.services.dto.referential; + +import com.google.common.base.Predicate; +import fr.ird.observe.services.dto.constants.ReferenceStatus; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.util.Iterator; +import java.util.List; + +public class ReferentialDtos extends AbstractReferentialDtos { + + /** + * Logger. + */ + private static final Log log = LogFactory.getLog(ReferentialDtos.class); + + /** + * Filter une liste d'entités d'un référentiel en supprimmant toutes les + * entités qui ne sont pas actives {@link ReferentialDto#getStatus()} + * + * @param list la liste des entitées à filtrer + * @param <E> le type des entites du référentiel + */ + public static <E extends ReferentialDto> void filterReferentialListByStatus(List<E> list) { + filterReferentielList(list, (Predicate<E>) IS_ACTIF_PREDICATE); + + } + + /** + * Filter une liste d'entités d'un référentiel en supprimant toutes les + * entités qui ne rspeciesnt pas le précidat donné. + * + * @param list la liste des entitées à filtrer + * @param predicate le prédicate à appliquer pour conserver les valeurs + * @param <E> le type des entites du référentiel + */ + public static <E extends ReferentialDto> void filterReferentielList( + List<E> list, + Predicate<E> predicate) { + Iterator<E> itr = list.iterator(); + while (itr.hasNext()) { + E e = itr.next(); + if (!predicate.apply(e)) { + + // l'entite n'est pas retenue, on ne l'affiche pas + + if (log.isDebugEnabled()) { + log.debug("remove disabled entity " + e.getId()); + } + + itr.remove(); + } + } + } + + public static final Predicate<ReferentialDto> IS_ACTIF_PREDICATE = new Predicate<ReferentialDto>() { + @Override + public boolean apply(ReferentialDto input) { + return ReferenceStatus.disabled != input.getStatus(); + } + }; + +} //ReferentialDtos -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.