Author: tchemit Date: 2013-04-17 19:04:44 +0200 (Wed, 17 Apr 2013) New Revision: 817 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/817 Log: add method in PersistenceService to have vernicular taxons Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java trunk/tutti-persistence/src/main/xmi/tutti-persistence.zargo trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.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-04-17 16:40:09 UTC (rev 816) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java 2013-04-17 17:04:44 UTC (rev 817) @@ -190,6 +190,20 @@ List<Species> getAllReferentSpecies(TuttiProtocol protocol); /** + * Obtain a species with external code as vernacular code given his referenceTaxonId. + * <p/> + * <strong>Note:</strong> {@link Species#getRefTaxCode()} will not be + * filled by with method. + * + * @param referenceTaxonId id of the reference taxon of the species to load + * @return the species or {@code null} if not found. + * @see Species#getReferenceTaxonId() + * @see Species#getVernacularCode() + * @since 1.5 + */ + Species getSpeciesByReferenceTaxonIdWithVernacularCode(Integer referenceTaxonId); + + /** * @return all caracteristics of the system. * @since 1.0 */ Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2013-04-17 16:40:09 UTC (rev 816) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2013-04-17 17:04:44 UTC (rev 817) @@ -252,6 +252,11 @@ return result; } + @Override + public Species getSpeciesByReferenceTaxonIdWithVernacularCode(Integer referenceTaxonId) { + return referentialService.getSpeciesByReferenceTaxonIdWithVernacularCode(referenceTaxonId); + } + protected void setSpeciesSurveyCode(List<Species> speciesList, TuttiProtocol protocol) { if (protocol != null && !protocol.isSpeciesEmpty()) { Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java 2013-04-17 16:40:09 UTC (rev 816) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java 2013-04-17 17:04:44 UTC (rev 817) @@ -130,6 +130,11 @@ } @Override + public Species getSpeciesByReferenceTaxonIdWithVernacularCode(Integer referenceTaxonId) { + throw new RuntimeException("method not implemented"); + } + + @Override public List<Caracteristic> getAllCaracteristic() { throw new RuntimeException("method not implemented"); } 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-04-17 16:40:09 UTC (rev 816) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-04-17 17:04:44 UTC (rev 817) @@ -409,6 +409,7 @@ Cache referentSpeciesByIdCache = cacheService.getCache("referentSpeciesById"); for (TaxonRefVO source : sources) { Species target = loadSpecies(source); + target.setRefTaxCode(target.getExternalCode()); // Add to cache : referentSpeciesByIdCache.put(target.getReferenceTaxonId(), target); @@ -423,6 +424,9 @@ Species result = getSpeciesByReferenceTaxonId( speciesId, enumeration.TRANSCRIBING_TYPE_ID_REFTAX); + if (result != null) { + result.setRefTaxCode(result.getExternalCode()); + } return result; } @@ -431,8 +435,9 @@ Species result = getSpeciesByReferenceTaxonId( speciesId, enumeration.TRANSCRIBING_TYPE_ID_VERNACULAIRE); - result.setVernacularCode(result.getRefTaxCode()); - result.setRefTaxCode(null); + if (result != null) { + result.setVernacularCode(result.getExternalCode()); + } return result; } @@ -723,6 +728,7 @@ // update the source Species result = loadSpecies(taxonName); + result.setRefTaxCode(result.getExternalCode()); // Add to cache Cache cache = cacheService.getCache("referentSpeciesById"); @@ -824,7 +830,7 @@ Species target = TuttiBeanFactory.newSpecies(); target.setId(String.valueOf(source.getTaxonNameId())); target.setName(source.getName()); - target.setRefTaxCode(source.getExternalCode()); + target.setExternalCode(source.getExternalCode()); target.setReferenceTaxonId(source.getReferenceTaxonId()); target.setReferenceTaxon(source.getIsReference()); fr.ifremer.adagio.core.dao.referential.Status status = statusDao.load(source.getStatus().getValue()); Modified: trunk/tutti-persistence/src/main/xmi/tutti-persistence.zargo =================================================================== (Binary files differ) 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-04-17 16:40:09 UTC (rev 816) +++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-04-17 17:04:44 UTC (rev 817) @@ -319,6 +319,11 @@ public List<Species> getAllReferentSpecies(TuttiProtocol protocol) { return driver.getAllReferentSpecies(protocol); } + + @Override + public Species getSpeciesByReferenceTaxonIdWithVernacularCode(Integer referenceTaxonId) { + return driver.getSpeciesByReferenceTaxonIdWithVernacularCode(referenceTaxonId); + } @Override public List<Caracteristic> getAllCaracteristic() {