Author: tchemit Date: 2013-03-06 17:05:03 +0100 (Wed, 06 Mar 2013) New Revision: 551 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/551 Log: fixes #2083: [TECH] Ne pas rendre modifiable les listes retourn?\195?\169es dans la couche persistence. Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceServiceImpl.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BatchPersistenceServiceImpl.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceImpl.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceServiceImpl.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceServiceImpl.java 2013-03-06 15:21:55 UTC (rev 550) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceServiceImpl.java 2013-03-06 16:05:03 UTC (rev 551) @@ -45,6 +45,7 @@ import javax.annotation.Resource; import java.io.File; +import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -100,7 +101,7 @@ loadAttachment(source, target); result.add(target); } - return result; + return Collections.unmodifiableList(result); } @Override Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BatchPersistenceServiceImpl.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BatchPersistenceServiceImpl.java 2013-03-06 15:21:55 UTC (rev 550) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BatchPersistenceServiceImpl.java 2013-03-06 16:05:03 UTC (rev 551) @@ -64,6 +64,7 @@ import java.io.Serializable; import java.text.MessageFormat; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -323,50 +324,6 @@ return result; } -// @Override -// public List<SpeciesBatch> getAllRootSpeciesBatch(String fishingOperationId) { -// -// // Load batch tree -// Integer catchBatchId = catchBatchDao.getIdByFishingOperationId(Integer.valueOf(fishingOperationId)); -// fr.ifremer.adagio.core.dao.data.batch.CatchBatch catchBatch = catchBatchDao.loadFullTree(catchBatchId); -// -// List<SpeciesBatch> result = new ArrayList<SpeciesBatch>(); -// -// // Vrac / Species -// SortingBatch vracSpeciesBatch = catchBatchDao.getSortingBatch(catchBatch.getChildBatchs(), -// "pmfmId", enumeration.PMFM_ID_SORTED_UNSORTED, enumeration.QUALITATIVE_VRAC_ID, -// "pmfmId", enumeration.PMFM_ID_SORTING_TYPE, enumeration.QUALITATIVE_ID_SORTING_TYPE_SPECIES); -// for (Batch batch1 : vracSpeciesBatch.getChildBatchs()) { -// SortingBatch source = (SortingBatch) batch1; -// -// // evict some special batches : Life (or Biota) and Inert -// if (source.getReferenceTaxon() != null -// && !enumeration.REFERENCE_TAXON_ID_LIFE.equals(source.getReferenceTaxon().getId()) -// && !enumeration.REFERENCE_TAXON_ID_INERT.equals(source.getReferenceTaxon().getId())) { -// SpeciesBatch target = new SpeciesBatch(); -// -// entityToBean(source, target); -// result.add(target); -// } -// } -// -// // Hors-Vrac / Species -// SortingBatch horsVracSpeciesBatch = catchBatchDao.getSortingBatch(catchBatch.getChildBatchs(), -// "pmfmId", enumeration.PMFM_ID_SORTED_UNSORTED, enumeration.QUALITATIVE_HORS_VRAC_ID, -// "pmfmId", enumeration.PMFM_ID_SORTING_TYPE, enumeration.QUALITATIVE_ID_SORTING_TYPE_SPECIES); -// if (horsVracSpeciesBatch != null) { -// for (Batch batch : horsVracSpeciesBatch.getChildBatchs()) { -// SortingBatch source = (SortingBatch) batch; -// -// SpeciesBatch target = new SpeciesBatch(); -// -// entityToBean(source, target); -// result.add(target); -// } -// } -// return result; -// } - @Override public SpeciesBatch createSpeciesBatch(SpeciesBatch bean, String parentBatchId) { @@ -467,7 +424,7 @@ entityToBean(source, target); results.add(target); } - return results; + return Collections.unmodifiableList(results); } @Override @@ -558,7 +515,7 @@ getCurrentSession().flush(); - return notNullFrequencies; + return Collections.unmodifiableList(notNullFrequencies); } //------------------------------------------------------------------------// @@ -605,7 +562,7 @@ result.add(target); } } - return result; + return Collections.unmodifiableList(result); } @Override @@ -715,7 +672,7 @@ entityToBean(source, target); results.add(target); } - return results; + return Collections.unmodifiableList(results); } @Override @@ -799,7 +756,7 @@ getCurrentSession().flush(); - return frequencies; + return Collections.unmodifiableList(frequencies); } Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2013-03-06 15:21:55 UTC (rev 550) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2013-03-06 16:05:03 UTC (rev 551) @@ -69,6 +69,7 @@ import java.sql.Timestamp; import java.text.MessageFormat; import java.util.ArrayList; +import java.util.Collections; import java.util.Date; import java.util.HashSet; import java.util.Iterator; @@ -143,7 +144,7 @@ target.setBeginDate((Date) source[2]); result.add(target); } - return result; + return Collections.unmodifiableList(result); } @Override Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java 2013-03-06 15:21:55 UTC (rev 550) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java 2013-03-06 16:05:03 UTC (rev 551) @@ -81,6 +81,7 @@ import java.sql.Timestamp; import java.text.MessageFormat; import java.util.ArrayList; +import java.util.Collections; import java.util.Date; import java.util.HashSet; import java.util.Iterator; @@ -136,7 +137,7 @@ "pmfmIdMultirigAggregation", IntegerType.INSTANCE, enumeration.PMFM_ID_MULTIRIG_AGGREGATION ); - List<FishingOperation> fishingOperations = new ArrayList<FishingOperation>(); + List<FishingOperation> result = new ArrayList<FishingOperation>(); int fishingOperationRankOrder = 0; while (list.hasNext()) { Object[] source = list.next(); @@ -190,9 +191,9 @@ fishingOperation.setMultirigAggregation("1"); } - fishingOperations.add(fishingOperation); + result.add(fishingOperation); } - return fishingOperations; + return Collections.unmodifiableList(result); } @Override 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-03-06 15:21:55 UTC (rev 550) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceImpl.java 2013-03-06 16:05:03 UTC (rev 551) @@ -42,6 +42,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -87,7 +88,7 @@ loadProgram(target, source); result.add(target); } - return result; + return Collections.unmodifiableList(result); } @Override Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java 2013-03-06 15:21:55 UTC (rev 550) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java 2013-03-06 16:05:03 UTC (rev 551) @@ -39,6 +39,7 @@ import java.io.File; import java.util.Collection; +import java.util.Collections; import java.util.List; import java.util.UUID; @@ -77,7 +78,7 @@ result.add(fileName.substring(0, fileName.length() - suffixLength)); } - return result; + return Collections.unmodifiableList(result); } @Override @@ -87,7 +88,7 @@ for (TuttiProtocol protocol : getAllProtocol()) { result.add(protocol.getName()); } - return result; + return Collections.unmodifiableList(result); } @Override @@ -97,7 +98,7 @@ TuttiProtocol protocol = getProtocol(id); result.add(protocol); } - return result; + return Collections.unmodifiableList(result); } @Override Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-03-06 15:21:55 UTC (rev 550) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-03-06 16:05:03 UTC (rev 551) @@ -61,6 +61,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Collections; import java.util.Date; import java.util.Iterator; import java.util.List; @@ -125,7 +126,7 @@ setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[3], target); result.add(target); } - return result; + return Collections.unmodifiableList(result); } @Override @@ -144,7 +145,7 @@ setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[3], target); result.add(target); } - return result; + return Collections.unmodifiableList(result); } @Override @@ -154,7 +155,7 @@ enumeration.LOCATION_LEVEL_ID_STRATA, Integer.valueOf(zoneId), enumeration.LOCATION_LEVEL_ID_PROGRAM); - return result; + return Collections.unmodifiableList(result); } @Override @@ -182,7 +183,7 @@ enumeration.LOCATION_LEVEL_ID_SUB_STRATA, Integer.valueOf(parentId), parentLocationLevelId); - return result; + return Collections.unmodifiableList(result); } @Override @@ -217,7 +218,7 @@ enumeration.LOCATION_LEVEL_ID_LOCALITE, Integer.valueOf(parentId), parentLocationLevelId); - return result; + return Collections.unmodifiableList(result); } @Override @@ -258,7 +259,7 @@ // Add to cache vesselByCodeCache.put(target.getId(), target); } - return result; + return Collections.unmodifiableList(result); } @Override @@ -281,7 +282,7 @@ // Add to cache vesselByCodeCache.put(target.getId(), target); } - return result; + return Collections.unmodifiableList(result); } @Override @@ -316,7 +317,7 @@ Gear target = loadGear(source, true); result.add(target); } - return result; + return Collections.unmodifiableList(result); } @Override @@ -330,7 +331,7 @@ Gear target = loadGear(source, false); result.add(target); } - return result; + return Collections.unmodifiableList(result); } @Override @@ -347,7 +348,7 @@ Person target = loadPerson(source); result.add(target); } - return result; + return Collections.unmodifiableList(result); } @Override @@ -400,7 +401,7 @@ Cache allReferentSpeciesCache = cacheService.getCache("referentSpecies"); allReferentSpeciesCache.put("", referenceTaxonsOnly); - return result; + return Collections.unmodifiableList(result); } @Override @@ -417,7 +418,7 @@ result.add(target); } - return result; + return Collections.unmodifiableList(result); } @Override @@ -450,7 +451,7 @@ } pmfmByIdCache.put(pmfmId, target); } - return result; + return Collections.unmodifiableList(result); } @Override @@ -465,7 +466,7 @@ cache.put(code, target); result.add(target); } - return result; + return Collections.unmodifiableList(result); } @Override @@ -485,7 +486,7 @@ result.add(caracteristic); } } - return result; + return Collections.unmodifiableList(result); } @Override @@ -555,7 +556,7 @@ source = importTemporarySpecies(source); result.add(source); } - return result; + return Collections.unmodifiableList(result); } @Override @@ -576,7 +577,7 @@ source = importTemporaryVessel(source, countryLocationId, status); result.add(source); } - return result; + return Collections.unmodifiableList(result); } @Override @@ -589,7 +590,7 @@ source = importTemporaryPerson(source, status); result.add(source); } - return result; + return Collections.unmodifiableList(result); } @Override @@ -602,7 +603,7 @@ source = importTemporaryGear(source, status); result.add(source); } - return result; + return Collections.unmodifiableList(result); } //------------------------------------------------------------------------// @@ -698,28 +699,6 @@ return result; } - protected List<FishingOperationLocation> getFishingOperationLocations(Integer locationLevelId) { - Iterator<Object[]> sources = queryListWithStatus( - "allFishingOperationLocation", - "locationClassificationId", IntegerType.INSTANCE, enumeration.LOCATION_CLASSIFICATION_ID_SECTOR, - "locationLevelId", IntegerType.INSTANCE, locationLevelId - ); - List<FishingOperationLocation> result = Lists.newArrayList(); - while (sources.hasNext()) { - Object[] source = sources.next(); - FishingOperationLocation target = new FishingOperationLocation(); - target.setId(String.valueOf(source[0])); - target.setLabel((String) source[1]); - target.setName((String) source[2]); -// target.setDescription((String)source[3]); - target.setLocationLevel((Integer) source[3]); - - setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[4], target); - result.add(target); - } - return result; - } - protected List<FishingOperationLocation> getFishingOperationLocationsByParent(Integer locationLevelId, Integer parentId, Integer parentLocationLevelId) { Iterator<Object[]> sources = queryListWithStatus( "allFishingOperationLocationByParent",