branch feature/7017 updated (9f63563 -> 1573007)
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 9f63563 ajout des binders (longline model) dans le binder service (refs #7017) new 1573007 refactor save action for table entities (in ObjectObservedSpecies) 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 15730076436de1521b5b54073d5986e6c37eea08 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Apr 29 11:23:26 2015 +0200 refactor save action for table entities (in ObjectObservedSpecies) Summary of changes: .../data/seine/ObjectObservedSpeciesService.java | 3 + .../seine/ObjectObservedSpeciesServiceImpl.java | 138 +++++++++++++++++++++ .../impl/seine/ObjectObservedSpeciesUIHandler.java | 13 ++ 3 files changed, 154 insertions(+) create mode 100644 observe-services/src/main/java/fr/ird/observe/services/data/seine/ObjectObservedSpeciesServiceImpl.java -- 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 15730076436de1521b5b54073d5986e6c37eea08 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Apr 29 11:23:26 2015 +0200 refactor save action for table entities (in ObjectObservedSpecies) --- .../data/seine/ObjectObservedSpeciesService.java | 3 + .../seine/ObjectObservedSpeciesServiceImpl.java | 138 +++++++++++++++++++++ .../impl/seine/ObjectObservedSpeciesUIHandler.java | 13 ++ 3 files changed, 154 insertions(+) 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 4d50592..cf46428 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 @@ -5,6 +5,7 @@ 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; /** @@ -31,4 +32,6 @@ public interface ObjectObservedSpeciesService extends ObserveService { @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 new file mode 100644 index 0000000..e7d37c2 --- /dev/null +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/ObjectObservedSpeciesServiceImpl.java @@ -0,0 +1,138 @@ +package fr.ird.observe.services.data.seine; + +import fr.ird.observe.BinderService; +import fr.ird.observe.entities.seine.FloatingObject; +import fr.ird.observe.entities.seine.ObjectObservedSpecies; +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; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class ObjectObservedSpeciesServiceImpl extends AbstractObserveService implements ObjectObservedSpeciesService { + @Override + public FloatingObject loadForEdit(String floatingObjectId) { + + FloatingObject parentToLoad = findByTopiaId(FloatingObject.class, floatingObjectId); + + FloatingObject parentLoaded = getDao(FloatingObject.class).newInstance(); + + copyForEdit(parentToLoad, parentLoaded); + + if (!parentToLoad.isObjectObservedSpeciesEmpty()) { + + TopiaDAO<ObjectObservedSpecies> childDao = getDao(ObjectObservedSpecies.class); + + List<ObjectObservedSpecies> childs = new ArrayList<ObjectObservedSpecies>(); + + for (ObjectObservedSpecies sourceChild : parentToLoad.getObjectObservedSpecies()) { + + ObjectObservedSpecies targetChild = childDao.newInstance(); + copyForEdit(sourceChild, targetChild); + childs.add(targetChild); + + } + + parentLoaded.setObjectObservedSpecies(childs); + + } + + return parentLoaded; + } + + @Override + public void save(FloatingObject floatingObject) { + doSaveList(floatingObject, new SaveCollectionAction<FloatingObject, ObjectObservedSpecies>(FloatingObject.class, ObjectObservedSpecies.class, getListUpdator()) { + + @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 + public EntityListUpdator<FloatingObject, ObjectObservedSpecies> getListUpdator() { + return EntityListUpdator.newEntityListUpdator( + FloatingObject.class, + ObjectObservedSpecies.class, + FloatingObject.PROPERTY_OBJECT_OBSERVED_SPECIES); + } +} 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 e1e7460..771e474 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 @@ -115,4 +115,17 @@ public class ObjectObservedSpeciesUIHandler extends ContentTableUIHandler<Floati } + @Override + protected void doPersist(FloatingObject editBean) { + getService(ObjectObservedSpeciesService.class).save(editBean); + } + + + //TODO Supprimer saveUI et mettre saveUI2 a la place + @Override + public final void saveUI(boolean refresh) { + saveUI2(refresh); + } + + } -- 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