Author: tchemit Date: 2013-01-12 18:57:25 +0100 (Sat, 12 Jan 2013) New Revision: 180 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/180 Log: - optimize dependencies - fix bug in ResourceClassLoader - introduce ReferentialPersistenceService API Added: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java Modified: trunk/tutti-persistence/pom.xml trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/RessourceClassLoader.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java Modified: trunk/tutti-persistence/pom.xml =================================================================== --- trunk/tutti-persistence/pom.xml 2013-01-11 19:00:31 UTC (rev 179) +++ trunk/tutti-persistence/pom.xml 2013-01-12 17:57:25 UTC (rev 180) @@ -53,6 +53,16 @@ <artifactId>commons-lang3</artifactId> </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + </dependency> + + <dependency> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </dependency> + </dependencies> <build> Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/RessourceClassLoader.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/RessourceClassLoader.java 2013-01-11 19:00:31 UTC (rev 179) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/RessourceClassLoader.java 2013-01-12 17:57:25 UTC (rev 180) @@ -171,7 +171,7 @@ try { URL[] urls = FileUtils.toURLs( directories.toArray(new File[directories.size()])); - loader = URLClassLoader.newInstance(urls); + loader = URLClassLoader.newInstance(urls, null); } catch (IOException e) { throw new RuntimeException( "Could not convert directories " + directories 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-01-11 19:00:31 UTC (rev 179) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java 2013-01-12 17:57:25 UTC (rev 180) @@ -46,7 +46,6 @@ import java.io.Closeable; import java.io.IOException; import java.util.List; -import java.util.Properties; /** * Contract for a persistence driver used by Tutti. @@ -64,10 +63,6 @@ void open() throws IOException; - void close() throws IOException; - - void setEnumerations(Properties dbEnumerations); - //------------------------------------------------------------------------// //-- Referential methods --// //------------------------------------------------------------------------// @@ -110,7 +105,6 @@ List<Species> getAllPlanktonSpecies(); - Species getSpecies(String speciesId); List<FishingOperationLocation> getAllFishingOperationStrata(String zoneId); Added: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java (rev 0) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java 2013-01-12 17:57:25 UTC (rev 180) @@ -0,0 +1,128 @@ +package fr.ifremer.tutti.persistence.service; + +/* + * #%L + * Tutti :: Persistence API + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 - 2013 Ifremer + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ifremer.tutti.persistence.entities.data.Cruise; +import fr.ifremer.tutti.persistence.entities.data.Program; +import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; +import fr.ifremer.tutti.persistence.entities.referential.Country; +import fr.ifremer.tutti.persistence.entities.referential.FishingOperationLocation; +import fr.ifremer.tutti.persistence.entities.referential.Gear; +import fr.ifremer.tutti.persistence.entities.referential.Person; +import fr.ifremer.tutti.persistence.entities.referential.Species; +import fr.ifremer.tutti.persistence.entities.referential.Vessel; +import fr.ifremer.tutti.persistence.entities.referential.Zone; + +import java.util.List; + +/** + * API to obtain all referentail referential data. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.3 + */ +public interface ReferentialPersistenceService { + + //------------------------------------------------------------------------// + //-- Referential methods --// + //------------------------------------------------------------------------// + + /** + * @return all available zones (used by a {@link Program}. + * @see Program#getZone() + * @see Program#setZone(Zone) + * @since 0.3 + */ + List<Zone> getAllProgramZone(); + + /** + * @return all countries (used by a {@link Cruise}). + * @see {@link Cruise#getCountry()} + * @see {@link Cruise#setCountry(Country)} + * @since 0.1 + */ + List<Country> getAllCountry(); + + /** + * @return all scientific vessels (used by a {@link Cruise}). + * @see Cruise#getVessel() + * @see Cruise#setVessel(List) + * @since 0.3 + */ + List<Vessel> getAllScientificVessel(); + + /** + * @return all commercial vessels (used by a {@link Cruise}). + * @see Cruise#getVessel() + * @see Cruise#setVessel(List) + * @since 0.3 + */ + List<Vessel> getAllFishingVessel(); + + Vessel getVessel(String vesselCode); + + List<Species> getAllSpecies(); + + List<Species> getAllBenthosSpecies(); + + List<Species> getAllPlanktonSpecies(); + + Species getSpecies(String speciesId); + + List<FishingOperationLocation> getAllFishingOperationStrata(String zoneId); + + List<FishingOperationLocation> getAllFishingOperationSubStrata(String locationId); + + List<FishingOperationLocation> getAllFishingOperationLocation(String locationId); + + List<Caracteristic> getAllFishingOperationEnvironmentCaracteristic(); + + List<Caracteristic> getAllFishingOperationGearCaracteristic(); + + List<Caracteristic> getAllFishingOperationHydrologicCaracteristic(); + + List<Caracteristic> getAllSpeciesLengthStepCaracteristic(); + + Caracteristic getSizeCategoryCaracteristic(); + + Caracteristic getSexCaracteristic(); + + Caracteristic getSortedUnsortedCaracteristic(); + + Caracteristic getMaturityCaracteristic(); + + Caracteristic getMacroWasteCategoryCaracteristic(); + + Caracteristic getMacroWasteSizeCategoryCaracteristic(); + + List<Gear> getAllScientificGear(); + + List<Gear> getAllFishingGear(); + + List<Person> getAllPerson(); + + Person getPerson(Integer personId); + +} Property changes on: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native