r464 - in trunk: tutti-persistence/src/main/java/fr/ifremer/tutti/persistence tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service tutti-persistence/src/main/resources tutti-service/src/main/java/fr/ifremer/tutti/service tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program
Author: tchemit Date: 2013-02-25 15:32:30 +0100 (Mon, 25 Feb 2013) New Revision: 464 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/464 Log: fixes #2037: [CAMPAGNE] - Gestion des campagnes - Information affich?\195?\169e erron?\195?\169e pour la zone de la campagne Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceService.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceImpl.java trunk/tutti-persistence/src/main/resources/queries-override.hbm.xml trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java 2013-02-25 14:32:11 UTC (rev 463) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java 2013-02-25 14:32:30 UTC (rev 464) @@ -236,8 +236,23 @@ //-- Program methods --// //------------------------------------------------------------------------// + /** + * Get all programs. + * <p/> + * <strong>Note:</strong> For each program, his zone is loaded. + * + * @return the list of programs found in db. + */ List<Program> getAllProgram(); + /** + * Get the program for the given {@code id}. + * <p/> + * <strong>Note:</strong> his zone is loaded. + * + * @param id id of the program to load + * @return the loaded program + */ Program getProgram(String id); @Transactional(readOnly = false) Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceService.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceService.java 2013-02-25 14:32:11 UTC (rev 463) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceService.java 2013-02-25 14:32:30 UTC (rev 464) @@ -39,8 +39,23 @@ @Transactional(readOnly = true) public interface ProgramPersistenceService extends TuttiPersistenceServiceImplementor { + /** + * Get all programs. + * <p/> + * <strong>Note:</strong> For each program, his zone is loaded. + * + * @return the list of programs found in db. + */ List<Program> getAllProgram(); + /** + * Get the program for the given {@code id}. + * <p/> + * <strong>Note:</strong> his zone is loaded. + * + * @param id id of the program to load + * @return the loaded program + */ Program getProgram(String id); @Transactional(readOnly = false) Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceImpl.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceImpl.java 2013-02-25 14:32:11 UTC (rev 463) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceImpl.java 2013-02-25 14:32:30 UTC (rev 464) @@ -75,15 +75,18 @@ if (enumeration.PROGRAM_CODE_SCIENTIFIC_CRUISE_PREFIX != null) { codePattern = enumeration.PROGRAM_CODE_SCIENTIFIC_CRUISE_PREFIX + codePattern; } - Iterator<Object[]> list = queryList("allPrograms", - "codePattern", StringType.INSTANCE, codePattern + Iterator<Object[]> list = queryList( + "allPrograms", + "codePattern", StringType.INSTANCE, codePattern, + "locationLevelId", IntegerType.INSTANCE, enumeration.LOCATION_LEVEL_ID_PROGRAM, + "locationClassificationId", IntegerType.INSTANCE, enumeration.LOCATION_CLASSIFICATION_ID_SECTOR ); List<Program> result = Lists.newArrayList(); while (list.hasNext()) { Object[] source = list.next(); Program target = new Program(); - loadProgram(target, source, false); + loadProgram(target, source); result.add(target); } return result; @@ -105,7 +108,7 @@ Object[] source = list.next(); result = new Program(); - loadProgram(result, source, true); + loadProgram(result, source); } else { result = null; } @@ -161,14 +164,14 @@ */ public static final String EMPTY_COMMENT = "$$EMPTY_COMMENT$$"; - protected void loadProgram(Program result, Object[] source, boolean loadZone) { + protected void loadProgram(Program result, Object[] source) { result.setId((String) source[0]); result.setName((String) source[1]); result.setComment((String) source[2]); if (EMPTY_COMMENT.equals(result.getComment())) { result.setComment(null); } - if (loadZone && source[3] != null) { + if (source[3] != null) { Zone zone = new Zone(); zone.setId(String.valueOf(source[3])); zone.setLabel((String) source[4]); Modified: trunk/tutti-persistence/src/main/resources/queries-override.hbm.xml =================================================================== --- trunk/tutti-persistence/src/main/resources/queries-override.hbm.xml 2013-02-25 14:32:11 UTC (rev 463) +++ trunk/tutti-persistence/src/main/resources/queries-override.hbm.xml 2013-02-25 14:32:30 UTC (rev 464) @@ -37,12 +37,25 @@ SELECT p.code, p.name, - p.description + p.description, + l.id, + l.label, + l.name FROM ProgramImpl p + LEFT OUTER JOIN p.locations l WHERE p.code LIKE :codePattern + AND ( + l is null OR ( + l.locationLevel.id = :locationLevelId + AND l.locationClassification.id = :locationClassificationId + ) + ) ]]> + <query-param name="codePattern" type="java.lang.String"/> + <query-param name="locationLevelId" type="java.lang.Integer"/> + <query-param name="locationClassificationId" type="java.lang.Integer"/> </query> <!-- [DAT-02] Get all cruises for a given program (to list with no detail) --> Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java =================================================================== --- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-02-25 14:32:11 UTC (rev 463) +++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-02-25 14:32:30 UTC (rev 464) @@ -115,69 +115,8 @@ } } else { - // still on dev driver - -// File storageDirectory = TuttiPersistenceDevImpl.getStorageDirectory(serviceConfig.getApplicationConfig()); - -// if (log.isWarnEnabled()) { -// -// log.warn("--------------------------------------------------------------------"); -// log.warn(""); -// log.warn("Could not find database directory at " + config.getDbDirectory()); -// log.warn("Will still use dev dataStorage in " + storageDirectory); -// log.warn(""); -// log.warn("--------------------------------------------------------------------"); -// } - driver = new TuttiPersistenceNoDbImpl(); -// driver = new TuttiPersistenceDevImpl(serviceConfig.getApplicationConfig()) { -// -// ProtocolPersistenceService protocolPersistenceService = new ProtocolPersistenceServiceImpl(); -// -// @Override -// public void init() { -// super.init(); -// -// protocolPersistenceService.init(); -// } -// -// @Override -// public boolean isProtocolExist(String id) { -// return protocolPersistenceService.isProtocolExist(id); -// } -// -// @Override -// public List<String> getAllProtocolNames() { -// return protocolPersistenceService.getAllProtocolNames(); -// } -// -// @Override -// public List<TuttiProtocol> getAllProtocol() { -// return protocolPersistenceService.getAllProtocol(); -// } -// -// @Override -// public TuttiProtocol getProtocol(String id) { -// return protocolPersistenceService.getProtocol(id); -// } -// -// @Override -// public TuttiProtocol createProtocol(TuttiProtocol bean) { -// return protocolPersistenceService.createProtocol(bean); -// } -// -// @Override -// public TuttiProtocol saveProtocol(TuttiProtocol bean) { -// return protocolPersistenceService.saveProtocol(bean); -// } -// -// @Override -// public void deleteProtocol(String id) { -// protocolPersistenceService.deleteProtocol(id); -// } -// }; - if (log.isInfoEnabled()) { log.info("Will open persistence driver " + driver.getImplementationName()); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2013-02-25 14:32:11 UTC (rev 463) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2013-02-25 14:32:30 UTC (rev 464) @@ -73,15 +73,7 @@ public void beforeInitUI() { SelectCruiseUIModel model = new SelectCruiseUIModel(); - //TODO TC: shoudl have program with their zone here directly List<Program> programs = persistenceService.getAllProgram(); - List<Program> loadedPrograms = - Lists.newArrayListWithCapacity(programs.size()); - for (Program program : programs) { - loadedPrograms.add(persistenceService.getProgram(program.getId())); - } - programs = loadedPrograms; - model.setPrograms(programs); if (programs.isEmpty()) { Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java 2013-02-25 14:32:11 UTC (rev 463) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java 2013-02-25 14:32:30 UTC (rev 464) @@ -24,7 +24,6 @@ * #L% */ -import com.google.common.collect.Lists; import fr.ifremer.tutti.persistence.entities.data.Program; import fr.ifremer.tutti.service.PersistenceService; import fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler; @@ -72,13 +71,9 @@ //TODO 20130206 kmorin put the programs loaded in the home screen in a //kind of context to avoid loading the programs again List<Program> programs = persistenceService.getAllProgram(); - List<Program> loadedPrograms = - Lists.newArrayListWithCapacity(programs.size()); - for (Program program : programs) { - loadedPrograms.add(persistenceService.getProgram(program.getId())); - } - model.setExistingPrograms(loadedPrograms); + model.setExistingPrograms(programs); + String surveyId = context.getProgramId(); if (surveyId == null) {
participants (1)
-
tchemit@users.forge.codelutin.com