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 796526754295a8fe6f58b86222984dc417179d6d Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Apr 29 15:49:26 2015 +0200 desciption des binder seine dans binder service, échantillon capturé --- .../main/java/fr/ird/observe/BinderService.java | 219 +++++++++++++++++++++ .../data/seine/ObjectObservedSpeciesService.java | 14 -- .../seine/ObjectObservedSpeciesServiceImpl.java | 85 +------- .../data/seine/ObjectSchoolEstimateService.java | 14 -- .../seine/ObjectSchoolEstimateServiceImpl.java | 83 +------- .../observe/services/data/seine/RouteService.java | 14 -- .../services/data/seine/RouteServiceImpl.java | 91 +-------- .../services/data/seine/SchoolEstimateService.java | 14 -- .../data/seine/SchoolEstimateServiceImpl.java | 102 +--------- .../services/data/seine/SetSeineService.java | 8 - .../services/data/seine/SetSeineServiceImpl.java | 58 +----- .../services/data/seine/TargetLengthService.java | 24 +++ .../data/seine/TargetLengthServiceImpl.java | 91 +++++++++ .../services/data/seine/TargetSampleService.java | 8 +- .../data/seine/TargetSampleServiceImpl.java | 129 ++---------- .../services/data/seine/TripSeineService.java | 14 -- .../services/data/seine/TripSeineServiceImpl.java | 88 +-------- .../ui/content/impl/seine/SetSeineUIHandler.java | 3 +- .../list/impl/seine/ActivitySeinesUIHandler.java | 3 +- .../content/list/impl/seine/RoutesUIHandler.java | 4 +- .../ui/content/open/impl/seine/RouteUIHandler.java | 3 +- .../open/impl/seine/TripSeineUIHandler.java | 3 +- .../impl/seine/ObjectObservedSpeciesUIHandler.java | 3 +- .../impl/seine/ObjectSchoolEstimateUIHandler.java | 3 +- .../table/impl/seine/SchoolEstimateUIHandler.java | 3 +- .../table/impl/seine/TargetSampleUIHandler.java | 58 +++--- 26 files changed, 425 insertions(+), 714 deletions(-) diff --git a/observe-business/src/main/java/fr/ird/observe/BinderService.java b/observe-business/src/main/java/fr/ird/observe/BinderService.java index 4e72eda..6aea2c7 100644 --- a/observe-business/src/main/java/fr/ird/observe/BinderService.java +++ b/observe-business/src/main/java/fr/ird/observe/BinderService.java @@ -37,6 +37,16 @@ import fr.ird.observe.entities.longline.SizeMeasure; import fr.ird.observe.entities.longline.Tdr; import fr.ird.observe.entities.longline.TripLongline; import fr.ird.observe.entities.longline.WeightMeasure; +import fr.ird.observe.entities.seine.ActivitySeine; +import fr.ird.observe.entities.seine.FloatingObject; +import fr.ird.observe.entities.seine.ObjectObservedSpecies; +import fr.ird.observe.entities.seine.ObjectSchoolEstimate; +import fr.ird.observe.entities.seine.Route; +import fr.ird.observe.entities.seine.SchoolEstimate; +import fr.ird.observe.entities.seine.SetSeine; +import fr.ird.observe.entities.seine.TargetLength; +import fr.ird.observe.entities.seine.TargetSample; +import fr.ird.observe.entities.seine.TripSeine; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.util.TopiaEntityBinder; import org.nuiton.topia.persistence.util.TopiaEntityHelper; @@ -73,6 +83,13 @@ public class BinderService { public static final String EDIT_TDR = "editTdr"; + public static final String EDIT_TARGET_LENGHT = "editTargetLenght"; + + public static final String EDIT_SCHOOL_ESTIMATE = "editSchoolEstimate"; + + public static final String EDIT_OBJECT_SCHOOL_ESTIMATE = "editObjectSchoolEstimate"; + + public static final String EDIT_OBJECT_OBSERVED_SPECIES = "editObjectObservedSpecies"; static { @@ -538,24 +555,226 @@ public class BinderService { { + BinderModelBuilder<TripSeine, TripSeine> builder = newBinderBuilder( + TripSeine.class, + TripSeine.PROPERTY_START_DATE, + TripSeine.PROPERTY_END_DATE, + TripSeine.PROPERTY_FORMS_URL, + TripSeine.PROPERTY_REPORTS_URL, + TripSeine.PROPERTY_COMMENT, + TripSeine.PROPERTY_VESSEL, + TripSeine.PROPERTY_OBSERVER, + TripSeine.PROPERTY_CAPTAIN, + TripSeine.PROPERTY_DATA_ENTRY_OPERATOR, + TripSeine.PROPERTY_OCEAN, + TripSeine.PROPERTY_DEPARTURE_HARBOUR, + TripSeine.PROPERTY_LANDING_HARBOUR, + TripSeine.PROPERTY_PROGRAM, + TripSeine.PROPERTY_ROUTE, + TripSeine.PROPERTY_ERS_ID, + TripSeine.PROPERTY_OPEN); + + registerTopiaBinder(TripSeine.class, builder, EDIT); + + } + + { + + BinderModelBuilder<TripSeine, TripSeine> builder = newBinderBuilder( + TripSeine.class, + TripSeine.PROPERTY_START_DATE, + TripSeine.PROPERTY_END_DATE, + TripSeine.PROPERTY_OPEN, + TripSeine.PROPERTY_OBSERVER, + TripSeine.PROPERTY_VESSEL, + TripSeine.PROPERTY_PROGRAM); + + registerTopiaBinder(TripSeine.class, builder, DISPLAY); + + } + + { + + BinderModelBuilder<TargetLength, TargetLength> builder = newBinderBuilder( + TargetLength.class, + TargetLength.PROPERTY_TARGET_SAMPLE, + TargetLength.PROPERTY_SPECIES, + TargetLength.PROPERTY_LENGTH, + TargetLength.PROPERTY_LENGTH_SOURCE, + TargetLength.PROPERTY_WEIGHT, + TargetLength.PROPERTY_WEIGHT_SOURCE, + TargetLength.PROPERTY_COUNT, + TargetLength.PROPERTY_MEASURE_TYPE, + TargetLength.PROPERTY_ACQUISITION_MODE); + + registerTopiaBinder(TargetLength.class, builder, EDIT); + + } + + { + + BinderModelBuilder<TargetSample, TargetSample> builder = newBinderBuilder( + TargetSample.class, + TargetSample.PROPERTY_TARGET_LENGTH, + TargetSample.PROPERTY_COMMENT); + + registerTopiaBinder(TargetSample.class, builder, EDIT_TARGET_LENGHT); + + } + + { + + BinderModelBuilder<TargetSample, TargetSample> builder = newBinderBuilder( + TargetSample.class, + TargetSample.PROPERTY_TARGET_LENGTH, + TargetSample.PROPERTY_COMMENT); + + registerTopiaBinder(TargetSample.class, builder, EDIT); + + } + + { + + BinderModelBuilder<SetSeine, SetSeine> builder = newBinderBuilder( + SetSeine.class, + SetSeine.PROPERTY_COMMENT, + SetSeine.PROPERTY_SUPPORT_VESSEL_NAME, + SetSeine.PROPERTY_START_TIME, + SetSeine.PROPERTY_END_SET_TIME_STAMP, + SetSeine.PROPERTY_END_PURSING_TIME_STAMP, + SetSeine.PROPERTY_CURRENT_DIRECTION, + SetSeine.PROPERTY_CURRENT_SPEED, + SetSeine.PROPERTY_REASON_FOR_NULL_SET, + SetSeine.PROPERTY_SCHOOL_THICKNESS, + SetSeine.PROPERTY_MAX_GEAR_DEPTH, + SetSeine.PROPERTY_SCHOOL_MEAN_DEPTH, + SetSeine.PROPERTY_SCHOOL_TOP_DEPTH, + SetSeine.PROPERTY_CURRENT_MEASURE_DEPTH, + SetSeine.PROPERTY_TARGET_DISCARDED, + SetSeine.PROPERTY_NON_TARGET_DISCARDED, + SetSeine.PROPERTY_SCHOOL_TYPE, + SetSeine.PROPERTY_SONAR_USED, + SetSeine.PROPERTY_TARGET_SAMPLE, + SetSeine.PROPERTY_NON_TARGET_SAMPLE); + + registerTopiaBinder(SetSeine.class, builder, EDIT); + + } + + { + + BinderModelBuilder<SchoolEstimate, SchoolEstimate> builder = newBinderBuilder( + SchoolEstimate.class, + SchoolEstimate.PROPERTY_SET_SEINE, + SchoolEstimate.PROPERTY_SPECIES, + SchoolEstimate.PROPERTY_TOTAL_WEIGHT, + SchoolEstimate.PROPERTY_MEAN_WEIGHT); + + registerTopiaBinder(SchoolEstimate.class, builder, EDIT); + + } + + { + BinderModelBuilder<SetSeine, SetSeine> builder = newBinderBuilder( + SetSeine.class, + SetSeine.PROPERTY_COMMENT, + SetSeine.PROPERTY_SCHOOL_ESTIMATE); + + registerTopiaBinder(SetSeine.class, builder, EDIT_SCHOOL_ESTIMATE); + } { + BinderModelBuilder<ActivitySeine, ActivitySeine> builder = newBinderBuilder( + ActivitySeine.class, + ActivitySeine.PROPERTY_QUADRANT, + ActivitySeine.PROPERTY_LATITUDE, + ActivitySeine.PROPERTY_LONGITUDE, + ActivitySeine.PROPERTY_TIME, + ActivitySeine.PROPERTY_SEA_SURFACE_TEMPERATURE, + ActivitySeine.PROPERTY_REASON_FOR_NO_FISHING, + ActivitySeine.PROPERTY_VESSEL_ACTIVITY_SEINE, + ActivitySeine.PROPERTY_WIND, + ActivitySeine.PROPERTY_OPEN); + + registerTopiaBinder(ActivitySeine.class, builder, EDIT); } { + BinderModelBuilder<Route, Route> builder = newBinderBuilder( + Route.class, + Route.PROPERTY_DATE, + Route.PROPERTY_START_LOG_VALUE, + Route.PROPERTY_END_LOG_VALUE, + Route.PROPERTY_CHECK_LEVEL, + Route.PROPERTY_ACTIVITY_SEINE, + Route.PROPERTY_OPEN, + Route.PROPERTY_COMMENT); + + builder.addCollectionStrategy(Binder.CollectionStrategy.duplicate, Route.PROPERTY_ACTIVITY_SEINE); + + registerTopiaBinder(Route.class, builder, EDIT); + } { + BinderModelBuilder<Route, Route> builder = newBinderBuilder( + Route.class, + Route.PROPERTY_DATE, + Route.PROPERTY_OPEN); + + registerTopiaBinder(Route.class, builder, DISPLAY); + } { + BinderModelBuilder<FloatingObject, FloatingObject> builder = newBinderBuilder( + FloatingObject.class, + FloatingObject.PROPERTY_OBJECT_SCHOOL_ESTIMATE, + FloatingObject.PROPERTY_COMMENT); + + registerTopiaBinder(FloatingObject.class, builder, EDIT_OBJECT_SCHOOL_ESTIMATE); } + { + + BinderModelBuilder<ObjectSchoolEstimate, ObjectSchoolEstimate> builder = newBinderBuilder( + ObjectSchoolEstimate.class, + ObjectSchoolEstimate.PROPERTY_SPECIES, + ObjectSchoolEstimate.PROPERTY_TOTAL_WEIGHT); + + registerTopiaBinder(ObjectSchoolEstimate.class, builder, EDIT); + + } + + { + + BinderModelBuilder<ObjectObservedSpecies, ObjectObservedSpecies> builder = newBinderBuilder( + ObjectObservedSpecies.class, + ObjectObservedSpecies.PROPERTY_SPECIES, + ObjectObservedSpecies.PROPERTY_SPECIES_STATUS, + ObjectObservedSpecies.PROPERTY_COUNT); + + registerTopiaBinder(ObjectObservedSpecies.class, builder, EDIT); + + } + + { + + BinderModelBuilder<FloatingObject, FloatingObject> builder = newBinderBuilder( + FloatingObject.class, + FloatingObject.PROPERTY_OBJECT_OBSERVED_SPECIES, + FloatingObject.PROPERTY_COMMENT); + + registerTopiaBinder(FloatingObject.class, builder, EDIT_OBJECT_OBSERVED_SPECIES); + + } + + } public <E extends TopiaEntity> void copy(Class<E> type, String context, E source, E target) { diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/ObjectObservedSpeciesService.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/ObjectObservedSpeciesService.java index cf46428..2bd726a 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/ObjectObservedSpeciesService.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/ObjectObservedSpeciesService.java @@ -3,10 +3,8 @@ package fr.ird.observe.services.data.seine; import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.entities.seine.ObjectObservedSpecies; import fr.ird.observe.services.Commit; -import fr.ird.observe.services.NoTransaction; import fr.ird.observe.services.ObserveService; import org.nuiton.topia.persistence.util.EntityListUpdator; -import org.nuiton.topia.persistence.util.TopiaEntityBinder; /** * Created on 4/28/15. @@ -21,17 +19,5 @@ public interface ObjectObservedSpeciesService extends ObserveService { @Commit void save(FloatingObject floatingObject); - @NoTransaction - TopiaEntityBinder<FloatingObject> getBinderForFloatingObjectEdit(); - - @NoTransaction - void copyForEdit(FloatingObject source, FloatingObject target); - - @NoTransaction - TopiaEntityBinder<ObjectObservedSpecies> getBinderForObjectObservedSpeciesEdit(); - - @NoTransaction - void copyForEdit(ObjectObservedSpecies source, ObjectObservedSpecies target); - EntityListUpdator<FloatingObject, ObjectObservedSpecies> getListUpdator(); } \ No newline at end of file diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/ObjectObservedSpeciesServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/ObjectObservedSpeciesServiceImpl.java index 0fddc44..5f8e84f 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/ObjectObservedSpeciesServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/ObjectObservedSpeciesServiceImpl.java @@ -7,7 +7,6 @@ import fr.ird.observe.services.AbstractObserveService; import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.util.EntityListUpdator; import org.nuiton.topia.persistence.util.TopiaEntityBinder; -import org.nuiton.util.beans.BinderModelBuilder; import java.util.ArrayList; import java.util.List; @@ -23,7 +22,7 @@ public class ObjectObservedSpeciesServiceImpl extends AbstractObserveService imp FloatingObject parentLoaded = getDao(FloatingObject.class).newInstance(); - copyForEdit(parentToLoad, parentLoaded); + copy(FloatingObject.class, BinderService.EDIT_OBJECT_OBSERVED_SPECIES, parentToLoad, parentLoaded); if (!parentToLoad.isObjectObservedSpeciesEmpty()) { @@ -34,7 +33,7 @@ public class ObjectObservedSpeciesServiceImpl extends AbstractObserveService imp for (ObjectObservedSpecies sourceChild : parentToLoad.getObjectObservedSpecies()) { ObjectObservedSpecies targetChild = childDao.newInstance(); - copyForEdit(sourceChild, targetChild); + copy(ObjectObservedSpecies.class, BinderService.EDIT, sourceChild, targetChild); childs.add(targetChild); } @@ -49,88 +48,12 @@ public class ObjectObservedSpeciesServiceImpl extends AbstractObserveService imp @Override public void save(FloatingObject floatingObject) { - TopiaEntityBinder<FloatingObject> parentBinder = getBinderForFloatingObjectEdit(); - TopiaEntityBinder<ObjectObservedSpecies> childbinder = getBinderForObjectObservedSpeciesEdit(); + TopiaEntityBinder<FloatingObject> parentBinder = getBinder(FloatingObject.class, BinderService.EDIT_OBJECT_OBSERVED_SPECIES); + TopiaEntityBinder<ObjectObservedSpecies> childbinder = getBinder(ObjectObservedSpecies.class, BinderService.EDIT); doSaveList(floatingObject, new SaveCollectionAction<FloatingObject, ObjectObservedSpecies>( FloatingObject.class, ObjectObservedSpecies.class, getListUpdator(), parentBinder, childbinder)); -// @Override -// public FloatingObject onUpdateParent(FloatingObject parentToSave, FloatingObject parentSaved) { -// getBinderForFloatingObjectEdit().copyExcluding(parentToSave, parentSaved, FloatingObject.PROPERTY_OBJECT_OBSERVED_SPECIES); -// getDao(FloatingObject.class).update(parentSaved); -// return parentSaved; -// } -// -// @Override -// public ObjectObservedSpecies onCreateChild(ObjectObservedSpecies childToSave) { -// ObjectObservedSpecies childSaved = getDao(ObjectObservedSpecies.class).newInstance(); -// getBinderForObjectObservedSpeciesEdit().copy(childToSave, childSaved); -// getDao(ObjectObservedSpecies.class).create(childSaved); -// return childSaved; -// } -// -// @Override -// public ObjectObservedSpecies onUpdateChild(ObjectObservedSpecies childToSave, ObjectObservedSpecies childSaved) { -// getBinderForObjectObservedSpeciesEdit().copy(childToSave, childSaved); -// getDao(ObjectObservedSpecies.class).update(childSaved); -// return childSaved; -// } -// }); - - } - - @Override - public TopiaEntityBinder<FloatingObject> getBinderForFloatingObjectEdit() { - TopiaEntityBinder<FloatingObject> binder = loadBinder("-forObjectObservedSpeciesEdit", 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_OBSERVED_SPECIES, - FloatingObject.PROPERTY_COMMENT); - - return builder; - - } - - }); - - return binder; - } - - @Override - public void copyForEdit(FloatingObject source, FloatingObject target) { - getBinderForFloatingObjectEdit().load(source, target, true); - } - - @Override - public TopiaEntityBinder<ObjectObservedSpecies> getBinderForObjectObservedSpeciesEdit() { - TopiaEntityBinder<ObjectObservedSpecies> binder = loadBinder("-forEdit", ObjectObservedSpecies.class, new CreateBinder<ObjectObservedSpecies>() { - - @Override - public BinderModelBuilder<ObjectObservedSpecies, ObjectObservedSpecies> createBinderBuilder(BinderService binderService, String name) { - - BinderModelBuilder<ObjectObservedSpecies, ObjectObservedSpecies> builder = binderService.newBinderBuilder( - ObjectObservedSpecies.class, - ObjectObservedSpecies.PROPERTY_SPECIES, - ObjectObservedSpecies.PROPERTY_SPECIES_STATUS, - ObjectObservedSpecies.PROPERTY_COUNT); - - return builder; - - } - - }); - - return binder; - } - - @Override - public void copyForEdit(ObjectObservedSpecies source, ObjectObservedSpecies target) { - getBinderForObjectObservedSpeciesEdit().load(source, target, true); } @Override diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/ObjectSchoolEstimateService.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/ObjectSchoolEstimateService.java index a1e079d..4581a6d 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/ObjectSchoolEstimateService.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/ObjectSchoolEstimateService.java @@ -3,10 +3,8 @@ package fr.ird.observe.services.data.seine; import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.entities.seine.ObjectSchoolEstimate; import fr.ird.observe.services.Commit; -import fr.ird.observe.services.NoTransaction; import fr.ird.observe.services.ObserveService; import org.nuiton.topia.persistence.util.EntityListUpdator; -import org.nuiton.topia.persistence.util.TopiaEntityBinder; /** * Created on 4/28/15. @@ -21,17 +19,5 @@ public interface ObjectSchoolEstimateService extends ObserveService { @Commit void save(FloatingObject floatingObject); - @NoTransaction - TopiaEntityBinder<FloatingObject> getBinderForFloatingObjectEdit(); - - @NoTransaction - void copyForEdit(FloatingObject source, FloatingObject target); - - @NoTransaction - TopiaEntityBinder<ObjectSchoolEstimate> getBinderForObjectSchoolEstimateEdit(); - - @NoTransaction - void copyForEdit(ObjectSchoolEstimate source, ObjectSchoolEstimate target); - EntityListUpdator<FloatingObject, ObjectSchoolEstimate> getListUpdator(); } diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/ObjectSchoolEstimateServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/ObjectSchoolEstimateServiceImpl.java index b947c96..060ecb1 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/ObjectSchoolEstimateServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/ObjectSchoolEstimateServiceImpl.java @@ -7,7 +7,6 @@ import fr.ird.observe.services.AbstractObserveService; import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.util.EntityListUpdator; import org.nuiton.topia.persistence.util.TopiaEntityBinder; -import org.nuiton.util.beans.BinderModelBuilder; import java.util.ArrayList; import java.util.List; @@ -24,7 +23,7 @@ public class ObjectSchoolEstimateServiceImpl extends AbstractObserveService impl FloatingObject parentLoaded = getDao(FloatingObject.class).newInstance(); - copyForEdit(parentToLoad, parentLoaded); + copy(FloatingObject.class, BinderService.EDIT_OBJECT_SCHOOL_ESTIMATE, parentToLoad, parentLoaded); if (!parentToLoad.isObjectSchoolEstimateEmpty()) { @@ -35,7 +34,7 @@ public class ObjectSchoolEstimateServiceImpl extends AbstractObserveService impl for (ObjectSchoolEstimate sourceChild : parentToLoad.getObjectSchoolEstimate()) { ObjectSchoolEstimate targetChild = childDao.newInstance(); - copyForEdit(sourceChild, targetChild); + copy(ObjectSchoolEstimate.class, BinderService.EDIT, sourceChild, targetChild); childs.add(targetChild); } @@ -50,86 +49,12 @@ public class ObjectSchoolEstimateServiceImpl extends AbstractObserveService impl @Override public void save(FloatingObject floatingObject) { - TopiaEntityBinder<FloatingObject> parentBinder = getBinderForFloatingObjectEdit(); - TopiaEntityBinder<ObjectSchoolEstimate> childBinder = getBinderForObjectSchoolEstimateEdit(); + TopiaEntityBinder<FloatingObject> parentBinder = getBinder(FloatingObject.class, BinderService.EDIT_OBJECT_SCHOOL_ESTIMATE); + TopiaEntityBinder<ObjectSchoolEstimate> childBinder = getBinder(ObjectSchoolEstimate.class, BinderService.EDIT); doSaveList(floatingObject, new SaveCollectionAction<FloatingObject, ObjectSchoolEstimate>( FloatingObject.class, ObjectSchoolEstimate.class, getListUpdator(), parentBinder, childBinder)); -// @Override -// public FloatingObject onUpdateParent(FloatingObject parentToSave, FloatingObject parentSaved) { -// getBinderForFloatingObjectEdit().copyExcluding(parentToSave, parentSaved, FloatingObject.PROPERTY_OBJECT_SCHOOL_ESTIMATE); -// getDao(FloatingObject.class).update(parentSaved); -// return parentSaved; -// } -// -// @Override -// public ObjectSchoolEstimate onCreateChild(ObjectSchoolEstimate childToSave) { -// ObjectSchoolEstimate childSaved = getDao(ObjectSchoolEstimate.class).newInstance(); -// getBinderForObjectSchoolEstimateEdit().copy(childToSave, childSaved); -// getDao(ObjectSchoolEstimate.class).create(childSaved); -// return childSaved; -// } -// -// @Override -// public ObjectSchoolEstimate onUpdateChild(ObjectSchoolEstimate childToSave, ObjectSchoolEstimate childSaved) { -// getBinderForObjectSchoolEstimateEdit().copy(childToSave, childSaved); -// getDao(ObjectSchoolEstimate.class).update(childSaved); -// return childSaved; -// } -// }); - } - - @Override - public TopiaEntityBinder<FloatingObject> getBinderForFloatingObjectEdit() { - TopiaEntityBinder<FloatingObject> binder = loadBinder("-forObjectSchoolEstimateEdit", 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_SCHOOL_ESTIMATE, - FloatingObject.PROPERTY_COMMENT); - - return builder; - - } - - }); - - return binder; - } - - @Override - public void copyForEdit(FloatingObject source, FloatingObject target) { - getBinderForFloatingObjectEdit().load(source, target, true); - } - - @Override - public TopiaEntityBinder<ObjectSchoolEstimate> getBinderForObjectSchoolEstimateEdit() { - TopiaEntityBinder<ObjectSchoolEstimate> binder = loadBinder("-forEdit", ObjectSchoolEstimate.class, new CreateBinder<ObjectSchoolEstimate>() { - - @Override - public BinderModelBuilder<ObjectSchoolEstimate, ObjectSchoolEstimate> createBinderBuilder(BinderService binderService, String name) { - - BinderModelBuilder<ObjectSchoolEstimate, ObjectSchoolEstimate> builder = binderService.newBinderBuilder( - ObjectSchoolEstimate.class, - ObjectSchoolEstimate.PROPERTY_SPECIES, - ObjectSchoolEstimate.PROPERTY_TOTAL_WEIGHT); - - return builder; - - } - - }); - - return binder; - } - - @Override - public void copyForEdit(ObjectSchoolEstimate source, ObjectSchoolEstimate target) { - getBinderForObjectSchoolEstimateEdit().load(source, target, true); } @Override diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/RouteService.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/RouteService.java index 6dbd6ff..72efcf3 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/RouteService.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/RouteService.java @@ -2,9 +2,7 @@ package fr.ird.observe.services.data.seine; import fr.ird.observe.entities.seine.Route; 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; @@ -32,16 +30,4 @@ public interface RouteService extends ObserveService { @Commit void delete(String tripSeineId, String routeId); - @NoTransaction - TopiaEntityBinder<Route> getBinderForEdit(); - - @NoTransaction - TopiaEntityBinder<Route> getBinderStubForDisplay(); - - @NoTransaction - void copyForEdit(Route source, Route target); - - @NoTransaction - void copyStubForDisplay(Route source, Route target); - } diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/RouteServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/RouteServiceImpl.java index 7fde18e..c524c74 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/RouteServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/RouteServiceImpl.java @@ -1,16 +1,13 @@ package fr.ird.observe.services.data.seine; import fr.ird.observe.BinderService; -import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.entities.seine.ActivitySeines; import fr.ird.observe.entities.seine.Route; import fr.ird.observe.entities.seine.RouteDAO; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.services.AbstractObserveService; import org.apache.commons.lang3.time.DateUtils; -import org.nuiton.topia.persistence.util.TopiaEntityBinder; import org.nuiton.util.DateUtil; -import org.nuiton.util.beans.BinderModelBuilder; import java.util.Date; import java.util.List; @@ -44,7 +41,7 @@ public class RouteServiceImpl extends AbstractObserveService implements RouteSer Route loaded = getDao().newInstance(); Route toLoad = getDao().findByTopiaId(routeId); - copyForEdit(toLoad, loaded); + copy(Route.class, BinderService.EDIT, toLoad, loaded); if (!loaded.isActivitySeineEmpty()) { @@ -105,7 +102,7 @@ public class RouteServiceImpl extends AbstractObserveService implements RouteSer public Route onCreate(TripSeine parent, Route toCreate) { Route created = getDao().create(); - getBinderForEdit().copy(toCreate, created); + copy(Route.class, BinderService.EDIT, toCreate, created); parent.addRoute(created); @@ -122,7 +119,7 @@ public class RouteServiceImpl extends AbstractObserveService implements RouteSer Date oldDate = DateUtil.getDay(toUpdate.getDate()); // recopie des propriétés vers le bean a sauver - getBinderForEdit().copyExcluding(toUpdate, updated, Route.PROPERTY_ACTIVITY_SEINE); + copyExcluding(Route.class, BinderService.EDIT, toUpdate, updated, Route.PROPERTY_ACTIVITY_SEINE); if (!oldDate.equals(toUpdate.getDate())) { @@ -160,88 +157,6 @@ public class RouteServiceImpl extends AbstractObserveService implements RouteSer }); } - @Override - public TopiaEntityBinder<Route> getBinderForEdit() { - - TopiaEntityBinder<Route> binder = loadBinder("-forEdit", Route.class, new CreateBinder<Route>() { - - @Override - public BinderModelBuilder<Route, Route> createBinderBuilder(BinderService binderService, String name) { - - BinderModelBuilder<Route, Route> builder = binderService.newBinderBuilder( - Route.class, - Route.PROPERTY_DATE, - Route.PROPERTY_START_LOG_VALUE, - Route.PROPERTY_END_LOG_VALUE, - Route.PROPERTY_CHECK_LEVEL, - Route.PROPERTY_ACTIVITY_SEINE, - Route.PROPERTY_OPEN, - Route.PROPERTY_COMMENT); - - BinderModelBuilder<ActivitySeine, ActivitySeine> builder2 = binderService.newBinderBuilder( - ActivitySeine.class, - ActivitySeine.PROPERTY_QUADRANT, - ActivitySeine.PROPERTY_LATITUDE, - ActivitySeine.PROPERTY_LONGITUDE, - ActivitySeine.PROPERTY_TIME, - ActivitySeine.PROPERTY_SEA_SURFACE_TEMPERATURE, - ActivitySeine.PROPERTY_REASON_FOR_NO_FISHING, - ActivitySeine.PROPERTY_VESSEL_ACTIVITY_SEINE, - ActivitySeine.PROPERTY_WIND, - ActivitySeine.PROPERTY_OPEN); - - TopiaEntityBinder<ActivitySeine> binder2 = - binderService.registerTopiaBinder(ActivitySeine.class, builder2, name); - - builder.addCollectionBinder(binder2, Route.PROPERTY_ACTIVITY_SEINE); - - return builder; - - } - - }); - - return binder; - - } - - @Override - public TopiaEntityBinder<Route> getBinderStubForDisplay() { - - TopiaEntityBinder<Route> binder = loadBinder("-stubForDisplay", Route.class, new CreateBinder<Route>() { - - @Override - public BinderModelBuilder<Route, Route> createBinderBuilder(BinderService binderService, String name) { - - BinderModelBuilder<Route, Route> builder = binderService.newBinderBuilder( - Route.class, - Route.PROPERTY_DATE, - Route.PROPERTY_OPEN); - - return builder; - - } - - }); - - return binder; - - } - - @Override - public void copyForEdit(Route source, Route target) { - - getBinderForEdit().load(source, target, true); - - } - - @Override - public void copyStubForDisplay(Route source, Route target) { - - getBinderStubForDisplay().load(source, target, true); - - } - protected RouteDAO getDao() { return (RouteDAO) getDao(Route.class); } diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/SchoolEstimateService.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/SchoolEstimateService.java index 9be981c..6030cd3 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/SchoolEstimateService.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/SchoolEstimateService.java @@ -3,10 +3,8 @@ package fr.ird.observe.services.data.seine; import fr.ird.observe.entities.seine.SchoolEstimate; import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.services.Commit; -import fr.ird.observe.services.NoTransaction; import fr.ird.observe.services.ObserveService; import org.nuiton.topia.persistence.util.EntityListUpdator; -import org.nuiton.topia.persistence.util.TopiaEntityBinder; /** * Created on 4/28/15. @@ -21,18 +19,6 @@ public interface SchoolEstimateService extends ObserveService { @Commit void save(SetSeine parent); - @NoTransaction - TopiaEntityBinder<SetSeine> getBinderForSetSeineEdit(); - - @NoTransaction - void copyForEdit(SetSeine source, SetSeine target); - - @NoTransaction - TopiaEntityBinder<SchoolEstimate> getBinderForSchoolEstimateEdit(); - - @NoTransaction - void copyForEdit(SchoolEstimate source, SchoolEstimate target); - EntityListUpdator<SetSeine, SchoolEstimate> getListUpdator(); } diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/SchoolEstimateServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/SchoolEstimateServiceImpl.java index 1959817..351ec2b 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/SchoolEstimateServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/SchoolEstimateServiceImpl.java @@ -7,7 +7,6 @@ import fr.ird.observe.services.AbstractObserveService; import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.util.EntityListUpdator; import org.nuiton.topia.persistence.util.TopiaEntityBinder; -import org.nuiton.util.beans.BinderModelBuilder; import java.util.ArrayList; import java.util.List; @@ -26,7 +25,8 @@ public class SchoolEstimateServiceImpl extends AbstractObserveService implements SetSeine parentToLoad = findByTopiaId(SetSeine.class, setSeineId); SetSeine parentLoaded = getDao(SetSeine.class).newInstance(); - copyForEdit(parentToLoad, parentLoaded); + + copy(SetSeine.class, BinderService.EDIT_SCHOOL_ESTIMATE, parentToLoad, parentLoaded); if (!parentToLoad.isSchoolEstimateEmpty()) { @@ -37,7 +37,7 @@ public class SchoolEstimateServiceImpl extends AbstractObserveService implements for (SchoolEstimate sourceChild : parentToLoad.getSchoolEstimate()) { SchoolEstimate targetChild = childDao.newInstance(); - copyForEdit(sourceChild, targetChild); + copy(SchoolEstimate.class, BinderService.EDIT, sourceChild, targetChild); childs.add(targetChild); } @@ -53,103 +53,11 @@ public class SchoolEstimateServiceImpl extends AbstractObserveService implements @Override public void save(SetSeine parent) { - TopiaEntityBinder<SetSeine> parentBinder = getBinderForSetSeineEdit(); - TopiaEntityBinder<SchoolEstimate> childBinder = getBinderForSchoolEstimateEdit(); + TopiaEntityBinder<SetSeine> parentBinder = getBinder(SetSeine.class, BinderService.EDIT_SCHOOL_ESTIMATE); + TopiaEntityBinder<SchoolEstimate> childBinder = getBinder(SchoolEstimate.class, BinderService.EDIT); doSaveList(parent, new SaveCollectionAction<SetSeine, SchoolEstimate>( SetSeine.class, SchoolEstimate.class, getListUpdator(), parentBinder, childBinder)); -// -// @Override -// public void prepareSave(SetSeine parent, Collection<SchoolEstimate> toSaves) { -// for (SchoolEstimate child : toSaves) { -// child.setSetSeine(parent); -// } -// } -// -// @Override -// public SetSeine onUpdateParent(SetSeine parentToSave, SetSeine parentSaved) { -// getBinderForSetSeineEdit().copyExcluding(parentToSave, parentSaved, SetSeine.PROPERTY_SCHOOL_ESTIMATE); -// getDao(SetSeine.class).update(parentSaved); -// return parentSaved; -// } -// -// @Override -// public SchoolEstimate onCreateChild(SchoolEstimate childToSave) { -// SchoolEstimate childSaved = getDao(SchoolEstimate.class).newInstance(); -// getBinderForSchoolEstimateEdit().copy(childToSave, childSaved); -// getDao(SchoolEstimate.class).create(childSaved); -// return childSaved; -// } -// -// @Override -// public SchoolEstimate onUpdateChild(SchoolEstimate childToSave, SchoolEstimate childSaved) { -// getBinderForSchoolEstimateEdit().copy(childToSave, childSaved); -// getDao(SchoolEstimate.class).update(childSaved); -// return childSaved; -// } -// }); - - } - - @Override - public TopiaEntityBinder<SetSeine> getBinderForSetSeineEdit() { - - TopiaEntityBinder<SetSeine> binder = loadBinder("-forSchoolEstimateEdit", SetSeine.class, new CreateBinder<SetSeine>() { - - @Override - public BinderModelBuilder<SetSeine, SetSeine> createBinderBuilder(BinderService binderService, String name) { - - BinderModelBuilder<SetSeine, SetSeine> builder = binderService.newBinderBuilder( - SetSeine.class, - SetSeine.PROPERTY_COMMENT, SetSeine.PROPERTY_SCHOOL_ESTIMATE); - - return builder; - - } - - }); - - return binder; - - } - - @Override - public void copyForEdit(SetSeine source, SetSeine target) { - - getBinderForSetSeineEdit().load(source, target, true); - - } - - @Override - public TopiaEntityBinder<SchoolEstimate> getBinderForSchoolEstimateEdit() { - - TopiaEntityBinder<SchoolEstimate> binder = loadBinder("-forEdit", SchoolEstimate.class, new CreateBinder<SchoolEstimate>() { - - @Override - public BinderModelBuilder<SchoolEstimate, SchoolEstimate> createBinderBuilder(BinderService binderService, String name) { - - BinderModelBuilder<SchoolEstimate, SchoolEstimate> builder = binderService.newBinderBuilder( - SchoolEstimate.class, - SchoolEstimate.PROPERTY_SET_SEINE, - SchoolEstimate.PROPERTY_SPECIES, - SchoolEstimate.PROPERTY_TOTAL_WEIGHT, - SchoolEstimate.PROPERTY_MEAN_WEIGHT); - - return builder; - - } - - }); - - return binder; - - } - - @Override - public void copyForEdit(SchoolEstimate source, SchoolEstimate target) { - - getBinderForSchoolEstimateEdit().load(source, target, true); - } @Override diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/SetSeineService.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/SetSeineService.java index 9d86f50..94d2d76 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/SetSeineService.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/SetSeineService.java @@ -2,9 +2,7 @@ package fr.ird.observe.services.data.seine; import fr.ird.observe.entities.seine.SetSeine; 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.Date; @@ -29,10 +27,4 @@ public interface SetSeineService extends ObserveService { @Commit void delete(String activitySeineId, String setSeineId); - - @NoTransaction - TopiaEntityBinder<SetSeine> getBinderForEdit(); - - @NoTransaction - void copyForEdit(SetSeine source, SetSeine target); } diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/SetSeineServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/SetSeineServiceImpl.java index cc31a3d..ed9bd24 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/SetSeineServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/SetSeineServiceImpl.java @@ -9,9 +9,7 @@ import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.entities.seine.SetSeineDAO; import fr.ird.observe.entities.seine.TargetSample; import fr.ird.observe.services.AbstractObserveService; -import org.nuiton.topia.persistence.util.TopiaEntityBinder; import org.nuiton.util.DateUtil; -import org.nuiton.util.beans.BinderModelBuilder; import java.util.Date; @@ -42,7 +40,7 @@ public class SetSeineServiceImpl extends AbstractObserveService implements SetSe SetSeine loaded = getDao().newInstance(); SetSeine toLoad = getDao().findByTopiaId(setSeineId); - copyForEdit(toLoad, loaded); + copy(SetSeine.class, BinderService.EDIT, toLoad, loaded); //FIXME See why need this ? if (!loaded.isTargetSampleEmpty()) { @@ -101,7 +99,7 @@ public class SetSeineServiceImpl extends AbstractObserveService implements SetSe public SetSeine onCreate(ActivitySeine parent, SetSeine toCreate) { SetSeine created = getDao().create(); - getBinderForEdit().copy(toCreate, created); + copy(SetSeine.class, BinderService.EDIT, toCreate, created); parent.setSetSeine(created); @@ -111,7 +109,10 @@ public class SetSeineServiceImpl extends AbstractObserveService implements SetSe @Override public SetSeine onUpdate(ActivitySeine parent, SetSeine toUpdate, SetSeine updated) { - getBinderForEdit().copyExcluding(toUpdate, updated, + copyExcluding(SetSeine.class, + BinderService.EDIT, + toUpdate, + updated, SetSeine.PROPERTY_TARGET_SAMPLE, SetSeine.PROPERTY_NON_TARGET_SAMPLE); return updated; @@ -139,53 +140,6 @@ public class SetSeineServiceImpl extends AbstractObserveService implements SetSe } - @Override - public TopiaEntityBinder<SetSeine> getBinderForEdit() { - - TopiaEntityBinder<SetSeine> binder = loadBinder("-forEdit", SetSeine.class, new CreateBinder<SetSeine>() { - - @Override - public BinderModelBuilder<SetSeine, SetSeine> createBinderBuilder(BinderService binderService, String name) { - - BinderModelBuilder<SetSeine, SetSeine> builder = binderService.newBinderBuilder( - SetSeine.class, - SetSeine.PROPERTY_COMMENT, - SetSeine.PROPERTY_SUPPORT_VESSEL_NAME, - SetSeine.PROPERTY_START_TIME, - SetSeine.PROPERTY_END_SET_TIME_STAMP, - SetSeine.PROPERTY_END_PURSING_TIME_STAMP, - SetSeine.PROPERTY_CURRENT_DIRECTION, - SetSeine.PROPERTY_CURRENT_SPEED, - SetSeine.PROPERTY_REASON_FOR_NULL_SET, - SetSeine.PROPERTY_SCHOOL_THICKNESS, - SetSeine.PROPERTY_MAX_GEAR_DEPTH, - SetSeine.PROPERTY_SCHOOL_MEAN_DEPTH, - SetSeine.PROPERTY_SCHOOL_TOP_DEPTH, - SetSeine.PROPERTY_CURRENT_MEASURE_DEPTH, - SetSeine.PROPERTY_TARGET_DISCARDED, - SetSeine.PROPERTY_NON_TARGET_DISCARDED, - SetSeine.PROPERTY_SCHOOL_TYPE, - SetSeine.PROPERTY_SONAR_USED, - SetSeine.PROPERTY_TARGET_SAMPLE, - SetSeine.PROPERTY_NON_TARGET_SAMPLE); - - return builder; - - } - - }); - - return binder; - - } - - @Override - public void copyForEdit(SetSeine source, SetSeine target) { - - getBinderForEdit().load(source, target, true); - - } - protected SetSeineDAO getDao() { return (SetSeineDAO) getDao(SetSeine.class); } diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/TargetLengthService.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/TargetLengthService.java new file mode 100644 index 0000000..b70ca5d --- /dev/null +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/TargetLengthService.java @@ -0,0 +1,24 @@ +package fr.ird.observe.services.data.seine; + +import fr.ird.observe.entities.seine.TargetLength; +import fr.ird.observe.entities.seine.TargetSample; +import fr.ird.observe.services.Commit; +import fr.ird.observe.services.NoTransaction; +import fr.ird.observe.services.ObserveService; +import org.nuiton.topia.persistence.util.EntityListUpdator; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public interface TargetLengthService extends ObserveService { + + TargetSample loadForEdit(String setId, boolean discarded); + + @Commit + void save(TargetSample parent); + + @NoTransaction + EntityListUpdator<TargetSample, TargetLength> getListUpdator(); + + +} diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/TargetLengthServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/TargetLengthServiceImpl.java new file mode 100644 index 0000000..339a346 --- /dev/null +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/TargetLengthServiceImpl.java @@ -0,0 +1,91 @@ +package fr.ird.observe.services.data.seine; + +import fr.ird.observe.BinderService; +import fr.ird.observe.entities.seine.SetSeine; +import fr.ird.observe.entities.seine.TargetLength; +import fr.ird.observe.entities.seine.TargetSample; +import fr.ird.observe.services.AbstractObserveService; +import org.nuiton.topia.persistence.util.EntityListUpdator; +import org.nuiton.topia.persistence.util.TopiaEntityBinder; + +import java.util.Collection; +import java.util.List; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class TargetLengthServiceImpl extends AbstractObserveService implements TargetLengthService { + + @Override + public TargetSample loadForEdit(String setId, boolean discarded) { + + SetSeine setSeine = findByTopiaId(SetSeine.class, setId); + + TargetSample toLoad = null; + + if (!setSeine.isNonTargetSampleEmpty()) { + + List<TargetSample> targetSamples = setSeine.getTargetSample(); + for (TargetSample targetSample : targetSamples) { + + Boolean isDiscarded = targetSample.getDiscarded(); + + if (discarded == (isDiscarded != null && isDiscarded)) { + toLoad = targetSample; + } + + } + + } + + TargetSample loaded = getDao(TargetSample.class).newInstance(); + + if (toLoad != null) { + + copyExcluding(TargetSample.class, BinderService.EDIT_TARGET_LENGHT, toLoad, loaded, TargetSample.PROPERTY_TARGET_LENGTH); + + for (TargetLength childToLoad : toLoad.getTargetLength()) { + + TargetLength childLoaded = getDao(TargetLength.class).newInstance(); + + copy(TargetLength.class, BinderService.EDIT, childToLoad, childLoaded); + + loaded.addTargetLength(childLoaded); + + } + } + + + return loaded; + } + + @Override + public void save(TargetSample parent) { + + TopiaEntityBinder<TargetSample> parentBinder = getBinder(TargetSample.class, BinderService.EDIT_TARGET_LENGHT); + TopiaEntityBinder<TargetLength> childbinder = getBinder(TargetLength.class, BinderService.EDIT); + + doSaveList(parent, new SaveCollectionAction<TargetSample, TargetLength>( + TargetSample.class, TargetLength.class, getListUpdator(), parentBinder, childbinder) { + + @Override + public void prepareSave(TargetSample parent, Collection<TargetLength> tosaves) { + + for (TargetLength targetLength : tosaves) { + + // on attache a l'echantillon + targetLength.setTargetSample(parent); + } + + }git + }); + } + + @Override + public EntityListUpdator<TargetSample, TargetLength> getListUpdator() { + return EntityListUpdator.newEntityListUpdator( + TargetSample.class, + TargetLength.class, + TargetSample.PROPERTY_TARGET_LENGTH); + } +} diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/TargetSampleService.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/TargetSampleService.java index 82fe30f..689f730 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/TargetSampleService.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/TargetSampleService.java @@ -5,7 +5,6 @@ import fr.ird.observe.entities.seine.TargetLength; import fr.ird.observe.entities.seine.TargetSample; import fr.ird.observe.services.Commit; import fr.ird.observe.services.ObserveService; -import org.nuiton.topia.persistence.util.TopiaEntityBinder; import java.util.Collection; import java.util.List; @@ -32,9 +31,6 @@ public interface TargetSampleService extends ObserveService { @Commit void delete(String setId, TargetSample bean); - String save(String setSeineId, TargetSample toSave, Collection<TargetLength> childrenToSave); - - TopiaEntityBinder<TargetLength> getChildBinderForEdit(); - - TopiaEntityBinder<TargetSample> getBinderForEdit(); + @Commit + String save(String setSeineId, TargetSample toSave); } diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/TargetSampleServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/TargetSampleServiceImpl.java index 5fd0a8f..1b6f8a1 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/TargetSampleServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/TargetSampleServiceImpl.java @@ -11,8 +11,6 @@ import fr.ird.observe.entities.seine.TargetSampleDAO; import fr.ird.observe.services.AbstractObserveService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.persistence.util.TopiaEntityBinder; -import org.nuiton.util.beans.BinderModelBuilder; import java.util.ArrayList; import java.util.Collection; @@ -106,13 +104,13 @@ public class TargetSampleServiceImpl extends AbstractObserveService implements T if (toLoad != null) { - getBinderForEdit().copy(toLoad, loaded, TargetSample.PROPERTY_TARGET_LENGTH); + copyExcluding(TargetSample.class, BinderService.EDIT_TARGET_LENGHT, toLoad, loaded, TargetSample.PROPERTY_TARGET_LENGTH); for (TargetLength childToLoad : toLoad.getTargetLength()) { TargetLength childLoaded = getChildDao().newInstance(); - getChildBinderForEdit().copy(childToLoad, childLoaded); + copy(TargetLength.class, BinderService.EDIT, childToLoad, childLoaded); loaded.addTargetLength(childLoaded); @@ -179,122 +177,29 @@ public class TargetSampleServiceImpl extends AbstractObserveService implements T } @Override - public String save(String setSeineId, TargetSample toSave, Collection<TargetLength> childrenToSave) { - -// String savedId = doSave(setSeineId, toSave, new SaveAction<SetSeine, TargetSample>(SetSeine.class, TargetSample.class) { -// @Override -// public TargetSample onCreate(SetSeine parent, TargetSample toCreate) { -// -// TargetSample created = getDao().create(); -// getBinderForEdit().copyExcluding(toCreate, created, TargetSample.PROPERTY_TARGET_LENGTH); -// parent.addTargetSample(created); -// getDao().update(created); -// return created; -// } -// -// @Override -// public TargetSample onUpdate(SetSeine parentBean, TargetSample toSave, TargetSample beanToSave) { -// getBinderForEdit().copyExcluding(toSave, beanToSave, TargetSample.PROPERTY_TARGET_LENGTH); -// getDao().update(beanToSave); -// return beanToSave; -// } -// }); -// -// toSave.setTopiaId(savedId); -// -// doSaveList(toSave, childrenToSave, new SaveCollectionAction<TargetSample, TargetLength>(TargetSample.class, TargetLength.class) { -// -// @Override -// public void prepareSave(TargetSample parent, Collection<TargetLength> tosaves) { -// -// for (TargetLength targetLength : tosaves) { -// -// // on attache a l'echantillon -// targetLength.setTargetSample(parent); -// } -// -// } -// -// @Override -// public Collection<TargetLength> getChildren(TargetSample parent) { -// return parent.getTargetLength(); -// } -// -// @Override -// public void clearChildren(TargetSample parent) { -// parent.clearTargetLength(); -// } -// -// @Override -// public TargetLength onCreateChild(TargetLength childToSave) { -// TargetLength childSaved = getChildDao().create(); -// getChildBinderForEdit().copy(childToSave, childSaved); -// getChildDao().update(childSaved); -// return childSaved; -// } -// -// @Override -// public TargetLength onUpdateChild(TargetLength childToSave, TargetLength childSaved) { -// getChildBinderForEdit().copy(childToSave, childSaved); -// getChildDao().update(childSaved); -// return childSaved; -// } -// -// @Override -// public void addChild(TargetSample parent, TargetLength child) { -// parent.addTargetLength(child); -// } -// }); - - return null; - - } - - @Override - public TopiaEntityBinder<TargetLength> getChildBinderForEdit() { - TopiaEntityBinder<TargetLength> r = loadBinder("-forEdit", TargetLength.class, new CreateBinder<TargetLength>() { + public String save(String setSeineId, TargetSample toSave) { + String savedId = doSave(setSeineId, toSave, new SaveAction<SetSeine, TargetSample>(SetSeine.class, TargetSample.class) { @Override - public BinderModelBuilder<TargetLength, TargetLength> createBinderBuilder(BinderService binderService, String name) { - - BinderModelBuilder<TargetLength, TargetLength> builder = binderService.newBinderBuilder( - TargetLength.class, - TargetLength.PROPERTY_TARGET_SAMPLE, - TargetLength.PROPERTY_SPECIES, - TargetLength.PROPERTY_LENGTH, - TargetLength.PROPERTY_LENGTH_SOURCE, - TargetLength.PROPERTY_WEIGHT, - TargetLength.PROPERTY_WEIGHT_SOURCE, - TargetLength.PROPERTY_COUNT, - TargetLength.PROPERTY_MEASURE_TYPE, - TargetLength.PROPERTY_ACQUISITION_MODE); - - return builder; - } - - }); + public TargetSample onCreate(SetSeine parent, TargetSample toCreate) { - return r; - } - - @Override - public TopiaEntityBinder<TargetSample> getBinderForEdit() { - TopiaEntityBinder<TargetSample> r = loadBinder("-forEdit", TargetSample.class, new CreateBinder<TargetSample>() { + TargetSample created = getDao().create(); + copyExcluding(TargetSample.class, BinderService.EDIT, toCreate, created, TargetSample.PROPERTY_TARGET_LENGTH); + parent.addTargetSample(created); + getDao().update(created); + return created; + } @Override - public BinderModelBuilder<TargetSample, TargetSample> createBinderBuilder(BinderService binderService, String name) { - - BinderModelBuilder<TargetSample, TargetSample> builder = binderService.newBinderBuilder( - TargetSample.class, - TargetSample.PROPERTY_TARGET_LENGTH, - TargetSample.PROPERTY_COMMENT); - - return builder; + public TargetSample onUpdate(SetSeine parentBean, TargetSample toSave, TargetSample beanToSave) { + copyExcluding(TargetSample.class, BinderService.EDIT, toSave, beanToSave, TargetSample.PROPERTY_TARGET_LENGTH); + getDao().update(beanToSave); + return beanToSave; } - }); - return r; + return savedId; + } } diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/TripSeineService.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/TripSeineService.java index 4ba8a05..e3b6680 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/TripSeineService.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/TripSeineService.java @@ -2,9 +2,7 @@ package fr.ird.observe.services.data.seine; import fr.ird.observe.entities.seine.TripSeine; 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; @@ -32,16 +30,4 @@ public interface TripSeineService extends ObserveService { @Commit void delete(String idToDelete); - @NoTransaction - TopiaEntityBinder<TripSeine> getBinderForEdit(); - - @NoTransaction - TopiaEntityBinder<TripSeine> getBinderStubForDisplay(); - - @NoTransaction - void copyForEdit(TripSeine source, TripSeine target); - - @NoTransaction - void copyStubForDisplay(TripSeine source, TripSeine target); - } diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/TripSeineServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/TripSeineServiceImpl.java index b092415..f910d1f 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/TripSeineServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/TripSeineServiceImpl.java @@ -7,10 +7,7 @@ import fr.ird.observe.entities.seine.Routes; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.entities.seine.TripSeineDAO; import fr.ird.observe.services.AbstractObserveService; -import org.nuiton.topia.persistence.util.TopiaEntityBinder; import org.nuiton.util.DateUtil; -import org.nuiton.util.beans.Binder; -import org.nuiton.util.beans.BinderModelBuilder; import java.util.Date; import java.util.List; @@ -50,7 +47,7 @@ public class TripSeineServiceImpl extends AbstractObserveService implements Trip TripSeine loaded = getDao().newInstance(); TripSeine toLoad = getDao().findByTopiaId(tripSeineId); - copyForEdit(toLoad, loaded); + copy(TripSeine.class, BinderService.EDIT, toLoad, loaded); if (!loaded.isRouteEmpty()) { @@ -108,13 +105,13 @@ public class TripSeineServiceImpl extends AbstractObserveService implements Trip @Override public TripSeine onCreate(Program parent, TripSeine toCreate) { TripSeine created = getDao().create(); - getBinderForEdit().copy(toCreate, created); + copy(TripSeine.class, BinderService.EDIT, toCreate, created); return created; } @Override public TripSeine onUpdate(Program parentBean, TripSeine toUpdate, TripSeine updated) { - getBinderForEdit().copyExcluding(toUpdate, updated, TripSeine.PROPERTY_ROUTE); + copyExcluding(TripSeine.class, BinderService.EDIT, toUpdate, updated, TripSeine.PROPERTY_ROUTE); return updated; } }); @@ -128,83 +125,4 @@ public class TripSeineServiceImpl extends AbstractObserveService implements Trip doDelete(null, idtoDelete, new DeleteAction<Program, TripSeine>(Program.class, TripSeine.class)); } - @Override - public TopiaEntityBinder<TripSeine> getBinderForEdit() { - - TopiaEntityBinder<TripSeine> r = loadBinder("-forEdit", TripSeine.class, new CreateBinder<TripSeine>() { - - @Override - public BinderModelBuilder<TripSeine, TripSeine> createBinderBuilder(BinderService binderService, String name) { - - BinderModelBuilder<TripSeine, TripSeine> builder = binderService.newBinderBuilder( - TripSeine.class, - TripSeine.PROPERTY_START_DATE, - TripSeine.PROPERTY_END_DATE, - TripSeine.PROPERTY_FORMS_URL, - TripSeine.PROPERTY_REPORTS_URL, - TripSeine.PROPERTY_COMMENT, - TripSeine.PROPERTY_VESSEL, - TripSeine.PROPERTY_OBSERVER, - TripSeine.PROPERTY_CAPTAIN, - TripSeine.PROPERTY_DATA_ENTRY_OPERATOR, - TripSeine.PROPERTY_OCEAN, - TripSeine.PROPERTY_DEPARTURE_HARBOUR, - TripSeine.PROPERTY_LANDING_HARBOUR, - TripSeine.PROPERTY_PROGRAM, - TripSeine.PROPERTY_ROUTE, - TripSeine.PROPERTY_ERS_ID, - TripSeine.PROPERTY_OPEN); - - // on ajoute la recopie de l'association route - builder.addCollectionStrategy(Binder.CollectionStrategy.duplicate, TripSeine.PROPERTY_ROUTE); - - return builder; - } - - }); - - return r; - - } - - @Override - public TopiaEntityBinder<TripSeine> getBinderStubForDisplay() { - - TopiaEntityBinder<TripSeine> r = loadBinder("-stubForDisplay", TripSeine.class, new CreateBinder<TripSeine>() { - - @Override - public BinderModelBuilder<TripSeine, TripSeine> createBinderBuilder(BinderService binderService, String name) { - - BinderModelBuilder<TripSeine, TripSeine> builder = binderService.newBinderBuilder( - TripSeine.class, - TripSeine.PROPERTY_START_DATE, - TripSeine.PROPERTY_END_DATE, - TripSeine.PROPERTY_OPEN, - TripSeine.PROPERTY_OBSERVER, - TripSeine.PROPERTY_VESSEL, - TripSeine.PROPERTY_PROGRAM); - - return builder; - } - - }); - - return r; - - } - - @Override - public void copyForEdit(TripSeine source, TripSeine target) { - - getBinderForEdit().load(source, target, true); - - } - - @Override - public void copyStubForDisplay(TripSeine source, TripSeine target) { - - getBinderStubForDisplay().load(source, target, true); - - } - } diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java b/observe-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java index 904c177..913edb4 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java @@ -21,6 +21,7 @@ */ package fr.ird.observe.ui.content.impl.seine; +import fr.ird.observe.BinderService; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.DataSource; import fr.ird.observe.db.constants.DataContextType; @@ -179,7 +180,7 @@ public class SetSeineUIHandler extends ContentUIHandler<SetSeine> { } SetSeine bean = getBean(); - service.copyForEdit(loaded, bean); + copy(SetSeine.class, BinderService.EDIT, loaded, bean); Date date = service.getRouteDate(routeId); Date time = bean.getStartTime(); diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java b/observe-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java index 5b866ce..5b80eeb 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java @@ -21,6 +21,7 @@ */ package fr.ird.observe.ui.content.list.impl.seine; +import fr.ird.observe.BinderService; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.entities.seine.ActivitySeine; @@ -112,7 +113,7 @@ public class ActivitySeinesUIHandler extends ContentListUIHandler<Route, Activit Route loaded = routeService.getRouteStub(selectedId); Route bean = getBean(); - routeService.copyStubForDisplay(loaded, bean); + copy(Route.class, BinderService.DISPLAY, loaded, bean); ActivitySeineService activityService = getService(ActivitySeineService.class); List<ActivitySeine> activitySeines = activityService.getActivitySeineStubByRoute(selectedId); diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java b/observe-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java index d8276b9..f24e760 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java @@ -21,8 +21,8 @@ */ package fr.ird.observe.ui.content.list.impl.seine; +import fr.ird.observe.BinderService; import fr.ird.observe.db.DataContext; -import fr.ird.observe.db.DataSourceException; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.entities.seine.Route; import fr.ird.observe.entities.seine.TripSeine; @@ -109,7 +109,7 @@ public class RoutesUIHandler extends ContentListUIHandler<TripSeine, Route> { TripSeineService tripService = getService(TripSeineService.class); TripSeine loaded = tripService.getTripSeineStub(selectedId); TripSeine bean = getBean(); - tripService.copyStubForDisplay(loaded, bean); + copy(TripSeine.class, BinderService.DISPLAY, loaded, bean); RouteService routeService = getService(RouteService.class); List<Route> routes = routeService.getRouteStubByTrip(selectedId); diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java b/observe-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java index 5f58080..2fc2bd5 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java @@ -21,6 +21,7 @@ */ package fr.ird.observe.ui.content.open.impl.seine; +import fr.ird.observe.BinderService; import fr.ird.observe.ObserveContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; @@ -146,7 +147,7 @@ public class RouteUIHandler extends ContentOpenableUIHandler<Route> { } Route bean = getBean(); - service.copyForEdit(loaded, bean); + copy(Route.class, BinderService.EDIT, loaded, bean); finalizeOpenUI(mode, create); diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java b/observe-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java index 27ca6a9..619a52c 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java @@ -21,6 +21,7 @@ */ package fr.ird.observe.ui.content.open.impl.seine; +import fr.ird.observe.BinderService; import fr.ird.observe.ObserveConfig; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; @@ -175,7 +176,7 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeine> { } TripSeine bean = getBean(); - service.copyForEdit(loaded, bean); + copy(TripSeine.class, BinderService.EDIT, loaded, bean); getUi().getTripSeineTabPane().setSelectedIndex(0); buildTripMap = true; diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java b/observe-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java index 771e474..04d98f4 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java @@ -21,6 +21,7 @@ */ package fr.ird.observe.ui.content.table.impl.seine; +import fr.ird.observe.BinderService; import fr.ird.observe.ObserveConfig; import fr.ird.observe.db.DataSourceException; import fr.ird.observe.db.constants.DataContextType; @@ -67,7 +68,7 @@ public class ObjectObservedSpeciesUIHandler extends ContentTableUIHandler<Floati FloatingObject loaded = service.loadForEdit(floatingObjectId); - service.copyForEdit(loaded, getBean()); + copy(FloatingObject.class, BinderService.EDIT_OBJECT_OBSERVED_SPECIES, loaded, getBean()); } diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java b/observe-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java index 853fb15..49902b0 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java @@ -21,6 +21,7 @@ */ package fr.ird.observe.ui.content.table.impl.seine; +import fr.ird.observe.BinderService; import fr.ird.observe.ObserveConfig; import fr.ird.observe.db.DataSourceException; import fr.ird.observe.db.constants.DataContextType; @@ -67,7 +68,7 @@ public class ObjectSchoolEstimateUIHandler extends ContentTableUIHandler<Floatin FloatingObject loaded = service.loadForEdit(floatingObjectId); - service.copyForEdit(loaded, getBean()); + copy(FloatingObject.class, BinderService.EDIT_OBJECT_SCHOOL_ESTIMATE, loaded, getBean()); } diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java b/observe-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java index 01b461d..bc72d5d 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java @@ -21,6 +21,7 @@ */ package fr.ird.observe.ui.content.table.impl.seine; +import fr.ird.observe.BinderService; import fr.ird.observe.ObserveConfig; import fr.ird.observe.db.DataSourceException; import fr.ird.observe.db.constants.DataContextType; @@ -80,7 +81,7 @@ public class SchoolEstimateUIHandler extends ContentTableUIHandler<SetSeine, Sch SetSeine loaded = service.loadForEdit(setSeineId); - service.copyForEdit(loaded, getBean()); + copy(SetSeine.class, BinderService.EDIT_SCHOOL_ESTIMATE, loaded, getBean()); } diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java b/observe-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java index 098aafe..15b28a1 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java @@ -21,6 +21,7 @@ */ package fr.ird.observe.ui.content.table.impl.seine; +import fr.ird.observe.BinderService; import fr.ird.observe.DataService; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.DataSource; @@ -30,6 +31,7 @@ import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.entities.seine.TargetLength; import fr.ird.observe.entities.seine.TargetSample; +import fr.ird.observe.services.data.seine.TargetLengthService; import fr.ird.observe.services.data.seine.TargetSampleService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.ContentMode; @@ -131,67 +133,69 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSample, T } @Override - protected TargetSample loadEditBean(ContentMode mode, - DataContext dataContext, - DataService dataService, - DataSource dataSource) throws DataSourceException { + protected void loadEditBean() { - String setId = dataContext.getSelectedSetId(); - - TargetSampleService service = getService(TargetSampleService.class); + String setId = getDataContext().getSelectedSetId(); - if (mode == ContentMode.UPDATE) { + TargetSample targetSample = getService(TargetLengthService.class).loadForEdit(setId, discarded); - // on ne charge les speciess uniquement si on est en mode édition + copy(TargetSample.class, BinderService.EDIT_TARGET_LENGHT, targetSample, getBean()); - List<Species> speciesList = service.getAvailableEspeceForTargetSample(setId, discarded); + } - getUi().getSpecies().setData(speciesList); - } + @Override + protected void loadTableEditBeanForm(ContentMode mode) { - TargetSample beanToLoad = getService(TargetSampleService.class).getTargetSample(setId, discarded); + if (mode == ContentMode.UPDATE) { - TargetSample editBean = getBean(); + String setId = getDataContext().getSelectedSetId(); - service.getBinderForEdit().copy(beanToLoad, editBean); + // on ne charge les speciess uniquement si on est en mode édition + List<Species> speciesList = getService(TargetSampleService.class).getAvailableEspeceForTargetSample(setId, discarded); - getModel().getChildsUpdator().setChilds(editBean, beanToLoad.getTargetLength()); + getUi().getSpecies().setData(speciesList); + } getModel().setMode(mode); + // initialisation du modèle du tableau getUi().getTableModel().attachModel(); - return editBean; } - - @Override - protected void doPersist(TargetSample bean, DataService dataService, DataSource dataSource) throws DataSourceException { - - TargetSampleService service = getService(TargetSampleService.class); + protected void doPersist(TargetSample editBean) { String setId = getDataContext().getSelectedSetId(); - if (bean.getTopiaId() != null && bean.isTargetLengthEmpty()) { + if (editBean.getTopiaId() != null && editBean.isTargetLengthEmpty()) { // remove orphan target sample if (log.isInfoEnabled()) { - log.info("Remove obsolete targetSample " + bean.getTopiaId() + " from Set: " + setId); + log.info("Remove obsolete targetSample " + editBean.getTopiaId() + " from Set: " + setId); } - service.delete(setId, bean); + + getService(TargetSampleService.class).delete(setId, editBean); } else { - String savedId = service.save(setId, bean, bean.getTargetLength()); + String savedId = getService(TargetSampleService.class).save(setId, editBean); - bean.setTopiaId(savedId); + editBean.setTopiaId(savedId); + getService(TargetLengthService.class).save(editBean); } } + + //TODO Supprimer saveUI et mettre saveUI2 a la place + @Override + public final void saveUI(boolean refresh) { + saveUI2(refresh); + } + @Override protected void onSelectedRowChanged(int editingRow, TargetLength bean, boolean create) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.