Author: tchemit Date: 2012-08-01 18:33:03 +0200 (Wed, 01 Aug 2012) New Revision: 340 Url: http://forge.codelutin.com/repositories/revision/sammoa/340 Log: add some methods in Referential servcie Added: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SpeciesDAOImpl.java Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/ReferentialService.java Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/ReferentialService.java =================================================================== --- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/ReferentialService.java 2012-08-01 16:32:14 UTC (rev 339) +++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/ReferentialService.java 2012-08-01 16:33:03 UTC (rev 340) @@ -28,7 +28,26 @@ import com.google.common.collect.Maps; import fr.ulr.sammoa.application.csv.ObserverImportModel; import fr.ulr.sammoa.application.csv.SpeciesImportModel; -import fr.ulr.sammoa.persistence.*; +import fr.ulr.sammoa.persistence.Campaign; +import fr.ulr.sammoa.persistence.CampaignDAO; +import fr.ulr.sammoa.persistence.Observer; +import fr.ulr.sammoa.persistence.ObserverDAO; +import fr.ulr.sammoa.persistence.Observers; +import fr.ulr.sammoa.persistence.Region; +import fr.ulr.sammoa.persistence.RegionDAO; +import fr.ulr.sammoa.persistence.SammoaDAOHelper; +import fr.ulr.sammoa.persistence.SammoaPersistence; +import fr.ulr.sammoa.persistence.Sector; +import fr.ulr.sammoa.persistence.SectorDAO; +import fr.ulr.sammoa.persistence.Sectors; +import fr.ulr.sammoa.persistence.Species; +import fr.ulr.sammoa.persistence.SpeciesDAO; +import fr.ulr.sammoa.persistence.Strate; +import fr.ulr.sammoa.persistence.StrateDAO; +import fr.ulr.sammoa.persistence.StrateType; +import fr.ulr.sammoa.persistence.Strates; +import fr.ulr.sammoa.persistence.Transect; +import fr.ulr.sammoa.persistence.TransectDAO; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; import org.nuiton.topia.TopiaRuntimeException; @@ -210,7 +229,7 @@ } return result; } - + public String saveCampaign(Campaign campaign) { Preconditions.checkArgument(campaign != null); @@ -221,7 +240,7 @@ Preconditions.checkArgument(campaign.getRegion() != null); String result; - + TopiaContext transaction = persistence.beginTransaction(); try { @@ -250,9 +269,9 @@ existCampaign.setEndDate(campaign.getEndDate()); dao.update(existCampaign); } - - transaction.commitTransaction(); + transaction.commitTransaction(); + } catch (TopiaException e) { throw new TopiaRuntimeException(e); @@ -271,7 +290,7 @@ CampaignDAO dao = SammoaDAOHelper.getCampaignDAO(transaction); result = dao.findByTopiaId(topiaId); - + } catch (TopiaException e) { throw new TopiaRuntimeException(e); @@ -283,23 +302,58 @@ public List<Transect> getAllTransects(Campaign campaign) { - List<Transect> result; TopiaContext transaction = persistence.beginTransaction(); try { TransectDAO dao = SammoaDAOHelper.getTransectDAO(transaction); - result = dao.findAllByCampaignOrderedByName(campaign); + List<Transect> result = + dao.findAllByCampaignOrderedByName(campaign); + return result; + } catch (TopiaException e) { + throw new TopiaRuntimeException(e); + } finally { + persistence.endTransaction(transaction); + } + } + + public List<Strate> getAllStrates(Campaign campaign) { + TopiaContext transaction = persistence.beginTransaction(); + try { + + StrateDAO dao = SammoaDAOHelper.getStrateDAO(transaction); + + List<Strate> result = + dao.findAllByCampaignOrderedByCode(campaign); + return result; + } catch (TopiaException e) { throw new TopiaRuntimeException(e); } finally { persistence.endTransaction(transaction); } - return result; } + public List<Species> getAllSpecies(Campaign campaign) { + TopiaContext transaction = persistence.beginTransaction(); + try { + + SpeciesDAO dao = SammoaDAOHelper.getSpeciesDAO(transaction); + + List<Species> result = + dao.findAllByRegion(campaign.getRegion()); + return result; + + } catch (TopiaException e) { + throw new TopiaRuntimeException(e); + + } finally { + persistence.endTransaction(transaction); + } + } + public int importTransects(String campaignId, Iterable<Transect> transects) { int result = 0; @@ -362,7 +416,7 @@ result++; if (logger.isDebugEnabled()) { - logger.debug(String.format("Create new transect %1$s"+ + logger.debug(String.format("Create new transect %1$s" + "(graphicIndex = %2$d)", newTransect.getName(), graphicIndex) @@ -553,7 +607,42 @@ return result; } - + + public List<String> getAllSpeciesTypes() { + TopiaContext tx = persistence.beginTransaction(); + try { + + List<String> result = + SammoaDAOHelper.getSpeciesDAO(tx).findAllSpeciesTypes(); + + Collections.sort(result); + + return result; + } catch (TopiaException e) { + throw new TopiaRuntimeException(e); + + } finally { + persistence.endTransaction(tx); + } + + } + + public List<Species> getAllSpecies() { + TopiaContext tx = persistence.beginTransaction(); + try { + + List<Species> result = SammoaDAOHelper.getSpeciesDAO(tx).findAll(); + return result; + + } catch (TopiaException e) { + throw new TopiaRuntimeException(e); + + } finally { + persistence.endTransaction(tx); + } + + } + public int importObservers(String campaignId, Reader reader) { TopiaContext transaction = persistence.beginTransaction(); @@ -565,14 +654,14 @@ ObserverDAO observerDAO = SammoaDAOHelper.getObserverDAO(transaction); - + ObserverImportModel model = new ObserverImportModel(campaign); Import<Observer> importCsv = Import.newImport(model, reader); Iterator<Observer> it = importCsv.iterator(); while (it.hasNext()) { - + Observer observer; observer = it.next(); @@ -602,9 +691,9 @@ } } } - + transaction.commitTransaction(); - + } catch (TopiaException e) { throw new TopiaRuntimeException(e); Added: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SpeciesDAOImpl.java =================================================================== --- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SpeciesDAOImpl.java (rev 0) +++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SpeciesDAOImpl.java 2012-08-01 16:33:03 UTC (rev 340) @@ -0,0 +1,21 @@ +package fr.ulr.sammoa.persistence; + +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; +import org.nuiton.topia.TopiaException; + +import java.util.List; +import java.util.Set; + +public class SpeciesDAOImpl<E extends Species> extends SpeciesDAOAbstract<E> { + + public List<String> findAllSpeciesTypes() throws TopiaException { + Set<String> result = Sets.newHashSet(); + List<E> all = findAll(); + for (E e : all) { + result.add(e.getType()); + } + return Lists.newArrayList(result); + } + +} //SpeciesDAOImpl<E extends Species> Property changes on: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SpeciesDAOImpl.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native