branch feature/7017 updated (56ed66e -> e886294)
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 56ed66e fix propriété des equipements new e886294 Amélioration du code pour créer des entities (on passe toujours par un binder.obtainProperties) (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 e88629444dec8950762d0447a3ae92eb67d62dab Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue May 5 08:37:08 2015 +0200 Amélioration du code pour créer des entities (on passe toujours par un binder.obtainProperties) (refs #7017) Summary of changes: .../observe/services/AbstractObserveService.java | 9 +++- .../data/longline/ActivityLonglineServiceImpl.java | 5 ++- .../BranchlinesCompositionServiceImpl.java | 1 - .../data/longline/CatchLonglineServiceImpl.java | 9 ++-- .../GearUseFeaturesLonglineServiceImpl.java | 8 ++-- .../LonglineGlobalCompositionServiceImpl.java | 1 + .../data/longline/SetLonglineServiceImpl.java | 7 +-- .../data/longline/TripLonglineServiceImpl.java | 5 ++- .../data/seine/ActivitySeineServiceImpl.java | 11 +++-- .../data/seine/FloatingObjectServiceImpl.java | 11 +++-- .../seine/GearUseFeaturesSeineServiceImpl.java | 5 +-- .../data/seine/NonTargetSampleServiceImpl.java | 6 ++- .../services/data/seine/RouteServiceImpl.java | 5 ++- .../services/data/seine/SetSeineServiceImpl.java | 11 ++--- .../services/data/seine/TripSeineServiceImpl.java | 5 ++- .../referential/ReferentialServiceImpl.java | 50 +++------------------- 16 files changed, 60 insertions(+), 89 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 e88629444dec8950762d0447a3ae92eb67d62dab Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue May 5 08:37:08 2015 +0200 Amélioration du code pour créer des entities (on passe toujours par un binder.obtainProperties) (refs #7017) --- .../observe/services/AbstractObserveService.java | 9 +++- .../data/longline/ActivityLonglineServiceImpl.java | 5 ++- .../BranchlinesCompositionServiceImpl.java | 1 - .../data/longline/CatchLonglineServiceImpl.java | 9 ++-- .../GearUseFeaturesLonglineServiceImpl.java | 8 ++-- .../LonglineGlobalCompositionServiceImpl.java | 1 + .../data/longline/SetLonglineServiceImpl.java | 7 +-- .../data/longline/TripLonglineServiceImpl.java | 5 ++- .../data/seine/ActivitySeineServiceImpl.java | 11 +++-- .../data/seine/FloatingObjectServiceImpl.java | 11 +++-- .../seine/GearUseFeaturesSeineServiceImpl.java | 5 +-- .../data/seine/NonTargetSampleServiceImpl.java | 6 ++- .../services/data/seine/RouteServiceImpl.java | 5 ++- .../services/data/seine/SetSeineServiceImpl.java | 11 ++--- .../services/data/seine/TripSeineServiceImpl.java | 5 ++- .../referential/ReferentialServiceImpl.java | 50 +++------------------- 16 files changed, 60 insertions(+), 89 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 2fd2fe1..cb8290b 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 @@ -25,6 +25,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.List; +import java.util.Map; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -143,6 +144,10 @@ public abstract class AbstractObserveService implements ObserveService { getBinderService().copy(type, context, source, target, bindTechnical); } + public <E extends TopiaEntity> Map<String, Object> obtainProperties(Class<E> type, String context, E source) { + return getBinder(type, context).obtainProperties(source); + } + public <E extends TopiaEntity> TopiaEntityBinder<E> getBinder(Class<E> entityClass, String contextName) { return getBinderService().getBinder(entityClass, contextName); } @@ -417,8 +422,8 @@ public abstract class AbstractObserveService implements ObserveService { public E onCreateChild(E childToCreate) { - E childCreated = getDao(entityClass).create(); - childBinder.load(childToCreate, childCreated, false); + Map<String, Object> properties = childBinder.obtainProperties(childToCreate); + E childCreated = getDao(entityClass).create(properties); return childCreated; diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/longline/ActivityLonglineServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/longline/ActivityLonglineServiceImpl.java index 43b3dd8..6540b46 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/longline/ActivityLonglineServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/longline/ActivityLonglineServiceImpl.java @@ -10,6 +10,7 @@ import fr.ird.observe.services.AbstractObserveService; import java.util.Calendar; import java.util.Date; import java.util.List; +import java.util.Map; /** * Created on 4/25/15. @@ -99,8 +100,8 @@ public class ActivityLonglineServiceImpl extends AbstractObserveService implemen @Override public ActivityLongline onCreate(TripLongline parent, ActivityLongline toCreate) { - ActivityLongline created = getDao().create(); - copy(ActivityLongline.class, BinderService.EDIT, toCreate, created, false); + Map<String, Object> properties = obtainProperties(ActivityLongline.class, BinderService.EDIT, toCreate); + ActivityLongline created = getDao().create(properties); parent.addActivityLongline(created); return created; diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/longline/BranchlinesCompositionServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/longline/BranchlinesCompositionServiceImpl.java index 0eb34f6..d8c933e 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/longline/BranchlinesCompositionServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/longline/BranchlinesCompositionServiceImpl.java @@ -59,7 +59,6 @@ public class BranchlinesCompositionServiceImpl extends AbstractObserveService im doSaveList(setLongline, new SaveCollectionAction<SetLongline, BranchlinesComposition>( SetLongline.class, BranchlinesComposition.class, getListUpdator(), parentBinder, childBinder)); - } protected EntityListUpdator<SetLongline, BranchlinesComposition> getListUpdator() { diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/longline/CatchLonglineServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/longline/CatchLonglineServiceImpl.java index 4703ac7..511768d 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/longline/CatchLonglineServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/longline/CatchLonglineServiceImpl.java @@ -19,6 +19,7 @@ import org.nuiton.topia.persistence.util.TopiaEntityBinder; import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.Map; /** * Created on 4/26/15. @@ -126,8 +127,8 @@ public class CatchLonglineServiceImpl extends AbstractObserveService implements if (Entities.isNew(sizeMeasureToSave)) { - sizeMeasureSaved = dao.create(); - binder.load(sizeMeasureToSave, sizeMeasureSaved, false); + Map<String, Object> properties = binder.obtainProperties(sizeMeasureToSave); + sizeMeasureSaved = dao.create(properties); } else { @@ -162,8 +163,8 @@ public class CatchLonglineServiceImpl extends AbstractObserveService implements if (Entities.isNew(weightMeasureToSave)) { - weightMeasureSaved = dao.create(); - binder.load(weightMeasureToSave, weightMeasureSaved, false); + Map<String, Object> properties = binder.obtainProperties(weightMeasureToSave); + weightMeasureSaved = dao.create(properties); } else { diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/longline/GearUseFeaturesLonglineServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/longline/GearUseFeaturesLonglineServiceImpl.java index 8df0884..ec780c6 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/longline/GearUseFeaturesLonglineServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/longline/GearUseFeaturesLonglineServiceImpl.java @@ -143,11 +143,7 @@ public class GearUseFeaturesLonglineServiceImpl extends AbstractObserveService i @Override public GearUseFeaturesLongline onCreateChild(GearUseFeaturesLongline childToCreate) { - GearUseFeaturesLongline childCreated = getDao(entityClass).create( - GearUseFeaturesLongline.PROPERTY_GEAR, childToCreate.getGear(), - GearUseFeaturesLongline.PROPERTY_NUMBER, childToCreate.getNumber() - ); - childBinder.load(childToCreate, childCreated, false); + GearUseFeaturesLongline childCreated = super.onCreateChild(childToCreate); saveMeasurement(childCreated, childToCreate.getGearUseFeaturesMeasurement()); return childCreated; @@ -155,9 +151,11 @@ public class GearUseFeaturesLonglineServiceImpl extends AbstractObserveService i @Override public GearUseFeaturesLongline onUpdateChild(GearUseFeaturesLongline childToUpdate) { + GearUseFeaturesLongline childUpdated = super.onUpdateChild(childToUpdate); saveMeasurement(childUpdated, childToUpdate.getGearUseFeaturesMeasurement()); return childUpdated; + } protected void saveMeasurement(GearUseFeaturesLongline childSaved, List<GearUseFeaturesMeasurementLongline> measurementsToSave) { diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/longline/LonglineGlobalCompositionServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/longline/LonglineGlobalCompositionServiceImpl.java index 9e5060f..3785293 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/longline/LonglineGlobalCompositionServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/longline/LonglineGlobalCompositionServiceImpl.java @@ -59,6 +59,7 @@ public class LonglineGlobalCompositionServiceImpl extends AbstractObserveService newService(BaitsCompositionService.class).save(toSave); return saved.getTopiaId(); + } } diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/longline/SetLonglineServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/longline/SetLonglineServiceImpl.java index 1ed6810..7f7c1aa 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/longline/SetLonglineServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/longline/SetLonglineServiceImpl.java @@ -14,6 +14,7 @@ import org.nuiton.topia.persistence.TopiaDAO; import java.util.Date; import java.util.List; +import java.util.Map; /** * Created on 4/26/15. @@ -125,9 +126,8 @@ public class SetLonglineServiceImpl extends AbstractObserveService implements Se @Override public SetLongline onCreate(ActivityLongline parent, SetLongline toCreate) { - SetLongline created = getDao().create(); - copy(SetLongline.class, BinderService.EDIT, toCreate, created, false); - + Map<String, Object> properties = obtainProperties(SetLongline.class, BinderService.EDIT, toCreate); + SetLongline created = getDao().create(properties); parent.setSetLongline(created); return created; @@ -154,6 +154,7 @@ public class SetLonglineServiceImpl extends AbstractObserveService implements Se }); return setLonglineId; + } @Override diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/longline/TripLonglineServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/longline/TripLonglineServiceImpl.java index 0d522b6..6c505ca 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/longline/TripLonglineServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/longline/TripLonglineServiceImpl.java @@ -11,6 +11,7 @@ import org.nuiton.util.DateUtil; import java.util.Date; import java.util.List; +import java.util.Map; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -103,8 +104,8 @@ public class TripLonglineServiceImpl extends AbstractObserveService implements T @Override public TripLongline onCreate(Program parent, TripLongline toCreate) { - TripLongline created = getDao().create(); - copy(TripLongline.class, BinderService.EDIT, toCreate, created, false); + Map<String, Object> properties = obtainProperties(TripLongline.class, BinderService.EDIT, toCreate); + TripLongline created = getDao().create(properties); return created; } 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 c83dad2..c5328ba 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 @@ -13,6 +13,7 @@ import org.nuiton.util.DateUtil; import java.util.Date; import java.util.List; +import java.util.Map; /** * Created on 4/24/15. @@ -78,7 +79,7 @@ public class ActivitySeineServiceImpl extends AbstractObserveService implements if (lastActivitySeine == null) { // première activité, on utilise l'heure courante - time = new Date(); + time = serviceContext.now(); } else { @@ -121,10 +122,11 @@ public class ActivitySeineServiceImpl extends AbstractObserveService implements SchoolType newTypeBanc = toUpdate.getSchoolType(); SetSeine set = toUpdate.getSetSeine(); if (set != null) { - // on regarde si le type de banc de la calée a changé + // 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()); @@ -135,6 +137,7 @@ public class ActivitySeineServiceImpl extends AbstractObserveService implements // mise à jour de la propriété schoolType dans la set updated.getSetSeine().setSchoolType(newTypeBanc); + } return updated; @@ -150,8 +153,8 @@ public class ActivitySeineServiceImpl extends AbstractObserveService implements @Override public ActivitySeine onCreate(Route parent, ActivitySeine toCreate) { - ActivitySeine created = getDao().create(); - copy(ActivitySeine.class, BinderService.EDIT, toCreate, created, false); + Map<String, Object> properties = obtainProperties(ActivitySeine.class, BinderService.EDIT, toCreate); + ActivitySeine created = getDao().create(properties); parent.addActivitySeine(created); return created; 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 6a1df52..d9174e3 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 @@ -112,10 +112,9 @@ public class FloatingObjectServiceImpl extends AbstractObserveService implements @Override public FloatingObject onCreate(ActivitySeine parent, FloatingObject toCreate) { - FloatingObject created = getDao().create(); - copy(FloatingObject.class, BinderService.EDIT, toCreate, created, false); + Map<String, Object> properties = obtainProperties(FloatingObject.class, BinderService.EDIT, toCreate); + FloatingObject created = getDao().create(properties); parent.addFloatingObject(created); - return created; } @@ -124,9 +123,9 @@ public class FloatingObjectServiceImpl extends AbstractObserveService implements public FloatingObject onUpdate(ActivitySeine parent, FloatingObject toUpdate) { FloatingObject updated = super.onUpdate(parent, toUpdate); - copy(FloatingObject.class, BinderService.EDIT, toUpdate, updated, true); return updated; + } }); @@ -155,8 +154,8 @@ public class FloatingObjectServiceImpl extends AbstractObserveService implements if (Entities.isNew(transmittingBuoyToSave)) { // creation de la balise - Map<String, Object> map = binder.obtainProperties(transmittingBuoyToSave); - transmittingBuoySaved = transmittingBuoyDAO.create(map); + Map<String, Object> properties = binder.obtainProperties(transmittingBuoyToSave); + transmittingBuoySaved = transmittingBuoyDAO.create(properties); } else { diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/GearUseFeaturesSeineServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/GearUseFeaturesSeineServiceImpl.java index 80e31d4..2d01767 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/GearUseFeaturesSeineServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/GearUseFeaturesSeineServiceImpl.java @@ -144,10 +144,7 @@ public class GearUseFeaturesSeineServiceImpl extends AbstractObserveService impl @Override public GearUseFeaturesSeine onCreateChild(GearUseFeaturesSeine childToCreate) { - GearUseFeaturesSeine childCreated = getDao(entityClass).create( - GearUseFeaturesSeine.PROPERTY_GEAR, childToCreate.getGear(), - GearUseFeaturesSeine.PROPERTY_NUMBER, childToCreate.getNumber()); - this.childBinder.load(childToCreate, childCreated, false); + GearUseFeaturesSeine childCreated = super.onCreateChild(childToCreate); saveMeasurement(childCreated, childToCreate.getGearUseFeaturesMeasurement()); return childCreated; diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/NonTargetSampleServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/NonTargetSampleServiceImpl.java index 90189f1..31c52aa 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/NonTargetSampleServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/NonTargetSampleServiceImpl.java @@ -19,6 +19,7 @@ import org.nuiton.topia.persistence.util.TopiaEntityBinder; import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.Map; import java.util.Set; /** @@ -157,6 +158,7 @@ public class NonTargetSampleServiceImpl extends AbstractObserveService implement NonTargetSampleDAO dao = getDao(); + //FIXME Use obtainPropertiesExcluding NonTargetSample created = dao.create(); copyExcluding(NonTargetSample.class, BinderService.EDIT, toCreate, created, NonTargetSample.PROPERTY_NON_TARGET_LENGTH); parent.addNonTargetSample(created); @@ -197,8 +199,8 @@ public class NonTargetSampleServiceImpl extends AbstractObserveService implement if (Entities.isNew(nonTargetLengthToSave)) { - nonTargetLengthSaved = dao.create(); - binder.load(nonTargetLengthToSave, nonTargetLengthSaved, false); + Map<String, Object> properties = binder.obtainProperties(nonTargetLengthToSave); + nonTargetLengthSaved = dao.create(properties); } else { 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 83425be..7d86f73 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 @@ -11,6 +11,7 @@ import org.nuiton.util.DateUtil; import java.util.Date; import java.util.List; +import java.util.Map; /** * Created on 4/24/15. @@ -95,8 +96,8 @@ public class RouteServiceImpl extends AbstractObserveService implements RouteSer @Override public Route onCreate(TripSeine parent, Route toCreate) { - Route created = getDao().create(); - copy(Route.class, BinderService.EDIT, toCreate, created); + Map<String, Object> properties = obtainProperties(Route.class, BinderService.EDIT, toCreate); + Route created = getDao().create(properties); parent.addRoute(created); 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 d988099..54d1384 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 @@ -12,6 +12,7 @@ import fr.ird.observe.services.AbstractObserveService; import org.nuiton.util.DateUtil; import java.util.Date; +import java.util.Map; /** * Created on 4/24/15. @@ -99,8 +100,8 @@ public class SetSeineServiceImpl extends AbstractObserveService implements SetSe @Override public SetSeine onCreate(ActivitySeine parent, SetSeine toCreate) { - SetSeine created = getDao().create(); - copy(SetSeine.class, BinderService.EDIT, toCreate, created); + Map<String, Object> properties = obtainProperties(SetSeine.class, BinderService.EDIT, toCreate); + SetSeine created = getDao().create(properties); parent.setSetSeine(created); @@ -124,6 +125,7 @@ public class SetSeineServiceImpl extends AbstractObserveService implements SetSe }); return setSeineId; + } @@ -131,13 +133,12 @@ public class SetSeineServiceImpl extends AbstractObserveService implements SetSe public void delete(String activitySeineId, String setSeineId) { // on doit supprimer physiquement la set - // car il n'y a pas de delete-orphan sur une telle - // relation + // car il n'y a pas de delete-orphan sur une telle relation SetSeineDAO dao = getDao(); SetSeine setSeine = dao.findByTopiaId(setSeineId); dao.delete(setSeine); - // supprime la reference sur l'activity + // supprime la reference sur l'activité ActivitySeine activitySeine = findByTopiaId(ActivitySeine.class, activitySeineId); activitySeine.setSetSeine(null); 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 8d75881..7c63b1b 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 @@ -11,6 +11,7 @@ import org.nuiton.util.DateUtil; import java.util.Date; import java.util.List; +import java.util.Map; /** * Created on 4/24/15. @@ -107,8 +108,8 @@ public class TripSeineServiceImpl extends AbstractObserveService implements Trip @Override public TripSeine onCreate(Program parent, TripSeine toCreate) { - TripSeine created = getDao().create(); - copy(TripSeine.class, BinderService.EDIT, toCreate, created); + Map<String, Object> properties = obtainProperties(TripSeine.class, BinderService.EDIT, toCreate); + TripSeine created = getDao().create(properties); return created; } diff --git a/observe-services/src/main/java/fr/ird/observe/services/referential/ReferentialServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/referential/ReferentialServiceImpl.java index 0cf87f6..9e220db 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/referential/ReferentialServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/referential/ReferentialServiceImpl.java @@ -3,7 +3,6 @@ package fr.ird.observe.services.referential; import com.google.common.collect.Lists; import com.google.common.collect.Sets; import fr.ird.observe.BinderService; -import fr.ird.observe.ObserveEntityEnum; import fr.ird.observe.ObserveTechnicalException; import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.constants.ReferenceStatus; @@ -37,7 +36,6 @@ import org.nuiton.topia.persistence.util.TopiaEntityRef; import java.util.ArrayList; import java.util.Collection; import java.util.Date; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; @@ -74,6 +72,7 @@ public class ReferentialServiceImpl extends AbstractObserveService implements Re result = allProgramStub.indexOf(programStub); } return result; + } @Override @@ -95,6 +94,7 @@ public class ReferentialServiceImpl extends AbstractObserveService implements Re binder.obtainProperties(entity); } return Lists.newArrayList(entities); + } @Override @@ -245,7 +245,6 @@ public class ReferentialServiceImpl extends AbstractObserveService implements Re } - } if (CollectionUtils.isEmpty(list)) { @@ -329,31 +328,15 @@ public class ReferentialServiceImpl extends AbstractObserveService implements Re @Override public <R extends ReferenceEntity> String save(R toSave) { - Class<R> entityType = (Class<R>) ObserveEntityEnum.valueOf(toSave).getContract(); + Class<R> entityType = getEntityContractClass(toSave); String referentialId = doSave(null, toSave, new SaveAction<R, R>(entityType, entityType) { @Override public R onCreate(R parent, R toCreate) { - R created; - - if (getNaturalIds().containsKey(entityClass)) { - - // utilisation d'un clef naturelle - String[] naturalIdPropertyNames = getNaturalIds().get(entityClass); - TopiaEntityBinder<R> binder = getBinder(entityClass, BinderService.EDIT); - Map<String, Object> naturalIdValue = binder.obtainProperties(toCreate, naturalIdPropertyNames); - - created = getDao(entityClass).create(naturalIdValue); - copyExcluding(entityClass, BinderService.EDIT, toCreate, created, false, naturalIdPropertyNames); - - } else { - - created = getDao(entityClass).create(); - copy(entityClass, BinderService.EDIT, toCreate, created, false); - - } + Map<String, Object> properties = obtainProperties(entityClass, BinderService.EDIT, toCreate); + R created = getDao(entityClass).create(properties); return created; @@ -380,7 +363,6 @@ public class ReferentialServiceImpl extends AbstractObserveService implements Re } - @Override public void deleteEntities(Collection<String> entityIds) { @@ -533,26 +515,4 @@ public class ReferentialServiceImpl extends AbstractObserveService implements Re } - protected static Map<Class<? extends ReferenceEntity>, String[]> NATURAL_IDS; - - protected static Map<Class<? extends ReferenceEntity>, String[]> getNaturalIds() { - if (NATURAL_IDS == null) { - NATURAL_IDS = new HashMap<Class<? extends ReferenceEntity>, String[]>(); - - NATURAL_IDS.put(LengthWeightParameter.class, new String[]{ - LengthWeightParameter.PROPERTY_SEX, - LengthWeightParameter.PROPERTY_OCEAN, - LengthWeightParameter.PROPERTY_SPECIES, - LengthWeightParameter.PROPERTY_START_DATE, - }); - - NATURAL_IDS.put(WeightCategory.class, new String[]{ - WeightCategory.PROPERTY_CODE, - WeightCategory.PROPERTY_SPECIES - }); - - - } - return NATURAL_IDS; - } } -- 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