This is an automated email from the git hooks/post-receive script. New commit to branch feature/6688 in repository tutti. See http://git.codelutin.com/tutti.git commit 5ce290af9101e17926d273102882396883b89cf8 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Feb 23 20:36:31 2015 +0100 add getAllCruiseId to only grab ids of cruise --- .../tutti/persistence/TuttiPersistenceImpl.java | 6 ++++ .../persistence/TuttiPersistenceNoDbImpl.java | 6 ++++ .../service/CruisePersistenceService.java | 2 ++ .../service/CruisePersistenceServiceImpl.java | 40 ++++++++++++++++++---- .../src/main/resources/queries-failsafe.hbm.xml | 15 ++++++++ .../ifremer/tutti/service/PersistenceService.java | 5 +++ 6 files changed, 67 insertions(+), 7 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 d440f2f..292c608 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 @@ -777,6 +777,12 @@ public class TuttiPersistenceImpl implements TuttiPersistence { //-- Cruise methods --// //------------------------------------------------------------------------// + + @Override + public List<String> getAllCruiseId(String programId) { + return getCruiseService().getAllCruiseId(programId); + } + @Override public List<Cruise> getAllCruise(String programId) { return getCruiseService().getAllCruise(programId); 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 7ab5eeb..24bcc12 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 @@ -414,6 +414,12 @@ public class TuttiPersistenceNoDbImpl implements TuttiPersistence { //-- Cruise methods --// //------------------------------------------------------------------------// + + @Override + public List<String> getAllCruiseId(String programId) { + throw notImplemented(); + } + @Override public List<Cruise> getAllCruise(String programId) { throw notImplemented(); diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceService.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceService.java index 15c5ada..eb6a31a 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceService.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceService.java @@ -40,6 +40,8 @@ import java.util.List; @Transactional(readOnly = true) public interface CruisePersistenceService extends TuttiPersistenceServiceImplementor { + List<String> getAllCruiseId(String programId); + List<Cruise> getAllCruise(String programId); Cruise getCruise(String id); diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java index 2d0d525..58e2381 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java @@ -177,7 +177,28 @@ public class CruisePersistenceServiceImpl extends AbstractPersistenceService imp protected SynchronizationStatusHelper synchronizationStatusHelper; @Override + public List<String> getAllCruiseId(String programId) { + + Preconditions.checkNotNull(programId); + + Iterator list = queryList( + "allCruiseIds", + "programCode", StringType.INSTANCE, programId); + + List<String> result = Lists.newArrayList(); + while (list.hasNext()) { + Integer id = (Integer) list.next(); + result.add(id.toString()); + } + return Collections.unmodifiableList(result); + + } + + @Override public List<Cruise> getAllCruise(String programId) { + + Preconditions.checkNotNull(programId); + Iterator<Object[]> list = queryList( "allCruises", "programCode", StringType.INSTANCE, programId); @@ -193,20 +214,24 @@ public class CruisePersistenceServiceImpl extends AbstractPersistenceService imp result.add(target); } return Collections.unmodifiableList(result); + } @Override - public Cruise getCruise(String id) { + public Cruise getCruise(String cruiseId) { + + Preconditions.checkNotNull(cruiseId); + Object[] source = queryUnique( "cruise", - "cruiseId", IntegerType.INSTANCE, Integer.valueOf(id), + "cruiseId", IntegerType.INSTANCE, Integer.valueOf(cruiseId), "pmfmIdSurveyPart", IntegerType.INSTANCE, PmfmId.SURVEY_PART.getValue()); if (source == null) { - throw new DataRetrievalFailureException("Could not retrieve cruise with id=" + id); + throw new DataRetrievalFailureException("Could not retrieve cruise with id=" + cruiseId); } Cruise result = Cruises.newCruise(); - result.setId(id); + result.setId(cruiseId); int index = 0; @@ -261,7 +286,7 @@ public class CruisePersistenceServiceImpl extends AbstractPersistenceService imp // get cruise gears Iterator<Object[]> list = queryList( "allCruiseGears", - "cruiseId", IntegerType.INSTANCE, Integer.valueOf(id), + "cruiseId", IntegerType.INSTANCE, Integer.valueOf(cruiseId), "pmfmIdTrawlNet", IntegerType.INSTANCE, PmfmId.MULTIRIG_NUMBER.getValue()); List<GearWithOriginalRankOrder> gears = Lists.newArrayList(); @@ -284,7 +309,7 @@ public class CruisePersistenceServiceImpl extends AbstractPersistenceService imp Iterator<Object[]> vesselPersonFeaturesList = queryList( "allCruiseVesselPersonFeatures", - "cruiseId", IntegerType.INSTANCE, Integer.valueOf(id)); + "cruiseId", IntegerType.INSTANCE, Integer.valueOf(cruiseId)); while (vesselPersonFeaturesList.hasNext()) { Object[] vesselPersonFeatures = vesselPersonFeaturesList.next(); @@ -301,10 +326,11 @@ public class CruisePersistenceServiceImpl extends AbstractPersistenceService imp // Force initialization of multirigNumber to 1 initialization (need for UI) if (result.getMultirigNumber() == null) { - log.warn(MessageFormat.format("Cruise with id={0} has been load with a default multirigNumber=1, beacause not multirigNumber were found in database.", id)); + log.warn(MessageFormat.format("Cruise with id={0} has been load with a default multirigNumber=1, beacause not multirigNumber were found in database.", cruiseId)); result.setMultirigNumber(1); } return result; + } @Override diff --git a/tutti-persistence/src/main/resources/queries-failsafe.hbm.xml b/tutti-persistence/src/main/resources/queries-failsafe.hbm.xml index 0367f32..fe0e2f3 100644 --- a/tutti-persistence/src/main/resources/queries-failsafe.hbm.xml +++ b/tutti-persistence/src/main/resources/queries-failsafe.hbm.xml @@ -58,6 +58,21 @@ <query-param name="locationClassificationId" type="java.lang.Integer"/> </query> + <!-- [DAT-02-1] Get all cruises for a given program (to list with no detail) --> + <query cacheable="true" name="allCruiseIds"> + <![CDATA[ + SELECT + c.id + FROM + ScientificCruiseImpl c + WHERE + c.program.code = :programCode + ORDER BY + c.departureDateTime desc + ]]> + <query-param name="programCode" type="java.lang.String"/> + </query> + <!-- [DAT-02] Get all cruises for a given program (to list with no detail) --> <query cacheable="true" name="allCruises"> <![CDATA[ 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 1e1ff30..d69b7c7 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 @@ -1048,6 +1048,11 @@ public class PersistenceService extends AbstractTuttiService implements TuttiPer //------------------------------------------------------------------------// @Override + public List<String> getAllCruiseId(String programId) { + return driver.getAllCruiseId(programId); + } + + @Override public List<Cruise> getAllCruise(String programId) { return driver.getAllCruise(programId); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.