This is an automated email from the git hooks/post-receive script. New commit to branch feature/6417 in repository tutti. See http://git.codelutin.com/tutti.git commit 4d531da37bdaafbd30d6cacda81b806d2698cb7d Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Jan 12 20:53:14 2015 +0100 passage en lazy loading des services de persistences --- .../tutti/persistence/TuttiPersistenceImpl.java | 55 ++++++++++------------ .../persistence/TuttiPersistenceNoDbImpl.java | 5 ++ .../TuttiPersistenceServiceImplementor.java | 2 + .../service/TechnicalPersistenceService.java | 2 + .../ifremer/tutti/service/PersistenceService.java | 5 ++ 5 files changed, 40 insertions(+), 29 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java index 644d97b..471f592 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java @@ -53,7 +53,6 @@ import fr.ifremer.tutti.persistence.entities.referential.Speciess; import fr.ifremer.tutti.persistence.entities.referential.TuttiLocation; import fr.ifremer.tutti.persistence.entities.referential.TuttiReferentialEntity; import fr.ifremer.tutti.persistence.entities.referential.Vessel; -import fr.ifremer.tutti.persistence.service.AbstractPersistenceService; import fr.ifremer.tutti.persistence.service.AccidentalBatchPersistenceService; import fr.ifremer.tutti.persistence.service.AttachmentPersistenceService; import fr.ifremer.tutti.persistence.service.BenthosBatchPersistenceService; @@ -161,6 +160,11 @@ public class TuttiPersistenceImpl implements TuttiPersistence { } @Override + public void lazyInit() { + // this service does not used lazy init + } + + @Override public void clearAllCaches() { getTechnicalPersistenceService().clearAllCaches(); } @@ -1154,90 +1158,83 @@ public class TuttiPersistenceImpl implements TuttiPersistence { } public AccidentalBatchPersistenceService getAccidentalBatchService() { - return getServiceInitialied(accidentalBatchService); + return getServiceInitialized(accidentalBatchService); } public AttachmentPersistenceService getAttachmentService() { - return getServiceInitialied(attachmentService); + return getServiceInitialized(attachmentService); } public BenthosBatchPersistenceService getBenthosBatchService() { - return getServiceInitialied(benthosBatchService); + return getServiceInitialized(benthosBatchService); } public CaracteristicPersistenceService getCaracteristicService() { - return getServiceInitialied(caracteristicService); + return getServiceInitialized(caracteristicService); } public CatchBatchPersistenceService getCatchBatchService() { - return getServiceInitialied(catchBatchService); + return getServiceInitialized(catchBatchService); } public CruisePersistenceService getCruiseService() { - return getServiceInitialied(cruiseService); + return getServiceInitialized(cruiseService); } public FishingOperationPersistenceService getFishingOperationService() { - return getServiceInitialied(fishingOperationService); + return getServiceInitialized(fishingOperationService); } public GearPersistenceService getGearService() { - return getServiceInitialied(gearService); + return getServiceInitialized(gearService); } public IndividualObservationBatchPersistenceService getIndividualObservationBatchService() { - return getServiceInitialied(individualObservationBatchService); + return getServiceInitialized(individualObservationBatchService); } public LocationPersistenceService getLocationService() { - return getServiceInitialied(locationService); + return getServiceInitialized(locationService); } public MarineLitterBatchPersistenceService getMarineLitterBatchService() { - return getServiceInitialied(marineLitterBatchService); + return getServiceInitialized(marineLitterBatchService); } public ObjectTypePersistenceService getObjectTypeService() { - return getServiceInitialied(objectTypeService); + return getServiceInitialized(objectTypeService); } public PersonPersistenceService getPersonService() { - return getServiceInitialied(personService); + return getServiceInitialized(personService); } public ProtocolPersistenceService getProtocolService() { - return getServiceInitialied(protocolService); + return getServiceInitialized(protocolService); } public ProgramPersistenceService getProgramService() { - return getServiceInitialied(programService); + return getServiceInitialized(programService); } public SpeciesBatchPersistenceService getSpeciesBatchService() { - return getServiceInitialied(speciesBatchService); + return getServiceInitialized(speciesBatchService); } public SpeciesPersistenceService getSpeciesService() { - return getServiceInitialied(speciesService); + return getServiceInitialized(speciesService); } public TechnicalPersistenceService getTechnicalPersistenceService() { - return getServiceInitialied(technicalPersistenceService); + return getServiceInitialized(technicalPersistenceService); } public VesselPersistenceService getVesselService() { - return getServiceInitialied(vesselService); + return getServiceInitialized(vesselService); } - protected <S> S getServiceInitialied(S service) { - - if (service instanceof AbstractPersistenceService) { - AbstractPersistenceService abstractPersistenceService = (AbstractPersistenceService) service; - - abstractPersistenceService.lazyInit(); - - } - + protected <S extends TuttiPersistenceServiceImplementor> S getServiceInitialized(S service) { + service.lazyInit(); return service; } diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java index 1ee8f35..775b3a4 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java @@ -76,6 +76,11 @@ public class TuttiPersistenceNoDbImpl implements TuttiPersistence { } @Override + public void lazyInit() { + throw notImplemented(); + } + + @Override public Version getDbVersion() { throw notImplemented(); } diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceServiceImplementor.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceServiceImplementor.java index f9dc1fa..0f159ff 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceServiceImplementor.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceServiceImplementor.java @@ -34,6 +34,8 @@ import java.io.IOException; */ public interface TuttiPersistenceServiceImplementor extends Closeable { + void lazyInit(); + void init(); void close() throws IOException; diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TechnicalPersistenceService.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TechnicalPersistenceService.java index 3ade09a..4202a42 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TechnicalPersistenceService.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TechnicalPersistenceService.java @@ -67,7 +67,9 @@ public interface TechnicalPersistenceService extends TuttiPersistenceServiceImpl Version getApplicationVersion(); + @Transactional(readOnly = false) void updateSchema(); + @Transactional(readOnly = false) void sanityDb(); } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java index 6b8c046..a44144f 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java @@ -232,6 +232,11 @@ public class PersistenceService extends AbstractTuttiService implements TuttiPer } @Override + public void lazyInit() { + // this service does not used lazy init + } + + @Override public void clearAllCaches() { driver.clearAllCaches(); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.