Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: e66e81fc by Tony CHEMIT at 2018-09-12T15:11:31Z [PS][LL][DIRECT][SERVEUR] La suppression de marées ne fonctionne pas bien - Closes #1046 - - - - - 2 changed files: - services-local/src/main/java/fr/ird/observe/services/local/service/data/longline/TripLonglineServiceLocal.java - services-local/src/main/java/fr/ird/observe/services/local/service/data/seine/TripSeineServiceLocal.java Changes: ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/data/longline/TripLonglineServiceLocal.java ===================================== @@ -25,8 +25,8 @@ package fr.ird.observe.services.local.service.data.longline; import com.google.common.base.Joiner; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; -import fr.ird.observe.dto.data.TripMapPoint; import fr.ird.observe.dto.data.TripMapDto; +import fr.ird.observe.dto.data.TripMapPoint; import fr.ird.observe.dto.data.longline.TripLonglineDto; import fr.ird.observe.dto.data.longline.TripLonglineReference; import fr.ird.observe.dto.form.Form; @@ -42,18 +42,23 @@ import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.entities.referentiel.Species2; import fr.ird.observe.entities.referentiel.SpeciesList; import fr.ird.observe.persistence.ObserveTopiaPersistenceContext; +import fr.ird.observe.services.local.ObserveServiceContextLocal; import fr.ird.observe.services.local.service.ObserveServiceLocal; import fr.ird.observe.services.local.service.data.TripMapDtoFactory; import fr.ird.observe.services.service.data.longline.TripLonglineService; +import fr.ird.observe.services.service.sql.DeleteSqlScriptProducerRequest; +import fr.ird.observe.services.service.sql.SqlScriptProducerService; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.nuiton.topia.persistence.script.SqlScriptConsumer; +import org.nuiton.topia.persistence.script.TopiaSqlScript; +import org.nuiton.util.DateUtil; + import java.util.ArrayList; -import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.LinkedHashSet; import java.util.List; -import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; -import org.nuiton.util.DateUtil; /** * @author Tony Chemit - dev@tchemit.fr @@ -62,6 +67,14 @@ public class TripLonglineServiceLocal extends ObserveServiceLocal implements Tri private static final Logger log = LogManager.getLogger(TripLonglineServiceLocal.class); + private SqlScriptProducerService sqlScriptProducerService; + + @Override + public void setServiceContext(ObserveServiceContextLocal serviceContext) { + super.setServiceContext(serviceContext); + sqlScriptProducerService = serviceContext.newService(SqlScriptProducerService.class); + } + @Override public DataDtoReferenceSet<TripLonglineReference> getAllTripLongline() { if (log.isTraceEnabled()) { @@ -191,7 +204,12 @@ public class TripLonglineServiceLocal extends ObserveServiceLocal implements Tri log.trace("delete(" + tripLonglineId + ")"); } - TRIP_LONGLINE_SPI.deleteEntity(getTopiaPersistenceContext(), Collections.singleton(tripLonglineId), this::updateLastUpdateDate); + DeleteSqlScriptProducerRequest sqlRequest = DeleteSqlScriptProducerRequest + .builder() + .dataIdsToDelete(ImmutableSet.of(tripLonglineId)); + TopiaSqlScript sqlScript = sqlScriptProducerService.produceDeleteSqlScript(sqlRequest); + + getTopiaPersistenceContext().getSqlSupport().doSqlWork(SqlScriptConsumer.of(sqlScript)); } @Override ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/data/seine/TripSeineServiceLocal.java ===================================== @@ -25,8 +25,8 @@ package fr.ird.observe.services.local.service.data.seine; import com.google.common.base.Joiner; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; -import fr.ird.observe.dto.data.TripMapPoint; import fr.ird.observe.dto.data.TripMapDto; +import fr.ird.observe.dto.data.TripMapPoint; import fr.ird.observe.dto.data.seine.TripSeineDto; import fr.ird.observe.dto.data.seine.TripSeineReference; import fr.ird.observe.dto.form.Form; @@ -40,18 +40,23 @@ import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.entities.referentiel.Species2; import fr.ird.observe.entities.referentiel.SpeciesList; import fr.ird.observe.entities.seine.TripSeine; +import fr.ird.observe.services.local.ObserveServiceContextLocal; import fr.ird.observe.services.local.service.ObserveServiceLocal; import fr.ird.observe.services.local.service.data.TripMapDtoFactory; import fr.ird.observe.services.service.data.seine.TripSeineService; +import fr.ird.observe.services.service.sql.DeleteSqlScriptProducerRequest; +import fr.ird.observe.services.service.sql.SqlScriptProducerService; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.nuiton.topia.persistence.script.SqlScriptConsumer; +import org.nuiton.topia.persistence.script.TopiaSqlScript; +import org.nuiton.util.DateUtil; + import java.util.ArrayList; -import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.LinkedHashSet; import java.util.List; -import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; -import org.nuiton.util.DateUtil; /** * @author Tony Chemit - dev@tchemit.fr @@ -60,6 +65,14 @@ public class TripSeineServiceLocal extends ObserveServiceLocal implements TripSe private static final Logger log = LogManager.getLogger(TripSeineServiceLocal.class); + private SqlScriptProducerService sqlScriptProducerService; + + @Override + public void setServiceContext(ObserveServiceContextLocal serviceContext) { + super.setServiceContext(serviceContext); + sqlScriptProducerService = serviceContext.newService(SqlScriptProducerService.class); + } + @Override public DataDtoReferenceSet<TripSeineReference> getAllTripSeine() { if (log.isTraceEnabled()) { @@ -191,8 +204,12 @@ public class TripSeineServiceLocal extends ObserveServiceLocal implements TripSe log.trace("delete(" + tripSeineId + ")"); } - TRIP_SEINE_SPI.deleteEntity(getTopiaPersistenceContext(), Collections.singleton(tripSeineId), this::updateLastUpdateDate); + DeleteSqlScriptProducerRequest sqlRequest = DeleteSqlScriptProducerRequest + .builder() + .dataIdsToDelete(ImmutableSet.of(tripSeineId)); + TopiaSqlScript sqlScript = sqlScriptProducerService.produceDeleteSqlScript(sqlRequest); + getTopiaPersistenceContext().getSqlSupport().doSqlWork(SqlScriptConsumer.of(sqlScript)); } @Override View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/e66e81fc83ed08f7958f8fb23896... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/e66e81fc83ed08f7958f8fb23896... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT