This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit d3e1ce2f4ec7392614e411f3f9cabedc28c4612b Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Aug 13 18:07:32 2016 +0200 alignement du service pour les taches sql à generer --- .../referential/ng/action/ApplyAction.java | 10 ++- .../ng/ReferentialSynchronizeRequest.java | 92 +++++++++++++--------- ...ask.java => ReferentialSynchronizeAddTask.java} | 4 +- .../ng/task/ReferentialSynchronizeDeleteTask.java | 11 ++- .../ReferentialSynchronizeDesactivateTask.java | 11 ++- ....java => ReferentialSynchronizeRevertTask.java} | 4 +- .../ng/task/ReferentialSynchronizeTaskSupport.java | 8 +- ....java => ReferentialSynchronizeUpdateTask.java} | 4 +- .../ReferentialSynchronizeDiffServiceTopia.java | 44 +++++++++-- .../ng/ReferentialSynchronizeServiceTopia.java | 43 +++++++--- 10 files changed, 159 insertions(+), 72 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/ApplyAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/ApplyAction.java index ad2ae6f..76e83c2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/ApplyAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/ApplyAction.java @@ -67,26 +67,28 @@ public class ApplyAction extends AbstractObserveAction { } if (task instanceof DeleteReferentialSynchronizeTask) { + DeleteReferentialSynchronizeTask task1 = (DeleteReferentialSynchronizeTask) task; handler.sendMessage(taskLabel); - leftReferentialSynchronizeRequestBuilder.addDeleteTask((task.getData())); + leftReferentialSynchronizeRequestBuilder.addDeleteTask(task1.getData(), task1.getReplaceData()); continue; } if (task instanceof DesactivateReferentialSynchronizeTask) { + DesactivateReferentialSynchronizeTask task1 = (DesactivateReferentialSynchronizeTask) task; handler.sendMessage(taskLabel); - leftReferentialSynchronizeRequestBuilder.addDesactivateWithReplaceTask((task.getData())); + leftReferentialSynchronizeRequestBuilder.addDesactivateTask(task1.getData(), task1.getReplaceData()); continue; } if (task instanceof RevertReferentialSynchronizeTask) { handler.sendMessage(taskLabel); - leftReferentialSynchronizeRequestBuilder.addRevertTask((task.getData())); + leftReferentialSynchronizeRequestBuilder.addRevertTask(task.getData()); continue; } if (task instanceof UpdateToReferentialSynchronizeTask) { handler.sendMessage(taskLabel); - leftReferentialSynchronizeRequestBuilder.addUpdateTask((task.getData())); + leftReferentialSynchronizeRequestBuilder.addUpdateTask(task.getData()); } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeRequest.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeRequest.java index 7cc78be..3ddcb8a 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeRequest.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeRequest.java @@ -1,10 +1,13 @@ package fr.ird.observe.services.service.actions.synchro.referential.ng; import com.google.common.collect.ImmutableSet; -import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeCopyTask; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeAddTask; import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDeleteTask; import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDesactivateTask; -import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDesactivateWithReplaceTask; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeRevertTask; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeUpdateTask; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -32,9 +35,17 @@ public class ReferentialSynchronizeRequest { */ private final boolean oppositeH2; /** - * Copy tasks. + * Add tasks. */ - private final ImmutableSet<ReferentialSynchronizeCopyTask> copyTasks; + private final ImmutableSet<ReferentialSynchronizeAddTask> addTasks; + /** + * Update tasks. + */ + private final ImmutableSet<ReferentialSynchronizeUpdateTask> updateTasks; + /** + * Revert tasks. + */ + private final ImmutableSet<ReferentialSynchronizeRevertTask> revertTasks; /** * Delete tasks. */ @@ -43,19 +54,16 @@ public class ReferentialSynchronizeRequest { * Desactivate tasks. */ private final ImmutableSet<ReferentialSynchronizeDesactivateTask> desactivateTasks; - /** - * Desactivate with replace tasks. - */ - private final ImmutableSet<ReferentialSynchronizeDesactivateWithReplaceTask> desactivateWithReplaceTasks; public static class Builder { private final boolean h2; private final boolean oppositeH2; - private final ImmutableSet.Builder<ReferentialSynchronizeCopyTask> copyTasksBuilder = ImmutableSet.builder(); + private final ImmutableSet.Builder<ReferentialSynchronizeAddTask> addTasksBuilder = ImmutableSet.builder(); + private final ImmutableSet.Builder<ReferentialSynchronizeUpdateTask> updateTasksBuilder = ImmutableSet.builder(); + private final ImmutableSet.Builder<ReferentialSynchronizeRevertTask> revertTasksBuilder = ImmutableSet.builder(); private final ImmutableSet.Builder<ReferentialSynchronizeDeleteTask> deleteTasksBuilder = ImmutableSet.builder(); private final ImmutableSet.Builder<ReferentialSynchronizeDesactivateTask> desactivateTasksBuilder = ImmutableSet.builder(); - private final ImmutableSet.Builder<ReferentialSynchronizeDesactivateWithReplaceTask> desactivateWithReplaceTasksBuilder = ImmutableSet.builder(); public Builder(boolean h2, boolean oppositeH2) { this.h2 = h2; @@ -63,48 +71,63 @@ public class ReferentialSynchronizeRequest { } public ReferentialSynchronizeRequest build() { - return new ReferentialSynchronizeRequest(h2, oppositeH2, copyTasksBuilder.build(), deleteTasksBuilder.build(), desactivateTasksBuilder.build(), desactivateWithReplaceTasksBuilder.build()); + return new ReferentialSynchronizeRequest(h2, oppositeH2, addTasksBuilder.build(), updateTasksBuilder.build(), revertTasksBuilder.build(), deleteTasksBuilder.build(), desactivateTasksBuilder.build()); } - public Builder addDeleteTask(ReferentialSynchronizeDeleteTask<?> task) { + public <R extends ReferentialDto> Builder addDeleteTask(ReferentialReference<R> reference, ReferentialReference<R> replaceReference) { if (log.isInfoEnabled()) { - log.info("Add delete task for data: " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + log.info("Add delete task for data: " + reference.getType().getName() + " / " + reference.getId()); } - deleteTasksBuilder.add(task); + deleteTasksBuilder.add(new ReferentialSynchronizeDeleteTask<>(reference, replaceReference)); return this; } - public Builder addDesactivateTask(ReferentialSynchronizeDesactivateTask<?> task) { + public <R extends ReferentialDto> Builder addDesactivateTask(ReferentialReference<R> reference, ReferentialReference<R> replaceReference) { if (log.isInfoEnabled()) { - log.info("Add desactivate (without replacement) task for data: " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + log.info("Add desactivate (without replacement) task for data: " + reference.getType().getName() + " / " + reference.getId()); } - desactivateTasksBuilder.add(task); + desactivateTasksBuilder.add(new ReferentialSynchronizeDesactivateTask<>(reference, replaceReference)); return this; } - public Builder addDesactivateWithReplaceTask(ReferentialSynchronizeDesactivateWithReplaceTask<?> task) { + public <R extends ReferentialDto> Builder addAddTask(ReferentialReference<R> reference) { + if (log.isInfoEnabled()) { + log.info("Add add task for trip: " + reference.getType().getName() + " / " + reference.getId()); + } + addTasksBuilder.add(new ReferentialSynchronizeAddTask<>(reference)); + return this; + } + public <R extends ReferentialDto> Builder addUpdateTask(ReferentialReference<R> reference) { if (log.isInfoEnabled()) { - log.info("Add desactivate (with replacement) task for data: " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + log.info("Add update task for trip: " + reference.getType().getName() + " / " + reference.getId()); } - desactivateWithReplaceTasksBuilder.add(task); + updateTasksBuilder.add(new ReferentialSynchronizeUpdateTask<>(reference)); return this; } - public Builder addCopyTask(ReferentialSynchronizeCopyTask<?> task) { + public <R extends ReferentialDto> Builder addRevertTask(ReferentialReference<R> reference) { if (log.isInfoEnabled()) { - log.info("Add copy task for trip: " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + log.info("Add revert task for trip: " + reference.getType().getName() + " / " + reference.getId()); } - copyTasksBuilder.add(task); + revertTasksBuilder.add(new ReferentialSynchronizeRevertTask<>(reference)); return this; } } - public ImmutableSet<ReferentialSynchronizeCopyTask> getCopyTasks() { - return copyTasks; + public ImmutableSet<ReferentialSynchronizeAddTask> getAddTasks() { + return addTasks; + } + + public ImmutableSet<ReferentialSynchronizeUpdateTask> getUpdateTasks() { + return updateTasks; + } + + public ImmutableSet<ReferentialSynchronizeRevertTask> getRevertTasks() { + return revertTasks; } public ImmutableSet<ReferentialSynchronizeDeleteTask> getDeleteTasks() { @@ -115,12 +138,8 @@ public class ReferentialSynchronizeRequest { return desactivateTasks; } - public ImmutableSet<ReferentialSynchronizeDesactivateWithReplaceTask> getDesactivateWithReplaceTasks() { - return desactivateWithReplaceTasks; - } - public boolean isNotEmpty() { - return !(copyTasks.isEmpty() && deleteTasks.isEmpty() && desactivateTasks.isEmpty() && desactivateWithReplaceTasks.isEmpty()); + return !(addTasks.isEmpty() && updateTasks.isEmpty() && revertTasks.isEmpty() && deleteTasks.isEmpty() && desactivateTasks.isEmpty()); } public boolean isOppositeH2() { @@ -132,15 +151,16 @@ public class ReferentialSynchronizeRequest { } private ReferentialSynchronizeRequest(boolean h2, boolean oppositeH2, - ImmutableSet<ReferentialSynchronizeCopyTask> copyTasks, - ImmutableSet<ReferentialSynchronizeDeleteTask> deleteTasks, - ImmutableSet<ReferentialSynchronizeDesactivateTask> desactivateTasks, - ImmutableSet<ReferentialSynchronizeDesactivateWithReplaceTask> desactivateWithReplaceTasks) { + ImmutableSet<ReferentialSynchronizeAddTask> addTasks, + ImmutableSet<ReferentialSynchronizeUpdateTask> updateTasks, + ImmutableSet<ReferentialSynchronizeRevertTask> revertTasks, ImmutableSet<ReferentialSynchronizeDeleteTask> deleteTasks, + ImmutableSet<ReferentialSynchronizeDesactivateTask> desactivateTasks) { this.h2 = h2; this.oppositeH2 = oppositeH2; - this.copyTasks = copyTasks; + this.addTasks = addTasks; + this.updateTasks = updateTasks; + this.revertTasks = revertTasks; this.deleteTasks = deleteTasks; this.desactivateTasks = desactivateTasks; - this.desactivateWithReplaceTasks = desactivateWithReplaceTasks; } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeCopyTask.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeAddTask.java similarity index 62% copy from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeCopyTask.java copy to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeAddTask.java index 82b91ee..030877b 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeCopyTask.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeAddTask.java @@ -9,9 +9,9 @@ import fr.ird.observe.services.dto.referential.ReferentialReference; * @author Tony Chemit - chemit@codelutin.com * @since 5.0 */ -public class ReferentialSynchronizeCopyTask<Type extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<Type> { +public class ReferentialSynchronizeAddTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - public ReferentialSynchronizeCopyTask(ReferentialReference<Type> reference) { + public ReferentialSynchronizeAddTask(ReferentialReference<R> reference) { super(reference); } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDeleteTask.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDeleteTask.java index b6c0baa..4d1d5a2 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDeleteTask.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDeleteTask.java @@ -9,9 +9,16 @@ import fr.ird.observe.services.dto.referential.ReferentialReference; * @author Tony Chemit - chemit@codelutin.com * @since 5.0 */ -public class ReferentialSynchronizeDeleteTask<Type extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<Type> { +public class ReferentialSynchronizeDeleteTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - public ReferentialSynchronizeDeleteTask(ReferentialReference<Type> reference) { + private final ReferentialReference<R> replaceReference; + + public ReferentialSynchronizeDeleteTask(ReferentialReference<R> reference, ReferentialReference<R> replaceReference) { super(reference); + this.replaceReference = replaceReference; + } + + public ReferentialReference<R> getReplaceReference() { + return replaceReference; } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDesactivateTask.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDesactivateTask.java index f55853f..4c44ad1 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDesactivateTask.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDesactivateTask.java @@ -9,9 +9,16 @@ import fr.ird.observe.services.dto.referential.ReferentialReference; * @author Tony Chemit - chemit@codelutin.com * @since 5.0 */ -public class ReferentialSynchronizeDesactivateTask<Type extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<Type> { +public class ReferentialSynchronizeDesactivateTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - public ReferentialSynchronizeDesactivateTask(ReferentialReference<Type> reference) { + private final ReferentialReference<R> replaceReference; + + public ReferentialSynchronizeDesactivateTask(ReferentialReference<R> reference, ReferentialReference<R> replaceReference) { super(reference); + this.replaceReference = replaceReference; + } + + public ReferentialReference<R> getReplaceReference() { + return replaceReference; } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDesactivateWithReplaceTask.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeRevertTask.java similarity index 58% rename from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDesactivateWithReplaceTask.java rename to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeRevertTask.java index 8a9a7f6..7510e5e 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDesactivateWithReplaceTask.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeRevertTask.java @@ -9,9 +9,9 @@ import fr.ird.observe.services.dto.referential.ReferentialReference; * @author Tony Chemit - chemit@codelutin.com * @since 5.0 */ -public class ReferentialSynchronizeDesactivateWithReplaceTask<Type extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<Type> { +public class ReferentialSynchronizeRevertTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - public ReferentialSynchronizeDesactivateWithReplaceTask(ReferentialReference<Type> reference) { + public ReferentialSynchronizeRevertTask(ReferentialReference<R> reference) { super(reference); } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeTaskSupport.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeTaskSupport.java index 9771238..a9f3e8d 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeTaskSupport.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeTaskSupport.java @@ -9,18 +9,18 @@ import fr.ird.observe.services.dto.referential.ReferentialReference; * @author Tony Chemit - chemit@codelutin.com * @since 5.0 */ -public abstract class ReferentialSynchronizeTaskSupport<Type extends ReferentialDto> { +public abstract class ReferentialSynchronizeTaskSupport<R extends ReferentialDto> { - private final Class<Type> referentialType; + private final Class<R> referentialType; private final String referentialId; private byte[] dataContent; - protected ReferentialSynchronizeTaskSupport(ReferentialReference<Type> reference) { + protected ReferentialSynchronizeTaskSupport(ReferentialReference<R> reference) { this.referentialType = reference.getType(); this.referentialId = reference.getId(); } - public Class<Type> getReferentialType() { + public Class<R> getReferentialType() { return referentialType; } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeCopyTask.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeUpdateTask.java similarity index 62% rename from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeCopyTask.java rename to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeUpdateTask.java index 82b91ee..67397ca 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeCopyTask.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeUpdateTask.java @@ -9,9 +9,9 @@ import fr.ird.observe.services.dto.referential.ReferentialReference; * @author Tony Chemit - chemit@codelutin.com * @since 5.0 */ -public class ReferentialSynchronizeCopyTask<Type extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<Type> { +public class ReferentialSynchronizeUpdateTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - public ReferentialSynchronizeCopyTask(ReferentialReference<Type> reference) { + public ReferentialSynchronizeUpdateTask(ReferentialReference<R> reference) { super(reference); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffServiceTopia.java index 4a24685..ea0d1bc 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffServiceTopia.java @@ -13,6 +13,7 @@ import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaDao; +import org.nuiton.util.TimeLog; import java.util.List; @@ -27,6 +28,8 @@ public class ReferentialSynchronizeDiffServiceTopia extends ObserveServiceTopia /** Logger. */ private static final Log log = LogFactory.getLog(ReferentialSynchronizeDiffServiceTopia.class); + private static final TimeLog timeLog = new TimeLog(ReferentialSynchronizeDiffServiceTopia.class); + @Override public <R extends ReferentialDto> ReferentialReferenceSet<R> getEnabledReferentialReferenceSet(Class<R> referentialName) { @@ -34,10 +37,9 @@ public class ReferentialSynchronizeDiffServiceTopia extends ObserveServiceTopia log.trace("getEnabledReferentialReferenceSet(" + referentialName + ")"); } - ObserveEntityEnum entityEnum = ObserveEntityEnum.valueOf(referentialName); - Class<? extends ObserveReferentialEntity> entityType = (Class) entityEnum.getContract(); - Class<R> dtoType = BinderEngine.get().getReferentialDtoType(entityType); - ReferentialReferenceSet<R> result = getEnabledReferenceSet0(entityType, dtoType); + Class<? extends ObserveReferentialEntity> entityType = BinderEngine.get().getReferentialEntityType(referentialName); + ObserveEntityEnum entityEnum = ObserveEntityEnum.valueOf(entityType); + ReferentialReferenceSet<R> result = getEnabledReferenceSet0(entityType, referentialName); return result; } @@ -71,28 +73,52 @@ public class ReferentialSynchronizeDiffServiceTopia extends ObserveServiceTopia return referentialStates; } - private <E extends ObserveReferentialEntity, R extends ReferentialDto> ReferentialReferenceSet<R> getReferenceSet0(Class<E> entityType, Class<R> dtoType, ImmutableSet<String> ids) { + private <E extends ObserveReferentialEntity, R extends ReferentialDto> ReferentialReferenceSet<R> getReferenceSet0(Class<E> entityType, Class<R> referentialName, ImmutableSet<String> ids) { + + long startTime = TimeLog.getTime(); + + if (log.isDebugEnabled()) { + log.debug("Loading referential references for " + referentialName.getName()); + } ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); TopiaDao<E> dao = persistenceContext.getDao(entityType); List<E> entities = dao.forTopiaIdIn(ids).findAll(); - ReferentialReferenceSet<R> result = toReferentialReferenceSet(dtoType, entities, null); + ReferentialReferenceSet<R> result = toReferentialReferenceSet(referentialName, entities, null); + + timeLog.log(startTime, "getReferenceSet0", referentialName.getName()); + return result; } - private <E extends ObserveReferentialEntity, R extends ReferentialDto> ReferentialReferenceSet<R> getEnabledReferenceSet0(Class<E> entityType, Class<R> dtoType) { + private <E extends ObserveReferentialEntity, R extends ReferentialDto> ReferentialReferenceSet<R> getEnabledReferenceSet0(Class<E> entityType, Class<R> referentialName) { + + long startTime = TimeLog.getTime(); + + if (log.isDebugEnabled()) { + log.debug("Loading enabled referential references for " + referentialName.getName()); + } ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); TopiaDao<E> dao = persistenceContext.getDao(entityType); List<E> entities = dao.forEquals(ObserveReferentialEntity.PROPERTY_STATUS, ReferenceStatusPersist.enabled).findAll(); - ReferentialReferenceSet<R> result = toReferentialReferenceSet(dtoType, entities, null); + ReferentialReferenceSet<R> result = toReferentialReferenceSet(referentialName, entities, null); + + timeLog.log(startTime, "getEnabledReferenceSet0", referentialName.getName()); + return result; } private <E extends ObserveReferentialEntity, R extends ReferentialDto> void getLocalSourceReferentialVersions0(Class<R> referentialName, Class<E> entityType, ReferentialDataSourceStates localReferentialStates) { + long startTime = TimeLog.getTime(); + + if (log.isDebugEnabled()) { + log.debug("Loading referential states for " + referentialName.getName()); + } + ReferentialDataSourceState<R> referentialDataSourceState = new ReferentialDataSourceState<>(referentialName); TopiaDao<E> dao = getTopiaPersistenceContext().getDao(entityType); for (E e : dao) { @@ -103,6 +129,8 @@ public class ReferentialSynchronizeDiffServiceTopia extends ObserveServiceTopia } localReferentialStates.addReferentialVersion(referentialName, referentialDataSourceState); + timeLog.log(startTime, "getLocalSourceReferentialVersions0", referentialName.getName()); + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeServiceTopia.java index 4feb069..f736624 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeServiceTopia.java @@ -7,10 +7,10 @@ import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.service.AddSqlScriptProducerRequest; import fr.ird.observe.services.service.DeleteSqlScriptProducerRequest; import fr.ird.observe.services.service.SqlScriptProducerService; -import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeCopyTask; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeAddTask; import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDeleteTask; import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDesactivateTask; -import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDesactivateWithReplaceTask; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeUpdateTask; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -36,10 +36,32 @@ public class ReferentialSynchronizeServiceTopia extends ObserveServiceTopia impl @Override public void prepareRequestOnOppositeDataSource(ReferentialSynchronizeRequest request) { - for (ReferentialSynchronizeCopyTask copyTask : request.getCopyTasks()) { + for (ReferentialSynchronizeAddTask copyTask : request.getAddTasks()) { if (log.isInfoEnabled()) { - log.info("Obtain data sql copy content: " + copyTask.getReferentialType().getName() + " / " + copyTask.getReferentialId()); + log.info("Obtain add data sql copy content: " + copyTask.getReferentialType().getName() + " / " + copyTask.getReferentialId()); + } + + // get the data content + + AddSqlScriptProducerRequest sqlRequest; + if (request.isOppositeH2()) { + sqlRequest = AddSqlScriptProducerRequest.forH2(); + } else { + sqlRequest = AddSqlScriptProducerRequest.forPostgres(); + } + sqlRequest.dataIdsToAdd(ImmutableSet.of(copyTask.getReferentialId())); + byte[] sqlScript = sqlScriptProducerService.produceAddSqlScript(sqlRequest); + + // store it in task + copyTask.setDataContent(sqlScript); + + } + + for (ReferentialSynchronizeUpdateTask copyTask : request.getUpdateTasks()) { + + if (log.isInfoEnabled()) { + log.info("Obtain update data sql copy content: " + copyTask.getReferentialType().getName() + " / " + copyTask.getReferentialId()); } // get the data content @@ -104,32 +126,33 @@ public class ReferentialSynchronizeServiceTopia extends ObserveServiceTopia impl } - for (ReferentialSynchronizeCopyTask task : request.getCopyTasks()) { + for (ReferentialSynchronizeAddTask task : request.getAddTasks()) { if (log.isInfoEnabled()) { - log.info("Copy data: " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + log.info("Add data: " + task.getReferentialType().getName() + " / " + task.getReferentialId()); } serviceContext.getTopiaApplicationContext().executeSqlStatements(task.getDataContent()); } - for (ReferentialSynchronizeDesactivateTask task : request.getDesactivateTasks()) { + for (ReferentialSynchronizeUpdateTask task : request.getUpdateTasks()) { if (log.isInfoEnabled()) { - log.info("Desactivate data (without replacement) : " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + log.info("Update data: " + task.getReferentialType().getName() + " / " + task.getReferentialId()); } serviceContext.getTopiaApplicationContext().executeSqlStatements(task.getDataContent()); } - for (ReferentialSynchronizeDesactivateWithReplaceTask task : request.getDesactivateWithReplaceTasks()) { + for (ReferentialSynchronizeDesactivateTask task : request.getDesactivateTasks()) { if (log.isInfoEnabled()) { - log.info("Desactivate data (with replacement) : " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + log.info("Desactivate data (without replacement) : " + task.getReferentialType().getName() + " / " + task.getReferentialId()); } serviceContext.getTopiaApplicationContext().executeSqlStatements(task.getDataContent()); } + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.