branch feature/7017 updated (db5dcd0 -> 1d3e4d3)
This is an automated email from the git hooks/post-receive script. New change to branch feature/7017 in repository observe. See http://git.codelutin.com/observe.git from db5dcd0 ajout de premiers services et d'une usine de services new 1d3e4d3 continue les écrans simples sur le modèle seine (refs #7017) The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 1d3e4d3ff12cfb04f626a15057128d6a81c67998 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 27 09:11:20 2015 +0200 continue les écrans simples sur le modèle seine (refs #7017) Summary of changes: .../observe/services/AbstractObserveService.java | 10 +- .../services/data/seine/ActivitySeineService.java | 8 +- .../data/seine/ActivitySeineServiceImpl.java | 60 +++++- .../services/data/seine/FloatingObjectService.java | 35 +++- .../data/seine/FloatingObjectServiceImpl.java | 221 +++++++++++++++++++-- .../ActivitySeineObservedSystemUIHandler.java | 47 ++--- ...ngObjectTransmittingBuoyOperationUIHandler.java | 121 +++++------ ...tingObjectTransmittingBuoyOperationUIModel.java | 58 +++--- .../impl/seine/FloatingObjectUIHandler.java | 96 ++++----- 9 files changed, 447 insertions(+), 209 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7017 in repository observe. See http://git.codelutin.com/observe.git commit 1d3e4d3ff12cfb04f626a15057128d6a81c67998 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 27 09:11:20 2015 +0200 continue les écrans simples sur le modèle seine (refs #7017) --- .../observe/services/AbstractObserveService.java | 10 +- .../services/data/seine/ActivitySeineService.java | 8 +- .../data/seine/ActivitySeineServiceImpl.java | 60 +++++- .../services/data/seine/FloatingObjectService.java | 35 +++- .../data/seine/FloatingObjectServiceImpl.java | 221 +++++++++++++++++++-- .../ActivitySeineObservedSystemUIHandler.java | 47 ++--- ...ngObjectTransmittingBuoyOperationUIHandler.java | 121 +++++------ ...tingObjectTransmittingBuoyOperationUIModel.java | 58 +++--- .../impl/seine/FloatingObjectUIHandler.java | 96 ++++----- 9 files changed, 447 insertions(+), 209 deletions(-) diff --git a/observe-services/src/main/java/fr/ird/observe/services/AbstractObserveService.java b/observe-services/src/main/java/fr/ird/observe/services/AbstractObserveService.java index b15a574..b0a0c17 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/AbstractObserveService.java +++ b/observe-services/src/main/java/fr/ird/observe/services/AbstractObserveService.java @@ -181,7 +181,7 @@ public abstract class AbstractObserveService implements ObserveService { if (r == null) { BinderModelBuilder<E, E> builder = createBinder.createBinderBuilder(binderService, binderName); - r = binderService.registerTopiaBinder(entityType, builder, binderName); + r = createBinder.registerTopiaBinder(binderService, entityType, builder, binderName); } @@ -189,9 +189,13 @@ public abstract class AbstractObserveService implements ObserveService { } - protected interface CreateBinder<E extends TopiaEntity> { + protected abstract class CreateBinder<E extends TopiaEntity> { - BinderModelBuilder<E, E> createBinderBuilder(BinderService binderService, String name); + public abstract BinderModelBuilder<E, E> createBinderBuilder(BinderService binderService, String name); + + public TopiaEntityBinder<E> registerTopiaBinder(BinderService binderService, Class<E> entityType, BinderModelBuilder<E, E> builder, String name) { + return binderService.registerTopiaBinder(entityType, builder, name); + } } diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/ActivitySeineService.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/ActivitySeineService.java index e000e6e..113d897 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/ActivitySeineService.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/ActivitySeineService.java @@ -34,7 +34,7 @@ public interface ActivitySeineService extends ObserveService { ActivitySeine save(String routeId, ActivitySeine toSave); @Commit - void updateObservedSystem(ActivitySeine toUpdate); + ActivitySeine updateObservedSystem(ActivitySeine toUpdate); @Commit void delete(String routeId, String activitySeineId); @@ -43,5 +43,11 @@ public interface ActivitySeineService extends ObserveService { TopiaEntityBinder<ActivitySeine> getBinderForEdit(); @NoTransaction + TopiaEntityBinder<ActivitySeine> getBinderForEditObservedSystem() ; + + @NoTransaction void copyForEdit(ActivitySeine source, ActivitySeine target); + + @NoTransaction + void copyForEditObservedSystem(ActivitySeine source, ActivitySeine target); } diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/ActivitySeineServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/ActivitySeineServiceImpl.java index 7478d41..5fe7977 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/ActivitySeineServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/ActivitySeineServiceImpl.java @@ -2,10 +2,12 @@ package fr.ird.observe.services.data.seine; import fr.ird.observe.BinderService; import fr.ird.observe.entities.constants.ReferenceLocale; +import fr.ird.observe.entities.constants.seine.SchoolType; import fr.ird.observe.entities.referentiel.FpaZone; import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.entities.seine.ActivitySeineDAO; import fr.ird.observe.entities.seine.Route; +import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.services.AbstractObserveService; import org.nuiton.topia.persistence.util.TopiaEntityBinder; import org.nuiton.util.DateUtil; @@ -130,9 +132,31 @@ public class ActivitySeineServiceImpl extends AbstractObserveService implements } @Override - public void updateObservedSystem(ActivitySeine toUpdate) { + public ActivitySeine updateObservedSystem(ActivitySeine toUpdate) { + + ActivitySeineDAO dao = getDao(); + + boolean needUpdateSet = false; + SchoolType newTypeBanc = toUpdate.getSchoolType(); + SetSeine set = toUpdate.getSetSeine(); + if (set != null) { + // on regarde si le type de banc de la calée a changé + + SchoolType oldTypeBanc = set.getSchoolType(); + needUpdateSet = oldTypeBanc == null || newTypeBanc != oldTypeBanc; + } + + ActivitySeine updated = dao.findByTopiaId(toUpdate.getTopiaId()); + getBinderForEditObservedSystem().copyExcluding(toUpdate, updated, ActivitySeine.PROPERTY_SET_SEINE); + + if (needUpdateSet) { + + // mise à jour de la propriété schoolType dans la set + updated.getSetSeine().setSchoolType(newTypeBanc); + } + + return updated; - //TODO } @Override @@ -168,6 +192,31 @@ public class ActivitySeineServiceImpl extends AbstractObserveService implements } @Override + public TopiaEntityBinder<ActivitySeine> getBinderForEditObservedSystem() { + + TopiaEntityBinder<ActivitySeine> binder = loadBinder("-forEditObservedSystem", ActivitySeine.class, new CreateBinder<ActivitySeine>() { + + @Override + public BinderModelBuilder<ActivitySeine, ActivitySeine> createBinderBuilder(BinderService binderService, String name) { + + BinderModelBuilder<ActivitySeine, ActivitySeine> builder = binderService.newBinderBuilder( + ActivitySeine.class, + ActivitySeine.PROPERTY_OBSERVED_SYSTEM, + ActivitySeine.PROPERTY_SET_SEINE, + ActivitySeine.PROPERTY_COMMENT, + ActivitySeine.PROPERTY_OBSERVED_SYSTEM_DISTANCE); + + return builder; + + } + + }); + + return binder; + + } + + @Override public TopiaEntityBinder<ActivitySeine> getBinderForEdit() { TopiaEntityBinder<ActivitySeine> binder = loadBinder("-forEdit", ActivitySeine.class, new CreateBinder<ActivitySeine>() { @@ -220,6 +269,13 @@ public class ActivitySeineServiceImpl extends AbstractObserveService implements } + @Override + public void copyForEditObservedSystem(ActivitySeine source, ActivitySeine target) { + + getBinderForEditObservedSystem().load(source, target, true); + + } + protected ActivitySeine create(String routeId, ActivitySeine toCreate) { ActivitySeineDAO dao = getDao(); diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/FloatingObjectService.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/FloatingObjectService.java index 8e9d42a..80e7225 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/FloatingObjectService.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/FloatingObjectService.java @@ -1,8 +1,11 @@ package fr.ird.observe.services.data.seine; import fr.ird.observe.entities.seine.FloatingObject; +import fr.ird.observe.entities.seine.TransmittingBuoy; import fr.ird.observe.services.Commit; +import fr.ird.observe.services.NoTransaction; import fr.ird.observe.services.ObserveService; +import org.nuiton.topia.persistence.util.TopiaEntityBinder; import java.util.List; @@ -16,23 +19,39 @@ public interface FloatingObjectService extends ObserveService { List<FloatingObject> getFloatinObjectStubByActivitySeine(String activitySeineId); - FloatingObject getFloatinObjectStub(String id); + FloatingObject getFloatinObjectStub(String floatingObjectId); FloatingObject loadForEdit(String floatingObjectId); - FloatingObject loadForEditTransmittingBuoy(String floatingObjectId); + FloatingObject loadForEditTransmittingBuoyOperation(String floatingObjectId); - FloatingObject preCreate(String routeId); + FloatingObject preCreate(String activitySeineId); @Commit - FloatingObject create(FloatingObject toCreate); + FloatingObject save(String activitySeineId, FloatingObject toSave); @Commit - void update(FloatingObject toUpdate); + FloatingObject updateTransmittingBuoyOperation(FloatingObject toUpdate); @Commit - void updateTransmittingBuoy(FloatingObject toUpdate); + void delete(String activitySeineId, String floatingObjectId); + + @NoTransaction + TopiaEntityBinder<FloatingObject> getBinderForEdit(); + + @NoTransaction + TopiaEntityBinder<FloatingObject> getBinderForEditTransmittingBuoyOperation(); + + @NoTransaction + TopiaEntityBinder<TransmittingBuoy> getBinderForEditTransmittingBuoy(); + + @NoTransaction + void copyForEdit(FloatingObject source, FloatingObject target); + + @NoTransaction + void copyForEditTransmittingBuoyOperation(FloatingObject source, FloatingObject target); + + @NoTransaction + void copyForEditTransmittingBuoy(TransmittingBuoy source, TransmittingBuoy target); - @Commit - void delete(String floatingObjectId); } diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/FloatingObjectServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/FloatingObjectServiceImpl.java index bc1f78f..ef466ec 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/FloatingObjectServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/FloatingObjectServiceImpl.java @@ -1,11 +1,18 @@ package fr.ird.observe.services.data.seine; +import fr.ird.observe.BinderService; import fr.ird.observe.entities.constants.ReferenceLocale; +import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.entities.seine.FloatingObjectDAO; +import fr.ird.observe.entities.seine.TransmittingBuoy; import fr.ird.observe.services.AbstractObserveService; +import org.nuiton.topia.persistence.TopiaDAO; +import org.nuiton.topia.persistence.util.TopiaEntityBinder; +import org.nuiton.util.beans.BinderModelBuilder; import java.util.List; +import java.util.Map; /** * Created on 4/24/15. @@ -35,39 +42,229 @@ public class FloatingObjectServiceImpl extends AbstractObserveService implements @Override public FloatingObject loadForEdit(String floatingObjectId) { - FloatingObject loaded = null; + + FloatingObject loaded = getDao().newInstance(); + FloatingObject toLoad = getDao().findByTopiaId(floatingObjectId); + copyForEdit(toLoad, loaded); + return loaded; + } @Override - public FloatingObject loadForEditTransmittingBuoy(String floatingObjectId) { - FloatingObject loaded = null; + public FloatingObject loadForEditTransmittingBuoyOperation(String floatingObjectId) { + + FloatingObject loaded = getDao().newInstance(); + FloatingObject toLoad = getDao().findByTopiaId(floatingObjectId); + copyForEditTransmittingBuoyOperation(toLoad, loaded); + return loaded; + } @Override - public FloatingObject preCreate(String routeId) { - FloatingObject result = null; - return result; + public FloatingObject preCreate(String activitySeineId) { + + FloatingObject preCreated = getDao().newInstance(); + return preCreated; + } @Override - public FloatingObject create(FloatingObject toCreate) { - FloatingObject created = null; - return created; + public FloatingObject save(String activitySeineId, FloatingObject toSave) { + + FloatingObject saved; + + if (toSave.getTopiaId() == null) { + + // create + saved = create(activitySeineId, toSave); + + } else { + + // update + saved = update(toSave); + + } + + return saved; + } @Override - public void update(FloatingObject toUpdate) { + public FloatingObject updateTransmittingBuoyOperation(FloatingObject toUpdate) { + + FloatingObject updated = getDao().findByTopiaId(toUpdate.getTopiaId()); + updated.setComment(toUpdate.getComment()); + updated.clearTransmittingBuoy(); + + TopiaEntityBinder<TransmittingBuoy> childLoador = getBinderForEditTransmittingBuoy(); + + TopiaDAO<TransmittingBuoy> transmittingBuoyDAO = getDao(TransmittingBuoy.class); + + for (TransmittingBuoy transmittingBuoy : toUpdate.getTransmittingBuoy()) { + + TransmittingBuoy newTransmittingBuoy; + + if (transmittingBuoy.getTopiaId() == null) { + + // creation de la balise + + Map<String, Object> map = childLoador.obtainProperties(transmittingBuoy); + newTransmittingBuoy = transmittingBuoyDAO.create(map); + + } else { + + // mise a jour de la balise + + newTransmittingBuoy = transmittingBuoyDAO.findByTopiaId(transmittingBuoy.getTopiaId()); + childLoador.load(transmittingBuoy, newTransmittingBuoy, false); + + } + + updated.addTransmittingBuoy(newTransmittingBuoy); + + } + return updated; + } @Override - public void updateTransmittingBuoy(FloatingObject toUpdate) { + public void delete(String activitySeineId, String floatingObjectId) { + + FloatingObjectDAO dao = getDao(); + FloatingObject toDelete = dao.findByTopiaId(floatingObjectId); + + ActivitySeine activitySeine = findByTopiaId(ActivitySeine.class, activitySeineId); + activitySeine.removeFloatingObject(toDelete); } @Override - public void delete(String floatingObjectId) { + public TopiaEntityBinder<FloatingObject> getBinderForEdit() { + + TopiaEntityBinder<FloatingObject> binder = loadBinder("-forEdit", FloatingObject.class, new CreateBinder<FloatingObject>() { + + @Override + public BinderModelBuilder<FloatingObject, FloatingObject> createBinderBuilder(BinderService binderService, String name) { + + BinderModelBuilder<FloatingObject, FloatingObject> builder = binderService.newBinderBuilder( + FloatingObject.class, + FloatingObject.PROPERTY_OBJECT_TYPE, + FloatingObject.PROPERTY_OBJECT_FATE, + FloatingObject.PROPERTY_OBJECT_OPERATION, + FloatingObject.PROPERTY_COMMENT, + FloatingObject.PROPERTY_SUPPORT_VESSEL_NAME, + FloatingObject.PROPERTY_DAYS_AT_SEA_COUNT); + + return builder; + + } + + }); + + return binder; + + } + + @Override + public void copyForEdit(FloatingObject source, FloatingObject target) { + + getBinderForEdit().load(source, target, true); + + } + + @Override + public TopiaEntityBinder<FloatingObject> getBinderForEditTransmittingBuoyOperation() { + + TopiaEntityBinder<FloatingObject> binder = loadBinder("-forEdit", FloatingObject.class, new CreateBinder<FloatingObject>() { + + @Override + public BinderModelBuilder<FloatingObject, FloatingObject> createBinderBuilder(BinderService binderService, String name) { + + BinderModelBuilder<FloatingObject, FloatingObject> builder = binderService.newBinderBuilder( + FloatingObject.class, + FloatingObject.PROPERTY_COMMENT, + FloatingObject.PROPERTY_OBJECT_OPERATION + ); + return builder; + + } + + }); + + return binder; + + } + + @Override + public void copyForEditTransmittingBuoyOperation(FloatingObject source, FloatingObject target) { + + getBinderForEditTransmittingBuoyOperation().load(source, target, true); + + } + + @Override + public TopiaEntityBinder<TransmittingBuoy> getBinderForEditTransmittingBuoy() { + + TopiaEntityBinder<TransmittingBuoy> binder = loadBinder("-forEdit", TransmittingBuoy.class, new CreateBinder<TransmittingBuoy>() { + + @Override + public BinderModelBuilder<TransmittingBuoy, TransmittingBuoy> createBinderBuilder(BinderService binderService, String name) { + + BinderModelBuilder<TransmittingBuoy, TransmittingBuoy> builder = binderService.newBinderBuilder( + TransmittingBuoy.class, + TransmittingBuoy.PROPERTY_CODE, + TransmittingBuoy.PROPERTY_OWNERSHIP, + TransmittingBuoy.PROPERTY_TRANSMITTING_BUOY_TYPE, + TransmittingBuoy.PROPERTY_TRANSMITTING_BUOY_OPERATION, + TransmittingBuoy.PROPERTY_BRAND, + TransmittingBuoy.PROPERTY_COUNTRY); + + return builder; + + } + + @Override + public TopiaEntityBinder<TransmittingBuoy> registerTopiaBinder(BinderService binderService, Class<TransmittingBuoy> entityType, BinderModelBuilder<TransmittingBuoy, TransmittingBuoy> builder, String name) { + + TopiaEntityBinder<TransmittingBuoy> binder = super.registerTopiaBinder(binderService, entityType, builder, name); + binder.setEmpty(getDao(TransmittingBuoy.class).newInstance()); + return binder; + + } + + }); + + return binder; + + } + + @Override + public void copyForEditTransmittingBuoy(TransmittingBuoy source, TransmittingBuoy target) { + + getBinderForEditTransmittingBuoy().load(source, target, true); + + } + + protected FloatingObject create(String activitySeineId, FloatingObject toCreate) { + + FloatingObjectDAO dao = getDao(); + FloatingObject created = dao.create(toCreate); + + ActivitySeine route = findByTopiaId(ActivitySeine.class, activitySeineId); + route.addFloatingObject(created); + + return created; + + } + + protected FloatingObject update(FloatingObject toUpdate) { + + FloatingObject updated = getDao().findByTopiaId(toUpdate.getTopiaId()); + copyForEdit(toUpdate, updated); + return updated; + } protected FloatingObjectDAO getDao() { diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java b/observe-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java index 51d13ad..58214c3 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java @@ -21,20 +21,15 @@ */ package fr.ird.observe.ui.content.impl.seine; -import fr.ird.observe.DataService; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.DataSource; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.entities.constants.seine.SchoolType; import fr.ird.observe.entities.seine.ActivitySeine; -import fr.ird.observe.entities.seine.SetSeine; +import fr.ird.observe.services.data.seine.ActivitySeineService; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIHandler; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; -import org.nuiton.topia.persistence.util.TopiaEntityBinder; import static org.nuiton.i18n.I18n.t; @@ -88,7 +83,9 @@ public class ActivitySeineObservedSystemUIHandler extends ContentUIHandler<Activ ContentMode mode = computeContentMode(); - getDataService().loadEditEntity(getDataSource(), activityId, getLoadExecutor()); + ActivitySeineService service = getService(ActivitySeineService.class); + ActivitySeine activitySeine = service.loadForEditObservedSystem(activityId); + service.copyForEditObservedSystem(activitySeine, getBean()); getModel().setMode(mode); @@ -104,39 +101,19 @@ public class ActivitySeineObservedSystemUIHandler extends ContentUIHandler<Activ } @Override - protected boolean doSave(ActivitySeine bean, - DataService dataService, - DataSource dataSource, - TopiaEntityBinder<ActivitySeine> binder) throws Exception { + protected boolean doSave(ActivitySeine bean) throws Exception { + + ActivitySeineService service = getService(ActivitySeineService.class); + ActivitySeine saved = service.updateObservedSystem(getBean()); + service.copyForEditObservedSystem(saved, bean); - // on sauvegarde l'activity (mais pas la set) - dataService.update(dataSource, null, bean, getUpdateExecutor()); return true; } + //TODO Supprimer saveUI et mettre saveUI2 a la place @Override - protected ActivitySeine onUpdate(TopiaContext tx, Object parentBean, ActivitySeine beanToSave) throws TopiaException { - - ActivitySeine bean = getBean(); - boolean needUpdateSet = false; - SchoolType newTypeBanc = bean.getSchoolType(); - SetSeine set = bean.getSetSeine(); - if (set != null) { - // on regarde si le type de banc de la calée a changé - - SchoolType oldTypeBanc = set.getSchoolType(); - needUpdateSet = oldTypeBanc == null || newTypeBanc != oldTypeBanc; - } - - getLoadBinder().copyExcluding(getBean(), beanToSave, ActivitySeine.PROPERTY_SET_SEINE); - - if (needUpdateSet) { - - // mise à jour de la propriété schoolType dans la set - beanToSave.getSetSeine().setSchoolType(newTypeBanc); - } - - return beanToSave; + public final void saveUI(boolean refresh) { + saveUI2(refresh); } } diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java b/observe-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java index 3db1541..21c72a3 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java @@ -21,9 +21,7 @@ */ package fr.ird.observe.ui.content.impl.seine; -import fr.ird.observe.DataService; import fr.ird.observe.DecoratorService; -import fr.ird.observe.ObserveDAOHelper; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.DataSource; import fr.ird.observe.db.constants.DataContextType; @@ -35,6 +33,7 @@ import fr.ird.observe.entities.referentiel.seine.TransmittingBuoyType; import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.entities.seine.TransmittingBuoy; +import fr.ird.observe.services.data.seine.FloatingObjectService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIHandler; @@ -43,8 +42,6 @@ import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; -import org.nuiton.topia.persistence.TopiaDAO; -import org.nuiton.topia.persistence.util.TopiaEntityBinder; import org.nuiton.validator.NuitonValidatorScope; import javax.swing.JPanel; @@ -52,7 +49,6 @@ import javax.swing.SwingUtilities; import java.awt.GridLayout; import java.util.ArrayList; import java.util.List; -import java.util.Map; import static org.nuiton.i18n.I18n.t; @@ -108,10 +104,10 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH ContentMode mode = computeContentMode(); - String dcpId = getSelectedParentId(); + String floatingObjectId = getSelectedParentId(); if (log.isInfoEnabled()) { - log.info("dcpId = " + dcpId); + log.info("floatingObjectId = " + floatingObjectId); } FloatingObject bean = getBean(); @@ -123,13 +119,13 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH getModel().setEditing(false); - getDataService().loadEditEntity(getDataSource(), dcpId, getLoadExecutor()); + FloatingObjectService service = getService(FloatingObjectService.class); + FloatingObject loaded = service.loadForEditTransmittingBuoyOperation(floatingObjectId); + service.copyForEditTransmittingBuoyOperation(loaded, getBean()); - getUi().processDataBinding( - FloatingObjectTransmittingBuoyOperationUI.BINDING_TYPE_OPERATION_SELECTED_ITEM); + getUi().processDataBinding(FloatingObjectTransmittingBuoyOperationUI.BINDING_TYPE_OPERATION_SELECTED_ITEM); - TypeTransmittingBuoyOperation typeOperation = - getUi().getTypeOperation().getSelectedItem(); + TypeTransmittingBuoyOperation typeOperation = getUi().getTypeOperation().getSelectedItem(); changeTypeOperation(typeOperation, false); getModel().setMode(mode); @@ -240,57 +236,57 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH } @Override - protected boolean doSave(FloatingObject bean, - DataService dataService, - DataSource dataSource, - TopiaEntityBinder<FloatingObject> binder) throws Exception { + protected boolean doSave(FloatingObject bean) { + + FloatingObjectService service = getService(FloatingObjectService.class); + FloatingObject saved = service.updateTransmittingBuoyOperation(bean); + service.copyForEditTransmittingBuoyOperation(saved, bean); - dataService.update(dataSource, null, bean, getUpdateExecutor()); //FIXME, il faut declancher un evenement dans le cache du storage pour pouvoir redessiner le noeud return true; } - @Override - protected FloatingObject onUpdate(TopiaContext tx, - Object parentBean, - FloatingObject beanToSave) throws TopiaException { - - FloatingObject editBean = getBean(); - - List<TransmittingBuoy> objets = editBean.getTransmittingBuoy(); - - beanToSave.setComment(editBean.getComment()); - - beanToSave.clearTransmittingBuoy(); - - TopiaEntityBinder<TransmittingBuoy> childLoador = getModel().getChildLoador(); - - TopiaDAO<TransmittingBuoy> transmittingBuoyDAO = ObserveDAOHelper.getTransmittingBuoyDAO(tx); - - for (TransmittingBuoy transmittingBuoy : objets) { - TransmittingBuoy newBalise; - - if (transmittingBuoy.getTopiaId() == null) { - - // creation de la balise - - Map<String, Object> map = childLoador.obtainProperties(transmittingBuoy); - - newBalise = transmittingBuoyDAO.create(map); - - } else { - - // mise a jour de la balise - - newBalise = transmittingBuoyDAO.findByTopiaId(transmittingBuoy.getTopiaId()); - - childLoador.load(transmittingBuoy, newBalise, false); - } - - beanToSave.addTransmittingBuoy(newBalise); - } - return beanToSave; - } +// @Override +// protected FloatingObject onUpdate(TopiaContext tx, +// Object parentBean, +// FloatingObject beanToSave) throws TopiaException { +// +// FloatingObject editBean = getBean(); +// +// List<TransmittingBuoy> objets = editBean.getTransmittingBuoy(); +// +// beanToSave.setComment(editBean.getComment()); +// +// beanToSave.clearTransmittingBuoy(); +// +// TopiaEntityBinder<TransmittingBuoy> childLoador = getModel().getChildLoador(); +// +// TopiaDAO<TransmittingBuoy> transmittingBuoyDAO = ObserveDAOHelper.getTransmittingBuoyDAO(tx); +// +// for (TransmittingBuoy transmittingBuoy : objets) { +// TransmittingBuoy newBalise; +// +// if (transmittingBuoy.getTopiaId() == null) { +// +// // creation de la balise +// +// Map<String, Object> map = childLoador.obtainProperties(transmittingBuoy); +// +// newBalise = transmittingBuoyDAO.create(map); +// +// } else { +// +// // mise a jour de la balise +// +// newBalise = transmittingBuoyDAO.findByTopiaId(transmittingBuoy.getTopiaId()); +// +// childLoador.load(transmittingBuoy, newBalise, false); +// } +// +// beanToSave.addTransmittingBuoy(newBalise); +// } +// return beanToSave; +// } @Override protected void afterSave(boolean refresh) { @@ -392,7 +388,8 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH TransmittingBuoyOperation transmittingBuoyOperation, TransmittingBuoy transmittingBuoy) { - getModel().getChildLoador().load(transmittingBuoy, editBean, false); + FloatingObjectService service = getService(FloatingObjectService.class); + service.copyForEditTransmittingBuoy(transmittingBuoy, editBean); if (transmittingBuoy == null) { @@ -436,4 +433,10 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH return objectOperation; } + //TODO Supprimer saveUI et mettre saveUI2 a la place + @Override + public final void saveUI(boolean refresh) { + saveUI2(refresh); + } + } diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIModel.java b/observe-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIModel.java index 0888a16..3fe2242 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIModel.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIModel.java @@ -23,12 +23,8 @@ package fr.ird.observe.ui.content.impl.seine; */ import fr.ird.observe.BinderService; -import fr.ird.observe.ObserveServiceHelper; import fr.ird.observe.entities.seine.FloatingObject; -import fr.ird.observe.entities.seine.TransmittingBuoy; -import fr.ird.observe.entities.seine.TransmittingBuoyImpl; import fr.ird.observe.ui.content.ContentUIModel; -import org.nuiton.topia.persistence.util.TopiaEntityBinder; import org.nuiton.util.beans.BinderModelBuilder; /** @@ -41,40 +37,40 @@ public class FloatingObjectTransmittingBuoyOperationUIModel extends ContentUIMod private static final long serialVersionUID = 1L; - protected TopiaEntityBinder<TransmittingBuoy> childLoador; +// protected TopiaEntityBinder<TransmittingBuoy> childLoador; public FloatingObjectTransmittingBuoyOperationUIModel() { super(FloatingObject.class); - String binderName = getClass().getName() + "-open"; - - BinderService binderService = ObserveServiceHelper.get().getBinderService(); - - childLoador = binderService.getTopiaBinder(TransmittingBuoy.class, binderName); - - if (childLoador == null) { - - BinderModelBuilder<TransmittingBuoy, TransmittingBuoy> builder = binderService.newBinderBuilder( - TransmittingBuoy.class, - TransmittingBuoy.PROPERTY_CODE, - TransmittingBuoy.PROPERTY_OWNERSHIP, - TransmittingBuoy.PROPERTY_TRANSMITTING_BUOY_TYPE, - TransmittingBuoy.PROPERTY_TRANSMITTING_BUOY_OPERATION, - TransmittingBuoy.PROPERTY_BRAND, - TransmittingBuoy.PROPERTY_COUNTRY); - - // enregistrement du binder - childLoador = binderService.registerTopiaBinder(TransmittingBuoy.class, builder, binderName); - - // positionnement de l'entite empty - childLoador.setEmpty(new TransmittingBuoyImpl()); - } +// String binderName = getClass().getName() + "-open"; +// +// BinderService binderService = ObserveServiceHelper.get().getBinderService(); + +// childLoador = binderService.getTopiaBinder(TransmittingBuoy.class, binderName); +// +// if (childLoador == null) { +// +// BinderModelBuilder<TransmittingBuoy, TransmittingBuoy> builder = binderService.newBinderBuilder( +// TransmittingBuoy.class, +// TransmittingBuoy.PROPERTY_CODE, +// TransmittingBuoy.PROPERTY_OWNERSHIP, +// TransmittingBuoy.PROPERTY_TRANSMITTING_BUOY_TYPE, +// TransmittingBuoy.PROPERTY_TRANSMITTING_BUOY_OPERATION, +// TransmittingBuoy.PROPERTY_BRAND, +// TransmittingBuoy.PROPERTY_COUNTRY); +// +// // enregistrement du binder +// childLoador = binderService.registerTopiaBinder(TransmittingBuoy.class, builder, binderName); +// +// // positionnement de l'entite empty +// childLoador.setEmpty(new TransmittingBuoyImpl()); +// } } - public TopiaEntityBinder<TransmittingBuoy> getChildLoador() { - return childLoador; - } +// public TopiaEntityBinder<TransmittingBuoy> getChildLoador() { +// return childLoador; +// } @Override protected BinderModelBuilder<FloatingObject, FloatingObject> createOpeningBinder(BinderService binderService, String binderName) { diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java b/observe-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java index 6787aa7..0ef7e26 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java @@ -21,15 +21,12 @@ */ package fr.ird.observe.ui.content.impl.seine; -import fr.ird.observe.DataService; -import fr.ird.observe.ObserveDAOHelper; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.DataSource; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.db.util.TopiaExecutor2; import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.entities.seine.FloatingObject; -import fr.ird.observe.entities.seine.FloatingObjectDAO; +import fr.ird.observe.services.data.seine.FloatingObjectService; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIHandler; import fr.ird.observe.ui.content.ContentUIModel; @@ -37,10 +34,6 @@ import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; -import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.topia.persistence.util.TopiaEntityBinder; import org.nuiton.validator.NuitonValidatorScope; import static org.nuiton.i18n.I18n.t; @@ -102,30 +95,34 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObject> { super.openUI(); String activityId = getSelectedParentId(); - String dcpId = getSelectedId(); + String floatingObjectId = getSelectedId(); if (log.isInfoEnabled()) { - log.info("activityId = " + activityId); - log.info("dcpId = " + dcpId); + log.info("activityId = " + activityId); + log.info("floatingObjectId = " + floatingObjectId); } ContentMode mode = computeContentMode(); - FloatingObject bean = getBean(); + FloatingObjectService service = getService(FloatingObjectService.class); - DataService dataService = getDataService(); - if (dcpId == null) { + FloatingObject loaded; + + if (floatingObjectId == null) { // creation mode + loaded = service.preCreate(activityId); - dataService.preCreate(getDataSource(), activityId, bean, getLoadBinder(), getPreCreateExecutor()); } else { // update mode + loaded = service.loadForEdit(floatingObjectId); - dataService.loadEditEntity(getDataSource(), dcpId, getLoadExecutor()); } + FloatingObject bean = getBean(); + service.copyForEdit(loaded, bean); + // utilisation du mode requis setContentMode(mode); @@ -160,42 +157,18 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObject> { } @Override - protected boolean doSave(FloatingObject bean, - DataService dataService, - DataSource dataSource, - TopiaEntityBinder<FloatingObject> binder) throws Exception { + protected boolean doSave(FloatingObject bean) { String activityId = getSelectedParentId(); - if (bean.getTopiaId() == null) { - - dataService.create(dataSource, activityId, bean, binder, getCreateExecutor()); - } else { + FloatingObjectService service = getService(FloatingObjectService.class); + FloatingObject saved = service.save(activityId, bean); + service.copyForEdit(saved, bean); - dataService.update(dataSource, null, bean, getUpdateExecutor()); - } return true; } @Override - protected FloatingObject onCreate(TopiaContext tx, Object parent, FloatingObject editBean) throws TopiaException { - ActivitySeine parentBean = (ActivitySeine) parent; - FloatingObjectDAO dao = ObserveDAOHelper.getFloatingObjectDAO(tx); - FloatingObject beanToSave = dao.create(); - editBean.setTopiaId(beanToSave.getTopiaId()); - parentBean.addFloatingObject(beanToSave); - return beanToSave; - } - - @Override - protected FloatingObject onUpdate(TopiaContext tx, Object parentBean, FloatingObject beanToSave) throws TopiaException { - - getLoadBinder().copy(getBean(), beanToSave); - - return beanToSave; - } - - @Override protected void afterSave(boolean refresh) { super.afterSave(refresh); FloatingObject bean = getBean(); @@ -219,33 +192,40 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObject> { } else { // select ancestor node -// treeHelper.refreshNode(node, false); treeHelper.reloadSelectedNode(false, false); } } @Override - protected boolean doDelete(FloatingObject bean, - DataService dataService, - DataSource dataSource, - TopiaExecutor2<? extends TopiaEntity, FloatingObject> deletor) throws Exception { + protected boolean doDelete(FloatingObject bean) { - if (askToDelete(bean)) { - return false; - } + boolean result; - if (bean.getTopiaId() != null) { + if (!askToDelete(bean)) { + + result = false; + + } else { String activityId = getSelectedParentId(); - dataService.delete(dataSource, activityId, bean, deletor); + getService(FloatingObjectService.class).delete(activityId, bean.getTopiaId()); + result = true; + } - return true; + + return result; + } + //TODO Supprimer saveUI et mettre saveUI2 a la place @Override - protected void onDelete(TopiaContext tx, Object parent, FloatingObject beanToDelete) { - ActivitySeine parentBean = (ActivitySeine) parent; - parentBean.removeFloatingObject(beanToDelete); + public final void saveUI(boolean refresh) { + saveUI2(refresh); } + //TODO Supprimer deleteUI et mettre deleteUI2 a la place + @Override + public final void deleteUI() { + deleteUI2(); + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
participants (1)
-
codelutin.com scm