Sammoa-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
August 2012
- 4 participants
- 171 discussions
19 Aug '12
Author: tchemit
Date: 2012-08-19 20:06:37 +0200 (Sun, 19 Aug 2012)
New Revision: 440
Url: http://forge.codelutin.com/repositories/revision/sammoa/440
Log:
optmize depedencies
Modified:
trunk/sammoa-application/pom.xml
trunk/sammoa-ui-swing/pom.xml
Modified: trunk/sammoa-application/pom.xml
===================================================================
--- trunk/sammoa-application/pom.xml 2012-08-19 17:51:27 UTC (rev 439)
+++ trunk/sammoa-application/pom.xml 2012-08-19 18:06:37 UTC (rev 440)
@@ -69,6 +69,11 @@
<artifactId>commons-io</artifactId>
</dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ </dependency>
+
<!-- logging dependencies -->
<dependency>
Modified: trunk/sammoa-ui-swing/pom.xml
===================================================================
--- trunk/sammoa-ui-swing/pom.xml 2012-08-19 17:51:27 UTC (rev 439)
+++ trunk/sammoa-ui-swing/pom.xml 2012-08-19 18:06:37 UTC (rev 440)
@@ -100,6 +100,11 @@
<artifactId>nuiton-csv</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.nuiton.topia</groupId>
+ <artifactId>topia-persistence</artifactId>
+ </dependency>
+
<!-- jaxx dependencies -->
<dependency>
<groupId>org.nuiton.jaxx</groupId>
1
0
19 Aug '12
Author: tchemit
Date: 2012-08-19 19:51:27 +0200 (Sun, 19 Aug 2012)
New Revision: 439
Url: http://forge.codelutin.com/repositories/revision/sammoa/439
Log:
refs #1201: Export format application (export callback is ok)
improve storages
add svn properties, license headers and much much more
Added:
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/SammoaStorage.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/SammoaStorages.java
Removed:
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorages.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/FlightStorages.java
Modified:
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightService.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/ReferentialService.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaService.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaServiceSupport.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/flightController/FlightControllerDefault.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorage.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/FlightStorage.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/map/ExportMapService.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationService.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/Observations.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/Routes.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SammoaDbMetas.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SammoaPersistence.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/TransectFlights.java
trunk/sammoa-persistence/src/test/java/fr/ulr/sammoa/persistence/SammoaDbMetasTest.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/campaign/CampaignUIHandler.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUIHandler.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/java-info.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUI.css
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUI.jaxx
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUIHandler.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUIModel.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/java-info.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/java-info.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/map/java-info.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIHandler.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/java-info.java
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightService.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightService.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightService.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -29,10 +29,10 @@
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
import fr.ulr.sammoa.application.io.CampaignStorage;
-import fr.ulr.sammoa.application.io.CampaignStorages;
import fr.ulr.sammoa.application.io.FlightStorage;
-import fr.ulr.sammoa.application.io.FlightStorages;
+import fr.ulr.sammoa.application.io.SammoaStorages;
import fr.ulr.sammoa.persistence.AutoSaveListener;
import fr.ulr.sammoa.persistence.Campaign;
import fr.ulr.sammoa.persistence.Flight;
@@ -43,6 +43,7 @@
import fr.ulr.sammoa.persistence.Observation;
import fr.ulr.sammoa.persistence.ObservationDAO;
import fr.ulr.sammoa.persistence.ObservationStatus;
+import fr.ulr.sammoa.persistence.Observations;
import fr.ulr.sammoa.persistence.Observer;
import fr.ulr.sammoa.persistence.ObserverPosition;
import fr.ulr.sammoa.persistence.ObserverPositionDAO;
@@ -53,12 +54,15 @@
import fr.ulr.sammoa.persistence.Route;
import fr.ulr.sammoa.persistence.RouteDAO;
import fr.ulr.sammoa.persistence.RouteType;
+import fr.ulr.sammoa.persistence.Routes;
import fr.ulr.sammoa.persistence.SammoaDAOHelper;
import fr.ulr.sammoa.persistence.Transect;
import fr.ulr.sammoa.persistence.TransectDAO;
import fr.ulr.sammoa.persistence.TransectFlight;
import fr.ulr.sammoa.persistence.TransectFlightDAO;
+import fr.ulr.sammoa.persistence.TransectFlights;
import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.TopiaRuntimeException;
@@ -67,13 +71,13 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Set;
/**
* Created: 08/06/12
@@ -265,15 +269,11 @@
transaction.commitTransaction();
// create flight storage
- CampaignStorage campaignStorage = CampaignStorages.getStorage(
- config, campaign.getTopiaId());
+ CampaignStorage campaignStorage =
+ getCampaignStorage(campaign.getTopiaId());
- try {
- FlightStorages.createStorage(campaignStorage, result.getTopiaId());
- } catch (IOException e) {
- throw new SammoaTechnicalException(
- "Could not create flight storage", e);
- }
+ SammoaStorages.createFlightStorage(campaignStorage,
+ result.getTopiaId());
return result;
} catch (TopiaException e) {
@@ -289,10 +289,44 @@
* @param flightId the flight id to remove
* @since 0.6
*/
- public void deleteFlight(String flightId) {
+ public void deleteFlight(String campaignId, String flightId) {
+ Preconditions.checkArgument(StringUtils.isNotBlank(campaignId));
+ Preconditions.checkArgument(StringUtils.isNotBlank(flightId));
TopiaContext tx = beginTransaction();
try {
+
+ // send delete queries to db
+ deleteFlightInDb(tx, flightId);
+
+ // commit db
+ tx.commitTransaction();
+
+ } catch (TopiaException e) {
+ throw new SammoaTechnicalException(e);
+ } finally {
+ endTransaction(tx);
+ }
+
+ // delete flight storage
+ CampaignStorage campaignStorage = getCampaignStorage(campaignId);
+
+ FlightStorage flightStorage =
+ campaignStorage.getFlightStorage(flightId);
+
+ SammoaStorages.deleteFlightStorage(flightStorage);
+ }
+
+ /**
+ * Remove the given flight from db, but do not commit anything
+ *
+ * @param tx current transaction to use
+ * @param flightId the flight id to remove
+ * @since 0.6
+ */
+ public void deleteFlightInDb(TopiaContext tx, String flightId) {
+
+ try {
FlightDAO dao = SammoaDAOHelper.getFlightDAO(tx);
Flight flight = dao.findByTopiaId(flightId);
@@ -302,48 +336,40 @@
// delete geoPoints
List<GeoPoint> geoPoints = getFlightGeoPoints(tx, flight);
GeoPointDAO geoPointDAO = SammoaDAOHelper.getGeoPointDAO(tx);
- for (GeoPoint geoPoint : geoPoints) {
- geoPointDAO.delete(geoPoint);
- }
+ geoPointDAO.deleteAll(geoPoints);
+ Set<ObserverPosition> positions = Sets.newHashSet();
+
// delete routes
List<Route> routes = getRoutes(tx, flight);
+ // keep observerPositions to delete from routes
+ positions.addAll(Routes.toObserverPositions(routes));
+ // keep observerPositions to delete from transectFlights
+ positions.addAll(TransectFlights.toObserverPositions(Routes.toTransectFlights(routes)));
RouteDAO routeDAO = SammoaDAOHelper.getRouteDAO(tx);
- for (Route route : routes) {
- routeDAO.delete(route);
- }
+ routeDAO.deleteAll(routes);
// delete observations
List<Observation> observations = getObservations(tx, flight);
+ // keep observerPositions to delete
+ positions.addAll(Observations.toObserverPositions(observations));
ObservationDAO observationDAO = SammoaDAOHelper.getObservationDAO(tx);
- for (Observation observation : observations) {
- observationDAO.delete(observation);
- }
+ observationDAO.deleteAll(observations);
+
+ // delete observationPositions
+ ObserverPositionDAO observerPositionDAO = SammoaDAOHelper.getObserverPositionDAO(tx);
+ observerPositionDAO.deleteAll(positions);
+
// delete flight
dao.delete(flight);
- // delete flight storage
- CampaignStorage campaignStorage = CampaignStorages.getStorage(
- config, flight.getCampaign().getTopiaId());
-
- FlightStorage flightStorage =
- campaignStorage.getFlightStorage(flightId);
-
- try {
- FlightStorages.deleteStorage(flightStorage);
- } catch (IOException e) {
- throw new SammoaTechnicalException(
- "Could not delete flight storage", e);
- }
-
} catch (TopiaException e) {
throw new SammoaTechnicalException(e);
- } finally {
- endTransaction(tx);
}
}
+
/**
* Retrieve all observer from {@code flight} which are allowed to be
* on positions for transects and routes. This means, no pilots and a null
@@ -491,7 +517,8 @@
TopiaContext transaction = beginTransaction();
try {
- TransectFlightDAO dao = SammoaDAOHelper.getTransectFlightDAO(transaction);
+ TransectFlightDAO dao =
+ SammoaDAOHelper.getTransectFlightDAO(transaction);
Map<Transect, Long> result;
if (CollectionUtils.isEmpty(transects)) {
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-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/ReferentialService.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -24,19 +24,23 @@
package fr.ulr.sammoa.application;
import com.google.common.base.Preconditions;
-import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
import fr.ulr.sammoa.application.io.CampaignStorage;
-import fr.ulr.sammoa.application.io.CampaignStorages;
+import fr.ulr.sammoa.application.io.SammoaStorages;
import fr.ulr.sammoa.persistence.Campaign;
import fr.ulr.sammoa.persistence.CampaignDAO;
import fr.ulr.sammoa.persistence.Flight;
import fr.ulr.sammoa.persistence.Observer;
import fr.ulr.sammoa.persistence.ObserverDAO;
+import fr.ulr.sammoa.persistence.ObserverPosition;
+import fr.ulr.sammoa.persistence.ObserverPositionDAO;
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.Sector;
+import fr.ulr.sammoa.persistence.SectorDAO;
import fr.ulr.sammoa.persistence.Species;
import fr.ulr.sammoa.persistence.SpeciesDAO;
import fr.ulr.sammoa.persistence.Strate;
@@ -46,12 +50,11 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.TopiaRuntimeException;
-import org.nuiton.topia.persistence.TopiaId;
-import java.io.IOException;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
+import java.util.Set;
/**
* Created: 18/06/12
@@ -149,7 +152,6 @@
Preconditions.checkNotNull(campaign.getCode());
Preconditions.checkNotNull(campaign.getRegion());
-
TopiaContext transaction = beginTransaction();
try {
@@ -161,10 +163,12 @@
if (createCampaign) {
- Campaign existCampaign = dao.findByNaturalId(campaign.getCode(), campaign.getRegion());
+ Campaign existCampaign = dao.findByNaturalId(
+ campaign.getCode(), campaign.getRegion());
Preconditions.checkArgument(existCampaign == null);
- Campaign newCampaign = dao.createByNaturalId(campaign.getCode(), campaign.getRegion());
+ Campaign newCampaign = dao.createByNaturalId(
+ campaign.getCode(), campaign.getRegion());
newCampaign.setName(campaign.getName());
newCampaign.setBeginDate(campaign.getBeginDate());
newCampaign.setEndDate(campaign.getEndDate());
@@ -188,12 +192,8 @@
if (createCampaign) {
// creates the campaign storage
- try {
- CampaignStorages.createStorage(config, result);
- } catch (IOException e) {
- throw new SammoaTechnicalException(
- "Could not create campaign storage", e);
- }
+ SammoaStorages.createCampaignStorage(
+ config.getCampaignDirectory(), result);
}
return result;
@@ -384,54 +384,54 @@
FlightService flightService = newService(FlightService.class);
- // delete all campaign flights
+ // delete all flights from db
List<Flight> flights = flightService.getFlights(tx, campaign);
for (Flight flight : flights) {
- flightService.deleteFlight(flight.getTopiaId());
+ flightService.deleteFlightInDb(tx, flight.getTopiaId());
}
- // delete observers
- List<Observer> observers = getAllObservers(campaign);
+ // delete observers and observerPositions
ObserverDAO observerDAO = SammoaDAOHelper.getObserverDAO(tx);
+ List<Observer> observers = observerDAO.findAllByCampaign(campaign);
+ ObserverPositionDAO observerPositionDAO =
+ SammoaDAOHelper.getObserverPositionDAO(tx);
+ Set<ObserverPosition> positions = Sets.newHashSet();
for (Observer observer : observers) {
- observerDAO.delete(observer);
+ positions.addAll(observerPositionDAO.findAllByObserver(observer));
}
+ observerDAO.deleteAll(observers);
+ observerPositionDAO.deleteAll(positions);
// delete transects
List<Transect> transects = getAllTransects(tx, campaign);
-
TransectDAO transectDAO = SammoaDAOHelper.getTransectDAO(tx);
- for (Transect transect : transects) {
- transectDAO.delete(transect);
- }
+ transectDAO.deleteAll(transects);
// delete strates
List<Strate> strates = getAllStrates(tx, campaign);
StrateDAO strateDAO = SammoaDAOHelper.getStrateDAO(tx);
- for (Strate strate : strates) {
- strateDAO.delete(strate);
- }
+ strateDAO.deleteAll(strates);
+ // delete sectors
+ SectorDAO sectorDAO = SammoaDAOHelper.getSectorDAO(tx);
+ List<Sector> sectors = sectorDAO.findAllByCampaign(campaign);
+ sectorDAO.deleteAll(sectors);
+
// delete campaign
dao.delete(campaign);
- // delete campaign storage
- CampaignStorage campaignStorage = CampaignStorages.getStorage(
- config, campaignId);
+ // commit
+ tx.commitTransaction();
- try {
- CampaignStorages.deleteStorage(campaignStorage);
- } catch (IOException e) {
- throw new SammoaTechnicalException(
- "Could not delete campaign storage", e);
- }
-
} catch (TopiaException e) {
throw new SammoaTechnicalException(e);
} finally {
endTransaction(tx);
}
+
+ // delete campaign storage
+ deleteCampaignStorage(campaignId);
}
public void deleteAllData() {
@@ -440,11 +440,7 @@
TopiaContext tx = beginTransaction();
try {
CampaignDAO dao = SammoaDAOHelper.getCampaignDAO(tx);
-
- List<Campaign> campaigns = dao.findAll();
-
- campaignIds = Iterables.transform(campaigns, TopiaId.GET_TOPIA_ID);
-
+ campaignIds = dao.findAllIds();
} catch (TopiaException e) {
throw new SammoaTechnicalException(e);
} finally {
@@ -454,16 +450,14 @@
persistence.destroyDb();
for (String campaignId : campaignIds) {
- // delete campaign storage
- CampaignStorage campaignStorage = CampaignStorages.getStorage(
- config, campaignId);
- try {
- CampaignStorages.deleteStorage(campaignStorage);
- } catch (IOException e) {
- throw new SammoaTechnicalException(
- "Could not delete campaign storage", e);
- }
+ // delete campaign storage
+ deleteCampaignStorage(campaignId);
}
}
+
+ protected void deleteCampaignStorage(String campaignId) {
+ CampaignStorage campaignStorage = getCampaignStorage(campaignId);
+ SammoaStorages.deleteCampaignStorage(campaignStorage);
+ }
}
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaService.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaService.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaService.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -39,5 +39,7 @@
*/
public interface SammoaService {
+ <S extends SammoaService> S newService(Class<S> serviceType);
+
void setSammoaContext(SammoaContext context);
}
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaServiceSupport.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaServiceSupport.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaServiceSupport.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -23,14 +23,18 @@
* #L%
*/
+import fr.ulr.sammoa.application.io.CampaignStorage;
+import fr.ulr.sammoa.application.io.SammoaStorages;
import fr.ulr.sammoa.persistence.SammoaPersistence;
import org.nuiton.topia.TopiaContext;
+import java.io.File;
+
/**
* Sammoa service support.
* <p/>
* This simple implementation of {@link SammoaService}, offer to keep the
- * {@link #context}, {@link #config} and {@link #persistence} obejcts.
+ * {@link #context}, {@link #config} and {@link #persistence} objects.
* <p/>
* <strong>Note:</strong> should be used for any service! and never
* instanciated by hand but via {@link SammoaContext#newService(Class)} method.
@@ -46,11 +50,25 @@
protected SammoaPersistence persistence;
-
+ @Override
public <S extends SammoaService> S newService(Class<S> serviceType) {
return context.newService(serviceType);
}
+ @Override
+ public void setSammoaContext(SammoaContext context) {
+ this.context = context;
+ this.persistence = context.getPersistence();
+ this.config = context.getConfig();
+ }
+
+ public CampaignStorage getCampaignStorage(String campaignId) {
+ File directory = config.getCampaignDirectory();
+ CampaignStorage campaignStorage = SammoaStorages.getCampaignStorage(
+ directory, campaignId);
+ return campaignStorage;
+ }
+
protected TopiaContext beginTransaction() {
TopiaContext tx = persistence.beginTransaction();
return tx;
@@ -59,11 +77,4 @@
protected void endTransaction(TopiaContext tx) {
persistence.endTransaction(tx);
}
-
- @Override
- public void setSammoaContext(SammoaContext context) {
- this.context = context;
- this.persistence = context.getPersistence();
- this.config = context.getConfig();
- }
}
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/flightController/FlightControllerDefault.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/flightController/FlightControllerDefault.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/flightController/FlightControllerDefault.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -40,7 +40,6 @@
import fr.ulr.sammoa.application.device.gps.GpsLocationEvent;
import fr.ulr.sammoa.application.device.gps.GpsLocationListener;
import fr.ulr.sammoa.application.io.CampaignStorage;
-import fr.ulr.sammoa.application.io.CampaignStorages;
import fr.ulr.sammoa.application.io.FlightStorage;
import fr.ulr.sammoa.persistence.Campaign;
import fr.ulr.sammoa.persistence.Flight;
@@ -258,8 +257,8 @@
this.listeners = Sets.newHashSet();
Campaign campaign = flight.getCampaign();
- CampaignStorage campaignStorage = CampaignStorages.getStorage(
- context.getConfig(), campaign.getTopiaId());
+ CampaignStorage campaignStorage =
+ getCampaignStorage(campaign.getTopiaId());
flightStorage = campaignStorage.getFlightStorage(flight.getTopiaId());
if (initialized) {
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorage.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorage.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorage.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -23,19 +23,7 @@
* #L%
*/
-import com.google.common.base.Charsets;
-import com.google.common.base.Function;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-import com.google.common.io.Files;
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.io.filefilter.DirectoryFileFilter;
-
-import java.io.BufferedReader;
import java.io.File;
-import java.io.FileFilter;
-import java.io.IOException;
-import java.util.Properties;
/**
* Storage for a campaign.
@@ -43,41 +31,14 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.6
*/
-public class CampaignStorage {
+public class CampaignStorage extends SammoaStorage {
- public static final Function<File, FlightStorage> FILE_FLIGHT_STORAGE_FUNCTION = new Function<File, FlightStorage>() {
- @Override
- public FlightStorage apply(File input) {
- return new FlightStorage(input.getParentFile(),
- input.getName());
- }
- };
-
- /** Root directory for this storage. */
- protected final File directory;
-
- /** Id of the campaign. */
- protected final String campaignId;
-
- /** Properties of the campaign. */
- protected final Properties properties;
-
- public CampaignStorage(File dataDirectory, String campaignId) {
- this.directory = new File(dataDirectory, campaignId);
- this.campaignId = campaignId;
- this.properties = new Properties();
+ CampaignStorage(File dataDirectory, String id) {
+ super(dataDirectory, id, "campaign.properties");
}
- public String getCampaignId() {
- return campaignId;
- }
-
- public File getDirectory() {
- return directory;
- }
-
public File getMapDirectory() {
- return new File(directory, "map");
+ return new File(getDirectory(), "map");
}
public File getMapFile(String mapFilename) {
@@ -85,41 +46,17 @@
}
public File getFlightDirectory() {
- return new File(directory, "flight");
+ return new File(getDirectory(), "flight");
}
public File getCsvDirectory() {
- return new File(directory, "csv");
+ return new File(getDirectory(), "csv");
}
- public File getPropertiesFile() {
- return new File(directory, "campaign.properties");
- }
-
- public Properties getProperties() throws IOException {
- return properties;
- }
-
- public void loadProperties() throws IOException {
- BufferedReader reader =
- Files.newReader(getPropertiesFile(), Charsets.UTF_8);
- try {
- properties.load(reader);
- reader.close();
- } finally {
- IOUtils.closeQuietly(reader);
- }
- }
-
public FlightStorage getFlightStorage(String flightId) {
- File flightStorageDirectory = new File(getFlightDirectory(), flightId);
- return FILE_FLIGHT_STORAGE_FUNCTION.apply(flightStorageDirectory);
+ FlightStorage flightStorage =
+ new FlightStorage(getFlightDirectory(), flightId);
+ return flightStorage;
}
- public Iterable<FlightStorage> getFlightStorages() {
- File[] files = getFlightDirectory().listFiles(
- (FileFilter) DirectoryFileFilter.DIRECTORY);
- return Iterables.transform(Lists.newArrayList(files),
- FILE_FLIGHT_STORAGE_FUNCTION);
- }
}
Deleted: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorages.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorages.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorages.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -1,96 +0,0 @@
-package fr.ulr.sammoa.application.io;
-/*
- * #%L
- * SAMMOA :: Application
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2012 UMS 3462, Code Lutin
- * %%
- * 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.ulr.sammoa.application.SammoaConfig;
-import org.apache.commons.io.FileUtils;
-
-import java.io.File;
-import java.io.IOException;
-
-/**
- * Useful methods around {@link CampaignStorage}.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.6
- */
-public class CampaignStorages {
-
- public static CampaignStorage getStorage(SammoaConfig config,
- String campaignId) {
- File directory = config.getCampaignDirectory();
- CampaignStorage result = new CampaignStorage(directory, campaignId);
- return result;
- }
-
- public static CampaignStorage createStorage(SammoaConfig config,
- String campaignId) throws IOException {
- File directory = config.getCampaignDirectory();
- CampaignStorage result = new CampaignStorage(directory, campaignId);
- createEmptyStructure(result);
- return result;
- }
-
- public static CampaignStorage createStorage(File directory,
- String campaignId) throws IOException {
- CampaignStorage result = new CampaignStorage(directory, campaignId);
- createEmptyStructure(result);
- return result;
- }
-
- public static CampaignStorage copyStorage(CampaignStorage source,
- File targetDirectory,
- boolean createCsvDirectory,
- Iterable<String> flightIds) throws IOException {
-
- CampaignStorage target = createStorage(targetDirectory,
- source.getCampaignId());
-
- createEmptyStructure(target);
- FileUtils.copyDirectory(source.getMapDirectory(),
- target.getMapDirectory());
- if (createCsvDirectory) {
- FileUtils.forceMkdir(target.getCsvDirectory());
- }
- if (source.getCsvDirectory().exists()) {
- FileUtils.copyDirectory(source.getCsvDirectory(),
- target.getCsvDirectory());
- }
- for (String flightId : flightIds) {
- FlightStorage flightStorage = source.getFlightStorage(flightId);
- FlightStorages.copyStorage(flightStorage, target);
- }
- return target;
- }
-
- protected static void createEmptyStructure(CampaignStorage storage) throws IOException {
- FileUtils.forceMkdir(storage.getDirectory());
- FileUtils.forceMkdir(storage.getFlightDirectory());
- FileUtils.forceMkdir(storage.getMapDirectory());
- }
-
- public static void deleteStorage(CampaignStorage storage) throws IOException {
- FileUtils.deleteDirectory(storage.getDirectory());
- }
-}
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/FlightStorage.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/FlightStorage.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/FlightStorage.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -23,14 +23,7 @@
* #L%
*/
-import com.google.common.base.Charsets;
-import com.google.common.io.Files;
-import org.apache.commons.io.IOUtils;
-
-import java.io.BufferedReader;
import java.io.File;
-import java.io.IOException;
-import java.util.Properties;
/**
* Storage for a flight.
@@ -38,56 +31,18 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.6
*/
-public class FlightStorage {
+public class FlightStorage extends SammoaStorage {
- /** Root directory for this storage. */
- protected final File directory;
-
- /** Id of the flight. */
- protected final String flightId;
-
- /** Properties of the flight. */
- protected final Properties properties;
-
- public FlightStorage(File dataDirectory, String flightId) {
- this.directory = new File(dataDirectory, flightId);
- this.flightId = flightId;
- this.properties = new Properties();
+ FlightStorage(File dataDirectory, String id) {
+ super(dataDirectory, id, "flight.properties");
}
- public String getFlightId() {
- return flightId;
- }
-
- public File getDirectory() {
- return directory;
- }
-
public File getAudioDirectory() {
- return new File(directory, "audio");
+ return new File(getDirectory(), "audio");
}
public File getAudioFile(String filename) {
return new File(getAudioDirectory(), filename);
}
- public File getPropertiesFile() {
- return new File(directory, "flight.properties");
- }
-
- public Properties getProperties() throws IOException {
- return properties;
- }
-
- public void loadProperties() throws IOException {
- BufferedReader reader =
- Files.newReader(getPropertiesFile(), Charsets.UTF_8);
- try {
- properties.load(reader);
- reader.close();
- } finally {
- IOUtils.closeQuietly(reader);
- }
- }
-
}
Deleted: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/FlightStorages.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/FlightStorages.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/FlightStorages.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -1,61 +0,0 @@
-package fr.ulr.sammoa.application.io;
-/*
- * #%L
- * SAMMOA :: Application
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2012 UMS 3462, Code Lutin
- * %%
- * 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 org.apache.commons.io.FileUtils;
-
-import java.io.IOException;
-
-/**
- * Useful methods around {@link FlightStorage}.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.6
- */
-public class FlightStorages {
-
- public static FlightStorage createStorage(CampaignStorage source,
- String flightId) throws IOException {
- FlightStorage result = source.getFlightStorage(flightId);
- createEmptyFlightStructure(result);
- return result;
- }
-
- public static FlightStorage copyStorage(FlightStorage source,
- CampaignStorage target) throws IOException {
-
- FlightStorage result = target.getFlightStorage(source.getFlightId());
- FileUtils.copyDirectory(source.getDirectory(), result.getDirectory());
- return result;
- }
-
- protected static void createEmptyFlightStructure(FlightStorage storage) throws IOException {
- FileUtils.forceMkdir(storage.getDirectory());
- FileUtils.forceMkdir(storage.getAudioDirectory());
- }
-
- public static void deleteStorage(FlightStorage storage) throws IOException {
- FileUtils.deleteDirectory(storage.getDirectory());
- }
-}
Added: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/SammoaStorage.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/SammoaStorage.java (rev 0)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/SammoaStorage.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -0,0 +1,92 @@
+package fr.ulr.sammoa.application.io;
+/*
+ * #%L
+ * SAMMOA :: Application
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 UMS 3462, Code Lutin
+ * %%
+ * 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 com.google.common.base.Charsets;
+import com.google.common.io.Files;
+import org.apache.commons.io.IOUtils;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
+import java.util.Properties;
+
+/**
+ * Storage for sammoa.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @see CampaignStorage
+ * @see FlightStorage
+ * @since 0.6
+ */
+class SammoaStorage {
+
+ /** Root directory for this storage. */
+ private final File directory;
+
+ /** Id of the storage. */
+ private final String id;
+
+ /** Properties of the storage. */
+ private final Properties properties;
+
+ /** Name of the properties file of the storage. */
+ private final String propertiesFilename;
+
+ SammoaStorage(File dataDirectory,
+ String id,
+ String propertiesFilename) {
+ this.directory = new File(dataDirectory, id);
+ this.id = id;
+ this.propertiesFilename = propertiesFilename;
+ this.properties = new Properties();
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public File getDirectory() {
+ return directory;
+ }
+
+ public File getPropertiesFile() {
+ return new File(directory, propertiesFilename);
+ }
+
+ public Properties getProperties() throws IOException {
+ return properties;
+ }
+
+ public void loadProperties() throws IOException {
+ BufferedReader reader =
+ Files.newReader(getPropertiesFile(), Charsets.UTF_8);
+ try {
+ properties.load(reader);
+ reader.close();
+ } finally {
+ IOUtils.closeQuietly(reader);
+ }
+ }
+}
Property changes on: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/SammoaStorage.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Copied: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/SammoaStorages.java (from rev 437, trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorages.java)
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/SammoaStorages.java (rev 0)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/SammoaStorages.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -0,0 +1,128 @@
+package fr.ulr.sammoa.application.io;
+/*
+ * #%L
+ * SAMMOA :: Application
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 UMS 3462, Code Lutin
+ * %%
+ * 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.ulr.sammoa.application.SammoaTechnicalException;
+import org.apache.commons.io.FileUtils;
+
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * Useful methods around {@link SammoaStorage}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.6
+ */
+public class SammoaStorages {
+
+ public static CampaignStorage getCampaignStorage(File directory,
+ String campaignId) {
+ CampaignStorage result = new CampaignStorage(directory, campaignId);
+ return result;
+ }
+
+ public static CampaignStorage createCampaignStorage(File directory,
+ String campaignId) {
+ try {
+ CampaignStorage result = new CampaignStorage(directory, campaignId);
+ createEmptyCampaignStructure(result);
+ return result;
+ } catch (IOException e) {
+ throw new SammoaTechnicalException("Could not create campaign storage", e);
+ }
+ }
+
+ public static CampaignStorage copyCampaignStorage(CampaignStorage source,
+ File targetDirectory,
+ boolean createCsvDirectory,
+ Iterable<String> flightIds) {
+
+ try {
+ CampaignStorage target = new CampaignStorage(targetDirectory,
+ source.getId());
+ createEmptyCampaignStructure(target);
+ FileUtils.copyDirectory(source.getMapDirectory(),
+ target.getMapDirectory());
+
+ if (createCsvDirectory) {
+ FileUtils.forceMkdir(target.getCsvDirectory());
+ }
+ if (source.getCsvDirectory().exists()) {
+ FileUtils.copyDirectory(source.getCsvDirectory(),
+ target.getCsvDirectory());
+ }
+ for (String flightId : flightIds) {
+ FlightStorage flightStorage = source.getFlightStorage(flightId);
+
+ FlightStorage targetFlightStorage =
+ target.getFlightStorage(flightStorage.getId());
+ FileUtils.copyDirectory(flightStorage.getDirectory(),
+ targetFlightStorage.getDirectory());
+
+ }
+ return target;
+ } catch (IOException e) {
+ throw new SammoaTechnicalException("Could not copy campaign storage", e);
+ }
+ }
+
+ public static void deleteCampaignStorage(CampaignStorage storage) {
+ try {
+ FileUtils.deleteDirectory(storage.getDirectory());
+ } catch (IOException e) {
+ throw new SammoaTechnicalException("Could not delete campaign storage", e);
+ }
+ }
+
+ public static FlightStorage createFlightStorage(CampaignStorage source,
+ String flightId) {
+ try {
+ FlightStorage result = source.getFlightStorage(flightId);
+ createEmptyFlightStructure(result);
+ return result;
+ } catch (IOException e) {
+ throw new SammoaTechnicalException("Could not create flight storage", e);
+ }
+ }
+
+ public static void deleteFlightStorage(FlightStorage storage) {
+ try {
+ FileUtils.deleteDirectory(storage.getDirectory());
+ } catch (IOException e) {
+ throw new SammoaTechnicalException("Could not delete flight storage", e);
+ }
+ }
+
+ protected static void createEmptyCampaignStructure(CampaignStorage storage) throws IOException {
+ FileUtils.forceMkdir(storage.getDirectory());
+ FileUtils.forceMkdir(storage.getFlightDirectory());
+ FileUtils.forceMkdir(storage.getMapDirectory());
+ }
+
+ protected static void createEmptyFlightStructure(FlightStorage storage) throws IOException {
+ FileUtils.forceMkdir(storage.getDirectory());
+ FileUtils.forceMkdir(storage.getAudioDirectory());
+ }
+}
Property changes on: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/SammoaStorages.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/map/ExportMapService.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/map/ExportMapService.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/map/ExportMapService.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -645,7 +645,6 @@
}
-
protected void fillDateRecord(Date date, Map<String, Object> record) {
record.put("DATE", date);
record.put("HHMMSS", timeFormat.format(date));
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationService.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationService.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationService.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -28,7 +28,7 @@
import fr.ulr.sammoa.application.SammoaServiceSupport;
import fr.ulr.sammoa.application.SammoaTechnicalException;
import fr.ulr.sammoa.application.io.CampaignStorage;
-import fr.ulr.sammoa.application.io.CampaignStorages;
+import fr.ulr.sammoa.application.io.SammoaStorages;
import fr.ulr.sammoa.persistence.Flight;
import fr.ulr.sammoa.persistence.GeoPoint;
import fr.ulr.sammoa.persistence.Observation;
@@ -37,6 +37,7 @@
import fr.ulr.sammoa.persistence.SammoaDbMetas;
import fr.ulr.sammoa.persistence.SammoaEntityEnum;
import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
@@ -79,7 +80,7 @@
private static final TimeLog TIME_LOG =
new TimeLog(ExportApplicationService.class);
- public void exportApplication(ExportApplicationModel model) throws IOException {
+ public void exportApplication(ExportApplicationModel model) {
Preconditions.checkNotNull(model);
Preconditions.checkNotNull(model.getExportFile());
Preconditions.checkNotNull(model.getCampaignId());
@@ -94,7 +95,7 @@
String campaignId = model.getCampaignId();
- CampaignStorage storage = CampaignStorages.getStorage(config, campaignId);
+ CampaignStorage storage = getCampaignStorage(campaignId);
File targetDirectory = new File(config.getTmpDirectory(),
"exportSammoa-" + System.nanoTime());
@@ -105,7 +106,7 @@
Iterable<String> flightIds = model.getFlightIds();
- CampaignStorage targetStorage = CampaignStorages.copyStorage(
+ CampaignStorage targetStorage = SammoaStorages.copyCampaignStorage(
storage, targetDirectory, true, flightIds);
@@ -169,7 +170,7 @@
protected void exportData(TopiaContext tx,
File csvDirectory,
- Iterable<String> flightIds) throws IOException {
+ Iterable<String> flightIds) {
DbMeta<SammoaEntityEnum> dbMetas = persistence.getDbMetas();
@@ -205,7 +206,7 @@
}
} finally {
- exportVisitor.close();
+ IOUtils.closeQuietly(exportVisitor);
}
}
@@ -247,16 +248,20 @@
protected void compressZipFile(File zipFile,
File directory,
- boolean delete) throws IOException {
+ boolean delete) {
- FileUtils.forceMkdir(zipFile.getParentFile());
+ try {
+ FileUtils.forceMkdir(zipFile.getParentFile());
- try {
- ZipUtil.compress(zipFile, directory);
- } finally {
- if (delete) {
- FileUtils.deleteDirectory(directory);
+ try {
+ ZipUtil.compress(zipFile, directory);
+ } finally {
+ if (delete) {
+ FileUtils.deleteDirectory(directory);
+ }
}
+ } catch (IOException e) {
+ throw new SammoaTechnicalException("Could not compress directory", e);
}
}
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/Observations.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/Observations.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/Observations.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -28,6 +28,7 @@
import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
import org.apache.commons.collections.CollectionUtils;
import org.nuiton.util.DateUtil;
import org.nuiton.util.PeriodDates;
@@ -35,6 +36,7 @@
import java.util.Date;
import java.util.Iterator;
import java.util.List;
+import java.util.Set;
/**
* Created: 16/07/12
@@ -48,11 +50,11 @@
}
public static Iterable<Date> toDates(Iterable<Observation> observations) {
- return Iterables.transform(observations, toDate());
+ return Iterables.transform(observations, TO_DATE_FUNCTION);
}
- public static Function<Observation, Date> toDate() {
- return TO_DATE_FUNCTION;
+ public static Set<ObserverPosition> toObserverPositions(Iterable<Observation> observations) {
+ return Sets.newHashSet(Iterables.transform(observations, TO_OBSERVER_POSITION_FUNCTION));
}
public static boolean inRoute(Observation observation, Route route, Route nextRoute) {
@@ -92,6 +94,13 @@
}
};
+ protected static Function<Observation, ObserverPosition> TO_OBSERVER_POSITION_FUNCTION = new Function<Observation, ObserverPosition>() {
+
+ @Override
+ public ObserverPosition apply(Observation input) {
+ return input.getObserverPosition();
+ }
+ };
public static List<Observation> retainsObservations(List<Observation> observations,
PeriodDates periodDate) {
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/Routes.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/Routes.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/Routes.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -26,10 +26,12 @@
import com.google.common.base.Function;
import com.google.common.base.Objects;
import com.google.common.collect.Iterables;
+import com.google.common.collect.Sets;
import org.apache.commons.collections.CollectionUtils;
import java.util.Date;
import java.util.List;
+import java.util.Set;
/**
* Created: 16/07/12
@@ -51,9 +53,21 @@
}
public static Iterable<Date> toDates(Iterable<Route> routes) {
- return Iterables.transform(routes, toDate());
+ return Iterables.transform(routes, TO_DATE_FUNCTION);
}
+ public static Iterable<TransectFlight> toTransectFlights(Iterable<Route> routes) {
+ return Iterables.transform(routes, TO_TRANSECT_FLIGHT_FUNCTION);
+ }
+
+ public static Set<ObserverPosition> toObserverPositions(Iterable<Route> routes) {
+ Set<ObserverPosition> result = Sets.newHashSet();
+ for (Route route : routes) {
+ result.addAll(route.getObserverPosition());
+ }
+ return result;
+ }
+
public static boolean isRouteAccepted(Route route,
List<RouteType> routeTypes,
List<Strate> strates) {
@@ -74,10 +88,6 @@
return result;
}
- public static Function<Route, Date> toDate() {
- return TO_DATE_FUNCTION;
- }
-
protected static Function<Route, Date> TO_DATE_FUNCTION = new Function<Route, Date>() {
@Override
@@ -86,6 +96,14 @@
}
};
+ protected static Function<Route, TransectFlight> TO_TRANSECT_FLIGHT_FUNCTION = new Function<Route, TransectFlight>() {
+
+ @Override
+ public TransectFlight apply(Route input) {
+ return input.getTransectFlight();
+ }
+ };
+
public static boolean equal(Route o1, Route o2) {
boolean result = Objects.equal(o1.getRouteType(), o2.getRouteType());
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SammoaDbMetas.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SammoaDbMetas.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SammoaDbMetas.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -1,4 +1,27 @@
package fr.ulr.sammoa.persistence;
+/*
+ * #%L
+ * SAMMOA :: Persistence
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 UMS 3462, Code Lutin
+ * %%
+ * 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 com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
Property changes on: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SammoaDbMetas.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SammoaPersistence.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SammoaPersistence.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SammoaPersistence.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -155,6 +155,11 @@
this.rootContext = rootContext;
}
+ /**
+ * Destroy the current db (only works for h2 db).
+ *
+ * @since 0.6
+ */
public void destroyDb() {
autoSaveListener.stop();
if (rootContext != null) {
@@ -165,7 +170,6 @@
// clean root context
setRootContext(null);
} catch (TopiaException e) {
-
throw new TopiaRuntimeException(e);
}
}
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/TransectFlights.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/TransectFlights.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/TransectFlights.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -2,8 +2,8 @@
/*
* #%L
* SAMMOA :: Persistence
- * $Id:$
- * $HeadURL:$
+ * $Id$
+ * $HeadURL$
* %%
* Copyright (C) 2012 UMS 3462, Code Lutin
* %%
@@ -26,7 +26,10 @@
import com.google.common.base.Function;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
+import com.google.common.collect.Sets;
+import java.util.Set;
+
/**
* Created: 11/07/12
*
@@ -38,6 +41,16 @@
// static class do not have instanciation
}
+ public static Set<ObserverPosition> toObserverPositions(Iterable<TransectFlight> transectFlights) {
+ Set<ObserverPosition> result = Sets.newHashSet();
+ for (TransectFlight transectFlight : transectFlights) {
+ if (transectFlight != null) {
+ result.addAll(transectFlight.getObserverPosition());
+ }
+ }
+ return result;
+ }
+
public static Predicate<TransectFlight> isNotDeleted() {
return Predicates.not(isDeleted());
}
@@ -45,7 +58,7 @@
public static Predicate<TransectFlight> isDeleted() {
return IS_DELETED_PREDICATE;
}
-
+
public static Function<TransectFlight, Transect> toTransect() {
return TO_TRANSECT_FUNCTION;
}
@@ -53,18 +66,18 @@
protected static Function<TransectFlight, Transect> TO_TRANSECT_FUNCTION =
new Function<TransectFlight, Transect>() {
- @Override
- public Transect apply(TransectFlight input) {
- return input.getTransect();
- }
- };
-
+ @Override
+ public Transect apply(TransectFlight input) {
+ return input.getTransect();
+ }
+ };
+
protected static Predicate<TransectFlight> IS_DELETED_PREDICATE =
new Predicate<TransectFlight>() {
- @Override
- public boolean apply(TransectFlight input) {
- return input.isDeleted();
- }
- };
+ @Override
+ public boolean apply(TransectFlight input) {
+ return input.isDeleted();
+ }
+ };
}
Modified: trunk/sammoa-persistence/src/test/java/fr/ulr/sammoa/persistence/SammoaDbMetasTest.java
===================================================================
--- trunk/sammoa-persistence/src/test/java/fr/ulr/sammoa/persistence/SammoaDbMetasTest.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-persistence/src/test/java/fr/ulr/sammoa/persistence/SammoaDbMetasTest.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -1,4 +1,27 @@
package fr.ulr.sammoa.persistence;
+/*
+ * #%L
+ * SAMMOA :: Persistence
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 UMS 3462, Code Lutin
+ * %%
+ * 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 com.google.common.collect.Multimap;
import org.junit.Assert;
Property changes on: trunk/sammoa-persistence/src/test/java/fr/ulr/sammoa/persistence/SammoaDbMetasTest.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/campaign/CampaignUIHandler.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/campaign/CampaignUIHandler.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/campaign/CampaignUIHandler.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -26,7 +26,6 @@
import fr.ulr.sammoa.application.FlightService;
import fr.ulr.sammoa.application.ReferentialService;
import fr.ulr.sammoa.application.io.CampaignStorage;
-import fr.ulr.sammoa.application.io.CampaignStorages;
import fr.ulr.sammoa.application.io.input.csv.ImportCsvService;
import fr.ulr.sammoa.application.io.input.map.ImportMapService;
import fr.ulr.sammoa.application.io.input.map.ShpImporter;
@@ -188,8 +187,8 @@
String campaignId = referentialService.saveCampaign(campaign);
getModel().setId(campaignId);
- CampaignStorage campaignStorage = CampaignStorages.getStorage(
- context.getConfig(), campaignId);
+ CampaignStorage campaignStorage =
+ referentialService.getCampaignStorage(campaignId);
File strateFile = ui.getStrateFileEditor().getSelectedFile();
if (strateFile != null && strateFile.exists()) {
@@ -306,7 +305,7 @@
protected ShpImporter<Strate> strateImporter = new ShpImporter<Strate>(new StrateImportModel(), "strates") {
protected String onDbfLoaded(Iterable<Strate> elements, CampaignStorage storage) {
- int nbImported = importMapService.importStrates(storage.getCampaignId(), elements);
+ int nbImported = importMapService.importStrates(storage.getId(), elements);
return _("sammoa.messageDialog.strates.import.success", nbImported);
}
@@ -316,7 +315,7 @@
@Override
protected String onDbfLoaded(Iterable<Transect> elements, CampaignStorage storage) {
- int nbImported = importMapService.importTransects(storage.getCampaignId(), elements);
+ int nbImported = importMapService.importTransects(storage.getId(), elements);
return _("sammoa.messageDialog.transects.import.success", nbImported);
}
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUIHandler.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUIHandler.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUIHandler.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -63,7 +63,6 @@
import fr.ulr.sammoa.application.flightController.FlightState;
import fr.ulr.sammoa.application.flightController.ObservationEvent;
import fr.ulr.sammoa.application.io.CampaignStorage;
-import fr.ulr.sammoa.application.io.CampaignStorages;
import fr.ulr.sammoa.persistence.Campaign;
import fr.ulr.sammoa.persistence.Flight;
import fr.ulr.sammoa.persistence.GeoPoint;
@@ -735,8 +734,8 @@
}
String campaignId = getModel().getFlight().getCampaign().getTopiaId();
- CampaignStorage campaignStorage = CampaignStorages.getStorage(
- config, campaignId);
+ CampaignStorage campaignStorage =
+ referentialService.getCampaignStorage(campaignId);
// StrateLayer
{
@@ -816,7 +815,7 @@
List<GeoPoint> geoPoints = GeoPoints.getClosestPoints(
getModel().getGeoPoints(),
- Iterables.transform(getModel().getObservations(), Observations.toDate())
+ Observations.toDates(getModel().getObservations())
);
observationLayer.setGeoPoints(geoPoints);
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/java-info.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/java-info.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/java-info.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -2,4 +2,27 @@
* Base package for all input operations (says all imports).
* @since 0.6
*/
-package fr.ulr.sammoa.ui.swing.io.input;
\ No newline at end of file
+package fr.ulr.sammoa.ui.swing.io.input;
+/*
+ * #%L
+ * SAMMOA :: UI Swing
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 UMS 3462, Code Lutin
+ * %%
+ * 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%
+ */
Property changes on: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/java-info.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUI.css
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUI.css 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUI.css 2012-08-19 17:51:27 UTC (rev 439)
@@ -1,3 +1,26 @@
+/*
+ * #%L
+ * SAMMOA :: UI Swing
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 UMS 3462, Code Lutin
+ * %%
+ * 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%
+ */
#importFileLbl {
text: "sammoa.label.importApplicationFile";
}
Property changes on: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUI.css
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUI.jaxx
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUI.jaxx 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUI.jaxx 2012-08-19 17:51:27 UTC (rev 439)
@@ -1,8 +1,8 @@
<!--
#%L
SAMMOA :: UI Swing
- $Id: ExportApplicationUI.jaxx 414 2012-08-13 22:12:51Z tchemit $
- $HeadURL: http://svn.forge.codelutin.com/svn/sammoa/trunk/sammoa-ui-swing/src/main/ja… $
+ $Id$
+ $HeadURL$
%%
Copyright (C) 2012 UMS 3462, Code Lutin
%%
Property changes on: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUI.jaxx
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUIHandler.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUIHandler.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUIHandler.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -1,4 +1,27 @@
package fr.ulr.sammoa.ui.swing.io.input.sammoa;
+/*
+ * #%L
+ * SAMMOA :: UI Swing
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 UMS 3462, Code Lutin
+ * %%
+ * 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.ulr.sammoa.application.FlightService;
import fr.ulr.sammoa.application.ReferentialService;
Property changes on: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUIHandler.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUIModel.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUIModel.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUIModel.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -3,7 +3,7 @@
* #%L
* SAMMOA :: UI Swing
* $Id$
- * $HeadURL:$
+ * $HeadURL$
* %%
* Copyright (C) 2012 UMS 3462, Code Lutin
* %%
Property changes on: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUIModel.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/java-info.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/java-info.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/java-info.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -3,4 +3,27 @@
*
* @since 0.6
*/
-package fr.ulr.sammoa.ui.swing.io.input.sammoa;
\ No newline at end of file
+package fr.ulr.sammoa.ui.swing.io.input.sammoa;
+/*
+ * #%L
+ * SAMMOA :: UI Swing
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 UMS 3462, Code Lutin
+ * %%
+ * 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%
+ */
Property changes on: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/java-info.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/java-info.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/java-info.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/java-info.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -4,4 +4,27 @@
*
* @since 0.6
*/
-package fr.ulr.sammoa.ui.swing.io;
\ No newline at end of file
+package fr.ulr.sammoa.ui.swing.io;
+/*
+ * #%L
+ * SAMMOA :: UI Swing
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 UMS 3462, Code Lutin
+ * %%
+ * 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%
+ */
Property changes on: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/java-info.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/map/java-info.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/map/java-info.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/map/java-info.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -3,4 +3,27 @@
*
* @since 0.6
*/
-package fr.ulr.sammoa.ui.swing.io.output.map;
\ No newline at end of file
+package fr.ulr.sammoa.ui.swing.io.output.map;
+/*
+ * #%L
+ * SAMMOA :: UI Swing
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 UMS 3462, Code Lutin
+ * %%
+ * 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%
+ */
Property changes on: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/map/java-info.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIHandler.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIHandler.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIHandler.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -233,14 +233,15 @@
}
protected void removeFlights(ExportApplicationModel model) {
+ String campaignId = model.getCampaignId();
+ Iterable<String> flightIds = model.getFlightIds();
if (logger.isInfoEnabled()) {
- logger.info("Will remove selected flights for campaign {}",
- model.getCampaignId());
+ logger.info("Will remove selected flights for campaign {}: {}",
+ campaignId, flightIds);
}
- FlightService service = context.newService(FlightService.class);
- for (String flightId : model.getFlightIds()) {
- service.deleteFlight(flightId);
+ for (String flightId : flightIds) {
+ flightService.deleteFlight(campaignId, flightId);
}
}
@@ -249,8 +250,7 @@
logger.info("Will remove campaign data {}", model.getCampaignId());
}
- ReferentialService service = context.newService(ReferentialService.class);
- service.deleteCampaign(model.getCampaignId());
+ referentialService.deleteCampaign(model.getCampaignId());
}
protected void removeAllData() {
@@ -258,8 +258,7 @@
logger.info("Will remove all data from current db (create a new db...)");
}
- ReferentialService service = context.newService(ReferentialService.class);
- service.deleteAllData();
+ referentialService.deleteAllData();
}
protected void validateModel() {
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/java-info.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/java-info.java 2012-08-19 14:47:01 UTC (rev 438)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/java-info.java 2012-08-19 17:51:27 UTC (rev 439)
@@ -3,4 +3,27 @@
*
* @since 0.6
*/
-package fr.ulr.sammoa.ui.swing.io.output.sammoa;
\ No newline at end of file
+package fr.ulr.sammoa.ui.swing.io.output.sammoa;
+/*
+ * #%L
+ * SAMMOA :: UI Swing
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 UMS 3462, Code Lutin
+ * %%
+ * 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%
+ */
Property changes on: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/java-info.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
1
0
r438 - in trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing: action flight
by tchemit@users.forge.codelutin.com 19 Aug '12
by tchemit@users.forge.codelutin.com 19 Aug '12
19 Aug '12
Author: tchemit
Date: 2012-08-19 16:47:01 +0200 (Sun, 19 Aug 2012)
New Revision: 438
Url: http://forge.codelutin.com/repositories/revision/sammoa/438
Log:
remove deprecated class + still remove some not necessary public api :(
Removed:
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/action/ActionDef.java
Modified:
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightBarHandler.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUIHandler.java
Deleted: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/action/ActionDef.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/action/ActionDef.java 2012-08-19 14:44:55 UTC (rev 437)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/action/ActionDef.java 2012-08-19 14:47:01 UTC (rev 438)
@@ -1,120 +0,0 @@
-/*
- * #%L
- * SAMMOA :: UI Swing
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2012 UMS 3462, Code Lutin
- * %%
- * 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%
- */
-package fr.ulr.sammoa.ui.swing.action;
-
-import com.google.common.base.Predicate;
-import com.google.common.base.Throwables;
-import com.google.common.collect.Iterables;
-import fr.ulr.sammoa.ui.swing.SammoaUIContext;
-
-import javax.swing.Action;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Created: 03/07/12
- *
- * @author fdesbois <desbois(a)codelutin.com>
- */
-@Deprecated
-public enum ActionDef {
-
- START(StartAction.class, true),
-
- STOP(StopAction.class, true),
-
- BEGIN(BeginAction.class, true),
-
- END(EndAction.class, true),
-
- NEXT(NextAction.class, true),
-
- NEXT_TRANSECT(NextTransectAction.class, true),
-
- ADD(AddAction.class, false),
-
- LEFT_OBSERVATION(LeftObservationAction.class, false),
-
- CENTER_OBSERVATION(CenterObservationAction.class, false),
-
- RIGHT_OBSERVATION(RightObservationAction.class, false),
-
- CIRCLE_BACK(CircleBackAction.class, false);
-
- private Class<? extends SammoaAction> actionClass;
-
- private boolean flyModeOnly;
-
- ActionDef(Class<? extends SammoaAction> actionClass,
- boolean flyModeOnly) {
-
- this.actionClass = actionClass;
- this.flyModeOnly = flyModeOnly;
- }
-
- public boolean isFlyModeOnly() {
- return flyModeOnly;
- }
-
- public Class<? extends SammoaAction> getActionClass() {
- return actionClass;
- }
-
- public Action newAction(SammoaUIContext context) {
- SammoaAction result;
- try {
- Constructor<? extends SammoaAction> constructor =
- actionClass.getConstructor(SammoaUIContext.class);
-
- result = constructor.newInstance(context);
-
- } catch (InstantiationException e) {
- throw Throwables.propagate(e);
- } catch (IllegalAccessException e) {
- throw Throwables.propagate(e);
- } catch (NoSuchMethodException e) {
- throw Throwables.propagate(e);
- } catch (InvocationTargetException e) {
- throw Throwables.propagate(e);
- }
- return result;
- }
-
- public static Iterable<ActionDef> values(boolean flyMode) {
- List<ActionDef> list = Arrays.asList(values());
- return Iterables.filter(list, isAvailable(flyMode));
- }
-
- public static Predicate<ActionDef> isAvailable(final boolean flyMode) {
- return new Predicate<ActionDef>() {
-
- @Override
- public boolean apply(ActionDef input) {
- return !input.isFlyModeOnly() || (input.isFlyModeOnly() && flyMode);
- }
- };
- }
-}
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightBarHandler.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightBarHandler.java 2012-08-19 14:44:55 UTC (rev 437)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightBarHandler.java 2012-08-19 14:47:01 UTC (rev 438)
@@ -48,7 +48,7 @@
this.view = view;
}
- public FlightBarModel getModel() {
+ protected FlightBarModel getModel() {
return view.getModel();
}
@@ -57,19 +57,17 @@
return SammoaUIContext.getUIContext().getFlightUIHandler().getModel();
}
- @Deprecated
- public FlightController getFlightController() {
- return SammoaUIContext.getUIContext().getFlightUIHandler().getFlightController();
- }
-
public void init() {
+
getFlightUIModel().addPropertyChangeListener(this);
- AudioRecorder audioRecorder = getFlightController().getAudioRecorder();
+ FlightController flightController =
+ SammoaUIContext.getUIContext().getFlightUIHandler().getFlightController();
+ AudioRecorder audioRecorder = flightController.getAudioRecorder();
view.getAudioLED().setState(audioRecorder.getState());
audioRecorder.addDeviceStateListener(view.getAudioLED());
- GpsHandler gpsHandler = getFlightController().getGpsHandler();
+ GpsHandler gpsHandler = flightController.getGpsHandler();
view.getGpsLED().setState(gpsHandler.getState());
gpsHandler.addDeviceStateListener(view.getGpsLED());
gpsHandler.addGpsLocationListener(getModel());
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUIHandler.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUIHandler.java 2012-08-19 14:44:55 UTC (rev 437)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUIHandler.java 2012-08-19 14:47:01 UTC (rev 438)
@@ -163,8 +163,8 @@
this.ui = ui;
ui.setContextValue(context);
- flightService = context.newService(FlightService.class);
- referentialService = context.newService(ReferentialService.class);
+ this.flightService = context.newService(FlightService.class);
+ this.referentialService = context.newService(ReferentialService.class);
}
public FlightController getFlightController() {
1
0
19 Aug '12
Author: tchemit
Date: 2012-08-19 16:44:55 +0200 (Sun, 19 Aug 2012)
New Revision: 437
Url: http://forge.codelutin.com/repositories/revision/sammoa/437
Log:
SammoaContext is not the good place to keep service (is there any place for this ?)
avoid
Modified:
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaContext.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/map/DbfImport.java
trunk/sammoa-application/src/main/resources/i18n/sammoa-application_en_GB.properties
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/campaign/CampaignUIHandler.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUI.jaxx
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/home/HomeUIHandler.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUIHandler.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/map/ExportMapUIHandler.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUI.css
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUI.jaxx
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIHandler.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/observations/EffortPanelHandler.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/observations/SpeciesCodeValidator.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/region/RegionUIHandler.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/transect/TransectUIHandler.java
trunk/sammoa-ui-swing/src/main/resources/i18n/sammoa-ui-swing_en_GB.properties
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaContext.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaContext.java 2012-08-19 12:06:02 UTC (rev 436)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaContext.java 2012-08-19 14:44:55 UTC (rev 437)
@@ -42,10 +42,6 @@
protected SammoaPersistence persistence;
- protected FlightService flightService;
-
- protected ReferentialService referentialService;
-
public SammoaContext(SammoaConfig config) {
this(config, new SammoaPersistence(
config.getApplicationConfig().getFlatOptions(),
@@ -80,20 +76,6 @@
}
}
- public FlightService getFlightService() {
- if (flightService == null) {
- flightService = newService(FlightService.class);
- }
- return flightService;
- }
-
- public ReferentialService getReferentialService() {
- if (referentialService == null) {
- referentialService = newService(ReferentialService.class);
- }
- return referentialService;
- }
-
public void open() {
persistence.open(
config.getApplicationConfig().getFlatOptions(),
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/map/DbfImport.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/map/DbfImport.java 2012-08-19 12:06:02 UTC (rev 436)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/map/DbfImport.java 2012-08-19 14:44:55 UTC (rev 437)
@@ -92,7 +92,7 @@
} catch (Exception e) {
throw new ImportRuntimeException(
- _("csv.import.error.unableToReadField",
+ _("sammoa.dbf.import.error.unableToReadField",
field.getHeaderName(), lineNumber), e);
}
}
Modified: trunk/sammoa-application/src/main/resources/i18n/sammoa-application_en_GB.properties
===================================================================
--- trunk/sammoa-application/src/main/resources/i18n/sammoa-application_en_GB.properties 2012-08-19 12:06:02 UTC (rev 436)
+++ trunk/sammoa-application/src/main/resources/i18n/sammoa-application_en_GB.properties 2012-08-19 14:44:55 UTC (rev 437)
@@ -1,27 +1,21 @@
-csv.import.error.unableToReadField=
sammoa.config.admin.email=Administrator's email
sammoa.config.application.site.url=Website URL of the application
sammoa.config.application.version=Version of the application
-sammoa.config.audio.directory=Directory where audio files are stored.
-sammoa.config.background.shape.file=
+sammoa.config.background.shape.file=Location of the Background shape file
sammoa.config.campaign.directory=Directory where are stored campaign data (maps, flight audio files,...)
-sammoa.config.campaign.id=
-sammoa.config.csv.separator=
+sammoa.config.campaign.id=Id of the default campaign to use
+sammoa.config.csv.separator=Csv separator caracter to use
sammoa.config.data.directory=Main directory where all data are stored. You can use ${data.directory} in other property values (ex\: ${data.directory}/audio).
-sammoa.config.effort.number=
-sammoa.config.flight.number=
-sammoa.config.fly.mode=
+sammoa.config.flight.number=Number of the default flight to use
+sammoa.config.fly.mode=Default fly mode
sammoa.config.gps.check.period=Time in seconds between each GPS capture
sammoa.config.gps.device=GPS device port
sammoa.config.gps.handler=GpsHandler class \: fr.ulr.sammoa.application.device.gps.GpsHandlerGpylon or fr.ulr.sammoa.application.device.gps.FakeGpsHandler
sammoa.config.gps.speed=GPS speed for capture
sammoa.config.gps.timeout=Time in seconds before GPS going to timeout (always the same data is received for this laps of time) and return error
sammoa.config.log.file=Path for application log file
-sammoa.config.observation.number=
-sammoa.config.strate.shape.file=
-sammoa.config.system.id=
+sammoa.config.system.id=Id of the default system to use
sammoa.config.tmp.directory=Temporary directory used for different task (import, export,...)
-sammoa.config.transect.shape.file=
sammoa.config.ui.add=Add
sammoa.config.ui.begin=Begin
sammoa.config.ui.centerObservation=Observation from the center place
@@ -35,3 +29,4 @@
sammoa.config.ui.start=Start
sammoa.config.ui.stop=Stop
sammoa.copyright.text=Copyright CRMM 2012
+sammoa.dbf.import.error.unableToReadField=impossible to read value for column %s at line %s
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/campaign/CampaignUIHandler.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/campaign/CampaignUIHandler.java 2012-08-19 12:06:02 UTC (rev 436)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/campaign/CampaignUIHandler.java 2012-08-19 14:44:55 UTC (rev 437)
@@ -23,6 +23,7 @@
*/
package fr.ulr.sammoa.ui.swing.campaign;
+import fr.ulr.sammoa.application.FlightService;
import fr.ulr.sammoa.application.ReferentialService;
import fr.ulr.sammoa.application.io.CampaignStorage;
import fr.ulr.sammoa.application.io.CampaignStorages;
@@ -80,21 +81,24 @@
protected final ImportCsvService importCsvService;
+ protected final ReferentialService referentialService;
+
+ protected final FlightService flightService;
+
public CampaignUIHandler(SammoaUIContext context,
CampaignUI ui) {
this.context = context;
this.ui = ui;
this.uiImporter = new UIImporter(this.ui);
- importMapService = context.newService(ImportMapService.class);
- importCsvService = context.newService(ImportCsvService.class);
- }
+ this.importMapService = context.newService(ImportMapService.class);
+ this.importCsvService = context.newService(ImportCsvService.class);
+ this.flightService = context.newService(FlightService.class);
+ this.referentialService = context.newService(ReferentialService.class);
- public SammoaUIContext getContext() {
- return context;
}
- public CampaignUIModel getModel() {
+ protected CampaignUIModel getModel() {
return ui.getModel();
}
@@ -106,27 +110,22 @@
return context.getDecoratorProvider();
}
- protected ReferentialService getReferentialService() {
- return context.getAppContext().getReferentialService();
- }
-
-
@Override
public void beforeInitUI() {
CampaignUIModel model = new CampaignUIModel();
- List<Region> regions = getReferentialService().getRegions();
+ List<Region> regions = referentialService.getRegions();
model.setRegionReferential(regions);
String campaignId = context.getCampaignId();
if (campaignId == null) {
- List<Campaign> campaigns = getReferentialService().getCampaigns();
+ List<Campaign> campaigns = referentialService.getCampaigns();
model.prepareCreate(campaigns);
} else {
- Campaign campaign = getReferentialService().getCampaign(campaignId);
+ Campaign campaign = referentialService.getCampaign(campaignId);
model.prepareUpdate(campaign);
}
@@ -186,11 +185,11 @@
SammoaUtil.updateBusyState(ui, true);
- String campaignId = getReferentialService().saveCampaign(campaign);
+ String campaignId = referentialService.saveCampaign(campaign);
getModel().setId(campaignId);
CampaignStorage campaignStorage = CampaignStorages.getStorage(
- getContext().getConfig(), campaignId);
+ context.getConfig(), campaignId);
File strateFile = ui.getStrateFileEditor().getSelectedFile();
if (strateFile != null && strateFile.exists()) {
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUI.jaxx
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUI.jaxx 2012-08-19 12:06:02 UTC (rev 436)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUI.jaxx 2012-08-19 14:44:55 UTC (rev 437)
@@ -55,6 +55,7 @@
public FlightUI(SammoaUIContext context) {
FlightUIHandler handler = new FlightUIHandler(context, this);
+ setContextValue(context);
setContextValue(handler);
handler.beforeInitUI();
}
@@ -183,7 +184,7 @@
</JSplitPane>
- <EffortPanel id='effortSplitPane'/>
+ <EffortPanel id='effortSplitPane' constructorParams='this'/>
</JSplitPane>
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/home/HomeUIHandler.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/home/HomeUIHandler.java 2012-08-19 12:06:02 UTC (rev 436)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/home/HomeUIHandler.java 2012-08-19 14:44:55 UTC (rev 437)
@@ -61,32 +61,30 @@
// fire remove previous elements and put selection to null
protected boolean comboIsAdjusting;
- protected SammoaUIContext context;
+ protected final SammoaUIContext context;
- protected HomeUI ui;
+ protected final HomeUI ui;
+ protected final ReferentialService referentialService;
+
+ protected final FlightService flightService;
+
public HomeUIHandler(SammoaUIContext context, HomeUI ui) {
this.context = context;
this.ui = ui;
+ this.flightService = context.newService(FlightService.class);
+ this.referentialService = context.newService(ReferentialService.class);
}
- public HomeUIModel getModel() {
+ protected HomeUIModel getModel() {
return ui.getModel();
}
- protected FlightService getFlightService() {
- return context.getAppContext().getFlightService();
- }
-
- protected ReferentialService getReferentialService() {
- return context.getAppContext().getReferentialService();
- }
-
protected SammoaConfig getConfig() {
return context.getConfig();
}
- protected SammoaDecoratorProvider getDecoratorProvider() {
+ public SammoaDecoratorProvider getDecoratorProvider() {
return context.getDecoratorProvider();
}
@@ -97,7 +95,7 @@
@Override
public void afterInitUI() {
- List<Campaign> campaigns = getReferentialService().getCampaigns();
+ List<Campaign> campaigns = referentialService.getCampaigns();
ui.getCampaignListModel().setElements(campaigns);
if (campaigns.isEmpty()) {
@@ -150,7 +148,7 @@
logger.debug("Get flights from campaign {}", campaign.getCode());
}
- List<Flight> flights = getFlightService().getFlights(campaign);
+ List<Flight> flights = flightService.getFlights(campaign);
Set<String> systemIds =
Sets.newTreeSet(Iterables.transform(flights, Flights.toSystemId()));
@@ -287,7 +285,7 @@
if (flight == null) {
// Create a new Flight for the selected Campaign
- flight = getFlightService().createFlight(campaign);
+ flight = flightService.createFlight(campaign);
}
context.changeScreen(SammoaScreen.FLIGHT, campaign, flight);
}
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUIHandler.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUIHandler.java 2012-08-19 12:06:02 UTC (rev 436)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/input/sammoa/ImportApplicationUIHandler.java 2012-08-19 14:44:55 UTC (rev 437)
@@ -2,7 +2,6 @@
import fr.ulr.sammoa.application.FlightService;
import fr.ulr.sammoa.application.ReferentialService;
-import fr.ulr.sammoa.application.SammoaContext;
import fr.ulr.sammoa.application.io.input.sammoa.ImportApplicationModel;
import fr.ulr.sammoa.application.io.input.sammoa.ImportApplicationService;
import fr.ulr.sammoa.ui.swing.SammoaDecoratorProvider;
@@ -32,7 +31,6 @@
protected final ImportApplicationService importService;
-
protected final ReferentialService referentialService;
protected final FlightService flightService;
@@ -43,11 +41,9 @@
ImportApplicationUI ui) {
this.context = context;
this.ui = ui;
- SammoaContext appContext = context.getAppContext();
-
this.importService = context.newService(ImportApplicationService.class);
- this.flightService = appContext.getFlightService();
- this.referentialService = appContext.getReferentialService();
+ this.flightService = context.newService(FlightService.class);
+ this.referentialService = context.newService(ReferentialService.class);
this.decoratorProvider = context.getDecoratorProvider();
}
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/map/ExportMapUIHandler.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/map/ExportMapUIHandler.java 2012-08-19 12:06:02 UTC (rev 436)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/map/ExportMapUIHandler.java 2012-08-19 14:44:55 UTC (rev 437)
@@ -26,7 +26,6 @@
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import fr.ulr.sammoa.application.ReferentialService;
-import fr.ulr.sammoa.application.SammoaContext;
import fr.ulr.sammoa.application.io.output.map.ExportMapModel;
import fr.ulr.sammoa.application.io.output.map.ExportMapService;
import fr.ulr.sammoa.persistence.Campaign;
@@ -87,20 +86,16 @@
protected final ReferentialService referentialService;
- protected final SammoaDecoratorProvider decoratorProvider;
-
public ExportMapUIHandler(SammoaUIContext context,
ExportMapUI ui) {
this.context = context;
this.ui = ui;
- SammoaContext appContext = context.getAppContext();
- this.referentialService = appContext.getReferentialService();
+ this.referentialService = context.newService(ReferentialService.class);
this.exportService = context.newService(ExportMapService.class);
- this.decoratorProvider = context.getDecoratorProvider();
}
public SammoaDecoratorProvider getDecoratorProvider() {
- return decoratorProvider;
+ return context.getDecoratorProvider();
}
@Override
@@ -207,7 +202,7 @@
// reset strates,...
if (logger.isInfoEnabled()) {
Decorator<Campaign> decorator =
- decoratorProvider.getDecoratorByType(Campaign.class);
+ getDecoratorProvider().getDecoratorByType(Campaign.class);
logger.info("New selected campain: {}",
decorator.toString(newCampaign));
}
@@ -505,7 +500,7 @@
OneClicListSelectionModel.installModel(jList);
// init list
- Decorator<E> decorator = decoratorProvider.getDecoratorByType(beanType);
+ Decorator<E> decorator = getDecoratorProvider().getDecoratorByType(beanType);
Preconditions.checkNotNull(decorator,
"No decorator found for type " + beanType);
if (logger.isDebugEnabled()) {
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUI.css
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUI.css 2012-08-19 12:06:02 UTC (rev 436)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUI.css 2012-08-19 14:44:55 UTC (rev 437)
@@ -22,9 +22,18 @@
* #L%
*/
+JRadioButton {
+ buttonGroup:"callbacks";
+}
+
#model {
callback: {(ExportApplicationCallbackMode) callbacks.getSelectedValue()};
}
+
+#callbacks {
+ selectedValue:{model.getCallback()};
+}
+
#campaignLabel {
text: "sammoa.label.campaign";
}
@@ -76,28 +85,21 @@
#callbackNothing {
text:"sammoa.label.exportApplication.callbackNothing";
- selected:{ExportApplicationCallbackMode.NOTHING == model.getCallback()};
- buttonGroup:"callbacks";
+ selected:true;
value:{ExportApplicationCallbackMode.NOTHING};
}
#callbackRemoveFlightData {
text:"sammoa.label.exportApplication.callbackRemoveFlightData";
- buttonGroup:"callbacks";
- selected:{ExportApplicationCallbackMode.REMOVE_FLIGHTS == model.getCallback()};
value:{ExportApplicationCallbackMode.REMOVE_FLIGHTS};
}
#callbackRemoveCampaignData {
text:"sammoa.label.exportApplication.callbackRemoveCampaignData";
- buttonGroup:"callbacks";
- selected:{ExportApplicationCallbackMode.REMOVE_CAMPAIGN == model.getCallback()};
value:{ExportApplicationCallbackMode.REMOVE_CAMPAIGN};
}
#callbackRemoveAllData {
text:"sammoa.label.exportApplication.callbackRemoveAllData";
- buttonGroup:"callbacks";
- selected:{ExportApplicationCallbackMode.REMOVE_ALL == model.getCallback()};
value:{ExportApplicationCallbackMode.REMOVE_ALL};
}
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUI.jaxx
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUI.jaxx 2012-08-19 12:06:02 UTC (rev 436)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUI.jaxx 2012-08-19 14:44:55 UTC (rev 437)
@@ -58,7 +58,7 @@
<ExportApplicationUIHandler id='handler'
initializer='getContextValue(ExportApplicationUIHandler.class)'/>
- <JAXXButtonGroup id='callbacks' selectedVaue='{model.getCallback()}'/>
+ <JAXXButtonGroup id='callbacks'/>
<Table fill='both' constraints='BorderLayout.CENTER'>
<!-- Campaign filter -->
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIHandler.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIHandler.java 2012-08-19 12:06:02 UTC (rev 436)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIHandler.java 2012-08-19 14:44:55 UTC (rev 437)
@@ -25,7 +25,6 @@
import fr.ulr.sammoa.application.FlightService;
import fr.ulr.sammoa.application.ReferentialService;
-import fr.ulr.sammoa.application.SammoaContext;
import fr.ulr.sammoa.application.io.output.sammoa.ExportApplicationModel;
import fr.ulr.sammoa.application.io.output.sammoa.ExportApplicationService;
import fr.ulr.sammoa.persistence.Campaign;
@@ -73,21 +72,17 @@
protected final FlightService flightService;
- protected final SammoaDecoratorProvider decoratorProvider;
-
public ExportApplicationUIHandler(SammoaUIContext context,
ExportApplicationUI ui) {
this.context = context;
this.ui = ui;
- SammoaContext appContext = context.getAppContext();
- this.flightService = appContext.getFlightService();
- this.referentialService = appContext.getReferentialService();
+ this.flightService = context.newService(FlightService.class);
+ this.referentialService = context.newService(ReferentialService.class);
this.exportService = context.newService(ExportApplicationService.class);
- this.decoratorProvider = context.getDecoratorProvider();
}
public SammoaDecoratorProvider getDecoratorProvider() {
- return decoratorProvider;
+ return context.getDecoratorProvider();
}
@Override
@@ -107,8 +102,6 @@
if (campaignId != null) {
Campaign campaign = referentialService.getCampaign(campaignId);
-
- // selected cam
model.setSelectedCampaign(campaign);
}
@@ -117,8 +110,6 @@
if (flightId != null) {
Flight flight = flightService.getFlight(flightId);
-
- // selected cam
model.setSelectedFlight(flight);
}
@@ -165,7 +156,6 @@
logger.info("Current directory to use: {}", currentDirectory);
}
model.setExportDirectory(currentDirectory);
- model.setCallback(ExportApplicationCallbackMode.NOTHING);
SwingUtil.fillComboBox(ui.getCampaignCombobox(),
model.getCampaigns(),
@@ -330,7 +320,7 @@
// reset flights,...
if (logger.isInfoEnabled()) {
Decorator<Campaign> decorator =
- decoratorProvider.getDecoratorByType(Campaign.class);
+ getDecoratorProvider().getDecoratorByType(Campaign.class);
logger.info("New selected campain: {}",
decorator.toString(newCampaign));
}
@@ -374,7 +364,7 @@
// reset flights,...
if (logger.isInfoEnabled()) {
Decorator<Flight> decorator =
- decoratorProvider.getDecoratorByType(Flight.class);
+ getDecoratorProvider().getDecoratorByType(Flight.class);
logger.info("New selected flight: {}",
decorator.toString(newCampaign));
}
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/observations/EffortPanelHandler.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/observations/EffortPanelHandler.java 2012-08-19 12:06:02 UTC (rev 436)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/observations/EffortPanelHandler.java 2012-08-19 14:44:55 UTC (rev 437)
@@ -118,8 +118,12 @@
private final EffortPanel ui;
+ private final FlightService flightService;
+
public EffortPanelHandler(EffortPanel ui) {
this.ui = ui;
+ SammoaUIContext context = ui.getContextValue(SammoaUIContext.class);
+ flightService = context.newService(FlightService.class);
}
public FlightUIModel getFlightUIModel() {
@@ -510,8 +514,6 @@
logger.debug(String.format("Set observer %s for position %s", newValue, position));
}
-
- FlightService flightService = SammoaUIContext.getUIContext().getAppContext().getFlightService();
flightService.setRouteObserverByPosition(route, newValue, position);
// the method setObserverByPosition could update other positions
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/observations/SpeciesCodeValidator.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/observations/SpeciesCodeValidator.java 2012-08-19 12:06:02 UTC (rev 436)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/observations/SpeciesCodeValidator.java 2012-08-19 14:44:55 UTC (rev 437)
@@ -24,6 +24,7 @@
*/
import com.opensymphony.xwork2.validator.ValidationException;
+import fr.ulr.sammoa.application.ReferentialService;
import fr.ulr.sammoa.application.SammoaContext;
import fr.ulr.sammoa.persistence.Species;
import fr.ulr.sammoa.ui.swing.SammoaUIContext;
@@ -45,7 +46,7 @@
protected Collection<?> getCollection(Object object) throws ValidationException {
if (species == null) {
SammoaContext appContext = SammoaUIContext.getUIContext().getAppContext();
- species = appContext.getReferentialService().getAllValidSpecies();
+ species = appContext.newService(ReferentialService.class).getAllValidSpecies();
}
return species;
}
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/region/RegionUIHandler.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/region/RegionUIHandler.java 2012-08-19 12:06:02 UTC (rev 436)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/region/RegionUIHandler.java 2012-08-19 14:44:55 UTC (rev 437)
@@ -24,10 +24,8 @@
package fr.ulr.sammoa.ui.swing.region;
import fr.ulr.sammoa.application.ReferentialService;
-import fr.ulr.sammoa.application.SammoaContext;
import fr.ulr.sammoa.application.io.input.csv.ImportCsvService;
import fr.ulr.sammoa.persistence.Region;
-import fr.ulr.sammoa.ui.swing.SammoaDecoratorProvider;
import fr.ulr.sammoa.ui.swing.SammoaUIContext;
import fr.ulr.sammoa.ui.swing.SammoaUIHandler;
import fr.ulr.sammoa.ui.swing.io.input.CsvImporter;
@@ -56,33 +54,26 @@
private static final Logger logger =
LoggerFactory.getLogger(RegionUIHandler.class);
-// protected SammoaUIContext context;
+ protected final RegionUI ui;
- protected RegionUI ui;
-
protected final UIImporter uiImporter;
private final ImportCsvService importCsvService;
+
private final ReferentialService referentialService;
public RegionUIHandler(SammoaUIContext context,
RegionUI ui) {
-// this.context = context;
this.ui = ui;
this.uiImporter = new UIImporter(ui);
this.importCsvService = context.newService(ImportCsvService.class);
-
- referentialService = context.getAppContext().getReferentialService();
+ this.referentialService = context.newService(ReferentialService.class);
}
public RegionUIModel getModel() {
return ui.getModel();
}
-// public SammoaDecoratorProvider getDecoratorProvider() {
-// return context.getDecoratorProvider();
-// }
-
@Override
public void beforeInitUI() {
@@ -155,7 +146,6 @@
}
-
protected final CsvImporter speciesImporter = new CsvImporter() {
@Override
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/transect/TransectUIHandler.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/transect/TransectUIHandler.java 2012-08-19 12:06:02 UTC (rev 436)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/transect/TransectUIHandler.java 2012-08-19 14:44:55 UTC (rev 437)
@@ -57,21 +57,20 @@
private static final Logger logger =
LoggerFactory.getLogger(TransectUIHandler.class);
- protected SammoaUIContext context;
+ protected final SammoaUIContext context;
- protected TransectUI ui;
+ protected final TransectUI ui;
+ private final ReferentialService referentialService;
+
public TransectUIHandler(SammoaUIContext context,
TransectUI ui) {
this.context = context;
this.ui = ui;
+ this.referentialService = context.newService(ReferentialService.class);
}
- public SammoaContext getAppContext() {
- return context.getAppContext();
- }
-
- public TransectUIModel getModel() {
+ protected TransectUIModel getModel() {
return ui.getModel();
}
@@ -79,10 +78,6 @@
return context.getDecoratorProvider();
}
- protected ReferentialService getReferentialService() {
- return getAppContext().getReferentialService();
- }
-
@Override
public void beforeInitUI() {
@@ -170,7 +165,7 @@
Transect transect = getModel().newBean();
// Save the entity
- String transectId = getReferentialService().createTransect(transect);
+ String transectId = referentialService.createTransect(transect);
getModel().setId(transectId);
// Close on success
Modified: trunk/sammoa-ui-swing/src/main/resources/i18n/sammoa-ui-swing_en_GB.properties
===================================================================
--- trunk/sammoa-ui-swing/src/main/resources/i18n/sammoa-ui-swing_en_GB.properties 2012-08-19 12:06:02 UTC (rev 436)
+++ trunk/sammoa-ui-swing/src/main/resources/i18n/sammoa-ui-swing_en_GB.properties 2012-08-19 14:44:55 UTC (rev 437)
@@ -1,12 +1,9 @@
SAMMOA=Sammoa
-csv.import.error.unableToReadField=Unable to read value of column '%s' at line %s
-sammo.export.inprogress=Export in progress...
sammoa.about.message=About Sammoa
sammoa.action.about=About
sammoa.action.about.tip=About
sammoa.action.add.tip=ADD \: create a new LEG route for the current Transect (the observation conditions have changed)
sammoa.action.begin.tip=BEGIN \: begin effort to create a new LEG route for the next selected Transect
-sammoa.action.break.tip=Break
sammoa.action.cancel=Cancel
sammoa.action.cancelExport=Cancel
sammoa.action.center.tip=CENTER \: create a new Observation for the navigator's observer
@@ -18,7 +15,6 @@
sammoa.action.create=Create
sammoa.action.edit=Edit
sammoa.action.end.tip=END \: end effort and create a new TRANSIT route
-sammoa.action.export=Export
sammoa.action.exportApplication=Export
sammoa.action.exportEffortsMap=Export Efforts
sammoa.action.exportGeoPointsMap=Export GPS Points
@@ -26,19 +22,14 @@
sammoa.action.exportObservationsMap=Export Observations
sammoa.action.home=Home
sammoa.action.home.tip=Home
-sammoa.action.import=Import
sammoa.action.importApplication=Import
sammoa.action.left.tip=LEFT \: create a new Observation for the observer on the left side
-sammoa.action.locale.fr=fr
-sammoa.action.locale.fr.tip=French
-sammoa.action.locale.uk=en
-sammoa.action.locale.uk.tip=English
sammoa.action.new=New
sammoa.action.next.tip=NEXT \: end previous effort and create a new LEG route for the next selected Transect
sammoa.action.nextTransect.tip=NEXT TRANSECT \: choose this transect to be the next one
sammoa.action.onBoard=On Board
sammoa.action.quitExportMaps=Quit
-sammoa.action.quitImportApplication=
+sammoa.action.quitImportApplication=Quit
sammoa.action.reload.actions=Reload actions
sammoa.action.reload.gps=Reload GPS
sammoa.action.reload.ui=Reload sammoa ui
@@ -58,27 +49,22 @@
sammoa.config.category.other.description=Other
sammoa.config.category.shortcuts=Shortcuts
sammoa.config.category.shortcuts.description=List of all the shortcuts
-sammoa.confirmDialog.campaignNotLoaded.message=
-sammoa.confirmDialog.campaignNotLoaded.title=
sammoa.confirmDialog.flightInProgress.message.exit=A flight is in progress, are you sure you want to quit ?
-sammoa.confirmDialog.flightInProgress.message.showHome=A flight is in progress, are you sure you want to go back to the home screen ?
+sammoa.confirmDialog.flightInProgress.message.showHome=A flight is in progress, are you sure you want to go back to the home screen ?
sammoa.confirmDialog.flightInProgress.title=Flight in progress
-sammoa.copyright.text=Version %1$s UMS 3462, Codelutin @ 2012
sammoa.datePattern=dd/MM/yyyy
sammoa.dateTimePattern=dd/MM/yyyy HH\:mm\:ss
-sammoa.dialog.title.importSammoaFile=
+sammoa.dialog.title.importSammoaFile=Choose sammoa file to import
sammoa.dialog.title.observerFile=Choose a csv file for observers
sammoa.dialog.title.region=Region
sammoa.dialog.title.speciesFile=Choose a csv file for species
sammoa.dialog.title.strateFile=Choose a shape file for strates
sammoa.dialog.title.transect=New Transect
sammoa.dialog.title.transectFile=Choose a shape file for transects
-sammoa.error.export.sammoa=
sammoa.flight.decorator.flight=Flight %1$d
sammoa.flight.decorator.newFlight=New flight
sammoa.flight.decorator.notEnded=not ended
sammoa.flight.decorator.notStarted=not started
-sammoa.flightDialog.transecLbl=Transects / tracks\:
sammoa.flightPanel.table.column.action=Next
sammoa.flightPanel.table.column.crossingNumber=Crossing
sammoa.flightPanel.table.column.deleted=Del
@@ -107,11 +93,8 @@
sammoa.label.exportApplication.callbacks=Call back after export\:
sammoa.label.exportApplicationDirectory=Export directory\:
sammoa.label.exportApplicationFilename=Export filename\:
-sammoa.label.exportEffortsFilename=Export filename (Efforts)
-sammoa.label.exportGeoPointsFilename=Export filename (GeoPoints)
sammoa.label.exportMapDirectory=Export directory
sammoa.label.exportMapFilename=Export filename
-sammoa.label.exportObservationsFilename=Export filename (Observations)
sammoa.label.flight=Flight\:
sammoa.label.flight.beginDate=Start
sammoa.label.flight.comment=Comment\:
@@ -119,7 +102,7 @@
sammoa.label.flight.immatriculation=Plane imma.\:
sammoa.label.flight.period=Time\:
sammoa.label.flight.platformType=Type\:
-sammoa.label.importApplicationFile=
+sammoa.label.importApplicationFile=Import filename\:
sammoa.label.observers=Observers\:
sammoa.label.region.code=Code\:
sammoa.label.region.name=Name\:
@@ -238,11 +221,9 @@
sammoa.title.exportshape=Export Maps
sammoa.title.flight=System %1$s - Campaign %2$s - Region %3$s - Flight n°%4$d
sammoa.title.home=Home
-sammoa.title.importApplication=
-sammoa.title.validation=
+sammoa.title.importApplication=Application import
sammoa.validator.campaign.beginDate.required=The begin date must be defined
sammoa.validator.campaign.code.required=The campaign code must be defined
-sammoa.validator.campaign.code.uniqueKey=The campaign code already exists
sammoa.validator.campaign.endDate.anterior=The end date can't be anterior to the begin date
sammoa.validator.campaign.endDate.required=The end date must be defined
sammoa.validator.campaign.region.required=The region must be set
1
0
r436 - in trunk: sammoa-application/src/main/java/fr/ulr/sammoa/application sammoa-application/src/main/java/fr/ulr/sammoa/application/io sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa sammoa-ui-swing/src/main/resources/i18n
by tchemit@users.forge.codelutin.com 19 Aug '12
by tchemit@users.forge.codelutin.com 19 Aug '12
19 Aug '12
Author: tchemit
Date: 2012-08-19 14:06:02 +0200 (Sun, 19 Aug 2012)
New Revision: 436
Url: http://forge.codelutin.com/repositories/revision/sammoa/436
Log:
refs #1201: Export format application (add callback methods for export :delete flight, delete campaign, delete all + move callback mode to ui)
Added:
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationCallbackMode.java
Removed:
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationCallbackMode.java
Modified:
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightService.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/ReferentialService.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorages.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/FlightStorages.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationModel.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationService.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUI.css
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUI.jaxx
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIHandler.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIModel.java
trunk/sammoa-ui-swing/src/main/resources/i18n/sammoa-ui-swing_en_GB.properties
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightService.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightService.java 2012-08-19 12:03:30 UTC (rev 435)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightService.java 2012-08-19 12:06:02 UTC (rev 436)
@@ -31,6 +31,7 @@
import com.google.common.collect.Lists;
import fr.ulr.sammoa.application.io.CampaignStorage;
import fr.ulr.sammoa.application.io.CampaignStorages;
+import fr.ulr.sammoa.application.io.FlightStorage;
import fr.ulr.sammoa.application.io.FlightStorages;
import fr.ulr.sammoa.persistence.AutoSaveListener;
import fr.ulr.sammoa.persistence.Campaign;
@@ -96,11 +97,23 @@
Preconditions.checkNotNull(campaign);
- long start = TimeLog.getTime();
-
TopiaContext transaction = beginTransaction();
try {
+ List<Flight> result = getFlights(transaction, campaign);
+ return result;
+ } finally {
+ endTransaction(transaction);
+ }
+ }
+
+ public List<Flight> getFlights(TopiaContext transaction, Campaign campaign) {
+
+ Preconditions.checkNotNull(campaign);
+
+ long start = TimeLog.getTime();
+ try {
+
FlightDAO dao = SammoaDAOHelper.getFlightDAO(transaction);
List<Flight> result = dao.findAllByCampaign(campaign);
@@ -112,8 +125,6 @@
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
- } finally {
- endTransaction(transaction);
}
}
@@ -230,8 +241,6 @@
*/
public Flight createFlight(Campaign campaign) {
- Flight result;
-
TopiaContext transaction = beginTransaction();
try {
FlightDAO dao = SammoaDAOHelper.getFlightDAO(transaction);
@@ -241,7 +250,9 @@
int startNumber = config.getFlightNumber();
int flightNumber = dao.findLastFlightNumber(startNumber);
- result = dao.createByNaturalId(systemId, flightNumber, campaign);
+ Flight result = dao.createByNaturalId(systemId,
+ flightNumber,
+ campaign);
result.setPlatformType(PlatformType.SIMPLE);
if (logger.isInfoEnabled()) {
@@ -253,25 +264,84 @@
transaction.commitTransaction();
+ // create flight storage
+ CampaignStorage campaignStorage = CampaignStorages.getStorage(
+ config, campaign.getTopiaId());
+
+ try {
+ FlightStorages.createStorage(campaignStorage, result.getTopiaId());
+ } catch (IOException e) {
+ throw new SammoaTechnicalException(
+ "Could not create flight storage", e);
+ }
+
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
-
} finally {
endTransaction(transaction);
}
+ }
- // create flight storage
- CampaignStorage campaignStorage = CampaignStorages.getStorage(
- config, campaign.getTopiaId());
+ /**
+ * Remove the given flight from db and storage.
+ *
+ * @param flightId the flight id to remove
+ * @since 0.6
+ */
+ public void deleteFlight(String flightId) {
+ TopiaContext tx = beginTransaction();
try {
- FlightStorages.createStorage(campaignStorage, result.getTopiaId());
- } catch (IOException e) {
- throw new SammoaTechnicalException(
- "Could not create flight storage", e);
+ FlightDAO dao = SammoaDAOHelper.getFlightDAO(tx);
+
+ Flight flight = dao.findByTopiaId(flightId);
+
+ Preconditions.checkNotNull(flight);
+
+ // delete geoPoints
+ List<GeoPoint> geoPoints = getFlightGeoPoints(tx, flight);
+ GeoPointDAO geoPointDAO = SammoaDAOHelper.getGeoPointDAO(tx);
+ for (GeoPoint geoPoint : geoPoints) {
+ geoPointDAO.delete(geoPoint);
+ }
+
+ // delete routes
+ List<Route> routes = getRoutes(tx, flight);
+ RouteDAO routeDAO = SammoaDAOHelper.getRouteDAO(tx);
+ for (Route route : routes) {
+ routeDAO.delete(route);
+ }
+
+ // delete observations
+ List<Observation> observations = getObservations(tx, flight);
+ ObservationDAO observationDAO = SammoaDAOHelper.getObservationDAO(tx);
+ for (Observation observation : observations) {
+ observationDAO.delete(observation);
+ }
+
+ // delete flight
+ dao.delete(flight);
+
+ // delete flight storage
+ CampaignStorage campaignStorage = CampaignStorages.getStorage(
+ config, flight.getCampaign().getTopiaId());
+
+ FlightStorage flightStorage =
+ campaignStorage.getFlightStorage(flightId);
+
+ try {
+ FlightStorages.deleteStorage(flightStorage);
+ } catch (IOException e) {
+ throw new SammoaTechnicalException(
+ "Could not delete flight storage", e);
+ }
+
+ } catch (TopiaException e) {
+ throw new SammoaTechnicalException(e);
+ } finally {
+ endTransaction(tx);
}
-
- return result;
}
/**
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-19 12:03:30 UTC (rev 435)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/ReferentialService.java 2012-08-19 12:06:02 UTC (rev 436)
@@ -24,10 +24,13 @@
package fr.ulr.sammoa.application;
import com.google.common.base.Preconditions;
+import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
+import fr.ulr.sammoa.application.io.CampaignStorage;
import fr.ulr.sammoa.application.io.CampaignStorages;
import fr.ulr.sammoa.persistence.Campaign;
import fr.ulr.sammoa.persistence.CampaignDAO;
+import fr.ulr.sammoa.persistence.Flight;
import fr.ulr.sammoa.persistence.Observer;
import fr.ulr.sammoa.persistence.ObserverDAO;
import fr.ulr.sammoa.persistence.Observers;
@@ -43,6 +46,7 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.TopiaRuntimeException;
+import org.nuiton.topia.persistence.TopiaId;
import java.io.IOException;
import java.util.Collection;
@@ -85,7 +89,6 @@
Preconditions.checkNotNull(region);
Preconditions.checkNotNull(region.getCode());
-
TopiaContext transaction = beginTransaction();
try {
@@ -146,15 +149,16 @@
Preconditions.checkNotNull(campaign.getCode());
Preconditions.checkNotNull(campaign.getRegion());
- boolean createCampaign = campaign.getTopiaId() == null;
- String result;
-
TopiaContext transaction = beginTransaction();
try {
CampaignDAO dao = SammoaDAOHelper.getCampaignDAO(transaction);
+ String result;
+
+ boolean createCampaign = campaign.getTopiaId() == null;
+
if (createCampaign) {
Campaign existCampaign = dao.findByNaturalId(campaign.getCode(), campaign.getRegion());
@@ -181,27 +185,27 @@
transaction.commitTransaction();
+ if (createCampaign) {
+
+ // creates the campaign storage
+ try {
+ CampaignStorages.createStorage(config, result);
+ } catch (IOException e) {
+ throw new SammoaTechnicalException(
+ "Could not create campaign storage", e);
+ }
+ }
+ return result;
+
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
} finally {
endTransaction(transaction);
}
-
- if (createCampaign) {
-
- // creates the campaign storage
- try {
- CampaignStorages.createStorage(config, result);
- } catch (IOException e) {
- throw new SammoaTechnicalException(
- "Could not create campaign storage", e);
- }
- }
-
- return result;
}
public Campaign getCampaign(String topiaId) {
+ Preconditions.checkNotNull(topiaId);
TopiaContext transaction = beginTransaction();
try {
@@ -216,47 +220,65 @@
}
public List<Transect> getAllTransects(Campaign campaign) {
+ Preconditions.checkNotNull(campaign);
TopiaContext transaction = beginTransaction();
try {
- TransectDAO dao = SammoaDAOHelper.getTransectDAO(transaction);
+ List<Transect> result = getAllTransects(transaction, campaign);
+ return result;
+ } finally {
+ endTransaction(transaction);
+ }
+ }
+ public List<Transect> getAllTransects(TopiaContext tx, Campaign campaign) {
+ Preconditions.checkNotNull(tx);
+ Preconditions.checkNotNull(campaign);
+
+ try {
+ TransectDAO dao = SammoaDAOHelper.getTransectDAO(tx);
List<Transect> result =
dao.findAllByCampaignOrderedByName(campaign);
return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
- } finally {
- endTransaction(transaction);
}
}
public List<Strate> getAllStrates(Campaign campaign) {
+ Preconditions.checkNotNull(campaign);
+
TopiaContext transaction = beginTransaction();
try {
+ List<Strate> result = getAllStrates(transaction, campaign);
+ return result;
- StrateDAO dao = SammoaDAOHelper.getStrateDAO(transaction);
+ } finally {
+ endTransaction(transaction);
+ }
+ }
- List<Strate> result =
- dao.findAllByCampaignOrderedByCode(campaign);
+ public List<Strate> getAllStrates(TopiaContext tx, Campaign campaign) {
+ Preconditions.checkNotNull(tx);
+ Preconditions.checkNotNull(campaign);
+
+ try {
+ StrateDAO dao = SammoaDAOHelper.getStrateDAO(tx);
+ List<Strate> result = dao.findAllByCampaignOrderedByCode(campaign);
return result;
-
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
- } finally {
- endTransaction(transaction);
}
}
public List<Species> getAllSpecies(Campaign campaign) {
+ Preconditions.checkNotNull(campaign);
+
TopiaContext transaction = beginTransaction();
try {
-
SpeciesDAO dao = SammoaDAOHelper.getSpeciesDAO(transaction);
-
- List<Species> result =
- dao.findAllByRegion(campaign.getRegion());
+ List<Species> result = dao.findAllByRegion(campaign.getRegion());
return result;
} catch (TopiaException e) {
@@ -267,14 +289,13 @@
}
public Collection<Species> getAllValidSpecies() {
+
TopiaContext transaction = beginTransaction();
try {
SpeciesDAO dao = SammoaDAOHelper.getSpeciesDAO(transaction);
-
Collection<Species> result = dao.findAllByLocalCreation(false);
return result;
-
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
} finally {
@@ -288,7 +309,6 @@
Preconditions.checkNotNull(transect.getName());
Preconditions.checkNotNull(transect.getStrate());
-
TopiaContext transaction = beginTransaction();
try {
@@ -314,12 +334,12 @@
}
public Transect getTransect(String transectId) {
+ Preconditions.checkNotNull(transectId);
TopiaContext transaction = beginTransaction();
try {
TransectDAO dao = SammoaDAOHelper.getTransectDAO(transaction);
-
Transect result = dao.findByTopiaId(transectId);
return result;
} catch (TopiaException e) {
@@ -331,15 +351,13 @@
}
public List<Observer> getAllObservers(Campaign campaign) {
+ Preconditions.checkNotNull(campaign);
TopiaContext transaction = beginTransaction();
try {
- ObserverDAO observerDAO =
- SammoaDAOHelper.getObserverDAO(transaction);
-
- List<Observer> result = observerDAO.findAllByCampaign(campaign);
-
+ ObserverDAO dao = SammoaDAOHelper.getObserverDAO(transaction);
+ List<Observer> result = dao.findAllByCampaign(campaign);
Collections.sort(result, Observers.onInitials());
// realy creating observers
@@ -352,4 +370,100 @@
endTransaction(transaction);
}
}
+
+ public void deleteCampaign(String campaignId) {
+ Preconditions.checkNotNull(campaignId);
+
+ TopiaContext tx = beginTransaction();
+ try {
+ CampaignDAO dao = SammoaDAOHelper.getCampaignDAO(tx);
+
+ Campaign campaign = dao.findByTopiaId(campaignId);
+
+ Preconditions.checkNotNull(campaign);
+
+ FlightService flightService = newService(FlightService.class);
+
+ // delete all campaign flights
+ List<Flight> flights = flightService.getFlights(tx, campaign);
+
+ for (Flight flight : flights) {
+ flightService.deleteFlight(flight.getTopiaId());
+ }
+
+ // delete observers
+ List<Observer> observers = getAllObservers(campaign);
+ ObserverDAO observerDAO = SammoaDAOHelper.getObserverDAO(tx);
+ for (Observer observer : observers) {
+ observerDAO.delete(observer);
+ }
+
+ // delete transects
+ List<Transect> transects = getAllTransects(tx, campaign);
+
+ TransectDAO transectDAO = SammoaDAOHelper.getTransectDAO(tx);
+ for (Transect transect : transects) {
+ transectDAO.delete(transect);
+ }
+
+ // delete strates
+ List<Strate> strates = getAllStrates(tx, campaign);
+ StrateDAO strateDAO = SammoaDAOHelper.getStrateDAO(tx);
+ for (Strate strate : strates) {
+ strateDAO.delete(strate);
+ }
+
+ // delete campaign
+ dao.delete(campaign);
+
+ // delete campaign storage
+ CampaignStorage campaignStorage = CampaignStorages.getStorage(
+ config, campaignId);
+
+ try {
+ CampaignStorages.deleteStorage(campaignStorage);
+ } catch (IOException e) {
+ throw new SammoaTechnicalException(
+ "Could not delete campaign storage", e);
+ }
+
+ } catch (TopiaException e) {
+ throw new SammoaTechnicalException(e);
+ } finally {
+ endTransaction(tx);
+ }
+ }
+
+ public void deleteAllData() {
+ Iterable<String> campaignIds;
+
+ TopiaContext tx = beginTransaction();
+ try {
+ CampaignDAO dao = SammoaDAOHelper.getCampaignDAO(tx);
+
+ List<Campaign> campaigns = dao.findAll();
+
+ campaignIds = Iterables.transform(campaigns, TopiaId.GET_TOPIA_ID);
+
+ } catch (TopiaException e) {
+ throw new SammoaTechnicalException(e);
+ } finally {
+ endTransaction(tx);
+ }
+
+ persistence.destroyDb();
+
+ for (String campaignId : campaignIds) {
+ // delete campaign storage
+ CampaignStorage campaignStorage = CampaignStorages.getStorage(
+ config, campaignId);
+
+ try {
+ CampaignStorages.deleteStorage(campaignStorage);
+ } catch (IOException e) {
+ throw new SammoaTechnicalException(
+ "Could not delete campaign storage", e);
+ }
+ }
+ }
}
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorages.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorages.java 2012-08-19 12:03:30 UTC (rev 435)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorages.java 2012-08-19 12:06:02 UTC (rev 436)
@@ -90,4 +90,7 @@
FileUtils.forceMkdir(storage.getMapDirectory());
}
+ public static void deleteStorage(CampaignStorage storage) throws IOException {
+ FileUtils.deleteDirectory(storage.getDirectory());
+ }
}
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/FlightStorages.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/FlightStorages.java 2012-08-19 12:03:30 UTC (rev 435)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/FlightStorages.java 2012-08-19 12:06:02 UTC (rev 436)
@@ -55,4 +55,7 @@
FileUtils.forceMkdir(storage.getAudioDirectory());
}
+ public static void deleteStorage(FlightStorage storage) throws IOException {
+ FileUtils.deleteDirectory(storage.getDirectory());
+ }
}
Deleted: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationCallbackMode.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationCallbackMode.java 2012-08-19 12:03:30 UTC (rev 435)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationCallbackMode.java 2012-08-19 12:06:02 UTC (rev 436)
@@ -1,51 +0,0 @@
-package fr.ulr.sammoa.application.io.output.sammoa;
-/*
- * #%L
- * SAMMOA :: Application
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2012 UMS 3462, Code Lutin
- * %%
- * 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%
- */
-
-/**
- * What to do after a application export.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.6
- */
-public enum ExportApplicationCallbackMode {
- /**
- * Do nothing.
- * <p/>
- * Says after this every thing stay in place.
- */
- NOTHING,
- /**
- * Remove flight data.
- * <p/>
- * Says after this referential are still there (Region, Campaign, Strate, Observer, Species).
- */
- REMOVE_FLIGHTS,
- /**
- * Remove campaign data.
- * <p/>
- * Says after this, there is no more stuff in db.
- */
- REMOVE_ALL
-}
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationModel.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationModel.java 2012-08-19 12:03:30 UTC (rev 435)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationModel.java 2012-08-19 12:06:02 UTC (rev 436)
@@ -35,13 +35,11 @@
public static ExportApplicationModel newModel(File exportDirectory,
String campaignId,
- Iterable<String> flightIds,
- ExportApplicationCallbackMode callback) {
+ Iterable<String> flightIds) {
ExportApplicationModel result = new ExportApplicationModel();
result.exportFile = exportDirectory;
result.campaignId = campaignId;
result.flightIds = flightIds;
- result.callback = callback;
return result;
}
@@ -51,8 +49,6 @@
protected File exportFile;
- protected ExportApplicationCallbackMode callback;
-
public String getCampaignId() {
return campaignId;
}
@@ -61,10 +57,6 @@
return flightIds;
}
- public ExportApplicationCallbackMode getCallback() {
- return callback;
- }
-
public File getExportFile() {
return exportFile;
}
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationService.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationService.java 2012-08-19 12:03:30 UTC (rev 435)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationService.java 2012-08-19 12:06:02 UTC (rev 436)
@@ -24,7 +24,6 @@
*/
import com.google.common.base.Preconditions;
-import com.google.common.collect.Multimap;
import fr.ulr.sammoa.application.FlightService;
import fr.ulr.sammoa.application.SammoaServiceSupport;
import fr.ulr.sammoa.application.SammoaTechnicalException;
@@ -84,7 +83,6 @@
Preconditions.checkNotNull(model);
Preconditions.checkNotNull(model.getExportFile());
Preconditions.checkNotNull(model.getCampaignId());
- Preconditions.checkNotNull(model.getCallback());
Preconditions.checkNotNull(model.getFlightIds());
if (logger.isInfoEnabled()) {
@@ -117,7 +115,6 @@
File csvDirectory = targetStorage.getCsvDirectory();
TopiaContext tx = beginTransaction();
-
try {
exportReferential(tx, csvDirectory);
exportData(tx, csvDirectory, flightIds);
@@ -129,23 +126,8 @@
targetStorage.getDirectory(),
false);
- startTime = TIME_LOG.log(startTime, "exportApplication",
- "after export db to csv files ");
-
- switch (model.getCallback()) {
-
- case NOTHING:
- // nothing to do
- break;
- case REMOVE_FLIGHTS:
- removeFlightData(model);
- break;
- case REMOVE_ALL:
- removeAllData();
- break;
- }
-
- TIME_LOG.log(startTime, "exportApplication", "after Callback execution");
+ TIME_LOG.log(startTime, "exportApplication",
+ "after export db to csv files ");
}
protected void exportReferential(TopiaContext tx, File csvDirectory) {
@@ -183,28 +165,24 @@
entryFile);
}
}
-
}
protected void exportData(TopiaContext tx,
File csvDirectory,
Iterable<String> flightIds) throws IOException {
-
DbMeta<SammoaEntityEnum> dbMetas = persistence.getDbMetas();
- MetaFilenameAware<SammoaEntityEnum>[] dataEntries = SammoaDbMetas.getDataEntries(dbMetas);
- Multimap<SammoaEntityEnum, MetaFilenameAware<SammoaEntityEnum>> associationsEntries = SammoaDbMetas.getDataAssociationsEntries(dbMetas);
-
Map<SammoaEntityEnum, TopiaCsvExports.EntityExportContext<SammoaEntityEnum>> exportContexts =
TopiaCsvExports.createReplicateEntityVisitorContexts(
defaultExportModelFactory,
- dataEntries,
- associationsEntries,
+ SammoaDbMetas.getDataEntries(dbMetas),
+ SammoaDbMetas.getDataAssociationsEntries(dbMetas),
csvDirectory);
ExportEntityVisitor<SammoaEntityEnum> exportVisitor =
- new ExportEntityVisitor<SammoaEntityEnum>(dbMetas.getEntityEnumProvider(), exportContexts);
+ ExportEntityVisitor.newVisitor(dbMetas.getEntityEnumProvider(),
+ exportContexts);
FlightService flightService = newService(FlightService.class);
@@ -212,48 +190,25 @@
for (String flightId : flightIds) {
Flight flight = flightService.getFlight(tx, flightId);
-
exportVisitor.export(flight);
List<GeoPoint> geoPoints =
flightService.getFlightGeoPoints(tx, flight);
+ exportVisitor.export(geoPoints);
- for (GeoPoint geoPoint : geoPoints) {
- exportVisitor.export(geoPoint);
- }
-
List<Route> routes = flightService.getRoutes(tx, flight);
+ exportVisitor.export(routes);
- for (Route route : routes) {
- exportVisitor.export(route);
- }
-
List<Observation> observations =
flightService.getObservations(tx, flight);
+ exportVisitor.export(observations);
- for (Observation observation : observations) {
- exportVisitor.export(observation);
- }
-
}
} finally {
exportVisitor.close();
}
}
- protected void removeFlightData(ExportApplicationModel model) {
- if (logger.isInfoEnabled()) {
- logger.info("Will remove flight data for campaign {}",
- model.getCampaignId());
- }
- }
-
- protected void removeAllData() {
- if (logger.isInfoEnabled()) {
- logger.info("Will remove all data from current db (create a new db...)");
- }
- }
-
private ExportModelFactory<SammoaEntityEnum> defaultExportModelFactory = new ExportModelFactory<SammoaEntityEnum>() {
@Override
public <E extends TopiaEntity> ExportModel<E> buildForExport(TableMeta<SammoaEntityEnum> meta) {
@@ -312,7 +267,6 @@
protected final TopiaContext tx;
public SammoaEntityEnumPrepareDataForExport(DbMeta<SammoaEntityEnum> dbMetas, TopiaContext tx) {
-
this.dbMetas = dbMetas;
this.tx = tx;
}
@@ -333,7 +287,6 @@
TableMeta<SammoaEntityEnum> tableMeta,
String extraWhereQuery) {
- List<E> result;
SammoaEntityEnum entityEnum = tableMeta.getSource();
try {
TopiaDAO<E> dao = SammoaDAOHelper.<E, TopiaDAO<E>>getDAO(
@@ -347,7 +300,7 @@
hql += " WHERE " + extraWhereQuery;
}
- result = dao.getContext().findAll(hql);
+ List<E> result = dao.findAllByQuery(hql);
return result;
} catch (TopiaException eee) {
throw new SammoaTechnicalException("Could not obtain data", eee);
Copied: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationCallbackMode.java (from rev 425, trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationCallbackMode.java)
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationCallbackMode.java (rev 0)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationCallbackMode.java 2012-08-19 12:06:02 UTC (rev 436)
@@ -0,0 +1,56 @@
+package fr.ulr.sammoa.ui.swing.io.output.sammoa;
+/*
+ * #%L
+ * SAMMOA :: Application
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 UMS 3462, Code Lutin
+ * %%
+ * 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%
+ */
+
+/**
+ * What to do after a application export.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.6
+ */
+public enum ExportApplicationCallbackMode {
+ /**
+ * Do nothing.
+ * <p/>
+ * Says after this every thing stay in place.
+ */
+ NOTHING,
+ /**
+ * Remove flight data.
+ * <p/>
+ * Says after this referential are still there (Region, Campaign, Strate, Observer, Species).
+ */
+ REMOVE_FLIGHTS,
+ /**
+ * Remove campaing data.
+ * <p/>
+ * Says after this referential are still there (Region, Species).
+ */
+ REMOVE_CAMPAIGN, /**
+ * Remove campaign data.
+ * <p/>
+ * Says after this, there is no more stuff in db.
+ */
+ REMOVE_ALL
+}
Property changes on: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationCallbackMode.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUI.css
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUI.css 2012-08-19 12:03:30 UTC (rev 435)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUI.css 2012-08-19 12:06:02 UTC (rev 436)
@@ -22,6 +22,9 @@
* #L%
*/
+#model {
+ callback: {(ExportApplicationCallbackMode) callbacks.getSelectedValue()};
+}
#campaignLabel {
text: "sammoa.label.campaign";
}
@@ -78,16 +81,23 @@
value:{ExportApplicationCallbackMode.NOTHING};
}
-#callbackRemoveData {
- text:"sammoa.label.exportApplication.callbackRemoveData";
+#callbackRemoveFlightData {
+ text:"sammoa.label.exportApplication.callbackRemoveFlightData";
buttonGroup:"callbacks";
selected:{ExportApplicationCallbackMode.REMOVE_FLIGHTS == model.getCallback()};
value:{ExportApplicationCallbackMode.REMOVE_FLIGHTS};
}
-#callbackRemoveAll {
- text:"sammoa.label.exportApplication.callbackRemoveAll";
+#callbackRemoveCampaignData {
+ text:"sammoa.label.exportApplication.callbackRemoveCampaignData";
buttonGroup:"callbacks";
+ selected:{ExportApplicationCallbackMode.REMOVE_CAMPAIGN == model.getCallback()};
+ value:{ExportApplicationCallbackMode.REMOVE_CAMPAIGN};
+}
+
+#callbackRemoveAllData {
+ text:"sammoa.label.exportApplication.callbackRemoveAllData";
+ buttonGroup:"callbacks";
selected:{ExportApplicationCallbackMode.REMOVE_ALL == model.getCallback()};
value:{ExportApplicationCallbackMode.REMOVE_ALL};
}
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUI.jaxx
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUI.jaxx 2012-08-19 12:03:30 UTC (rev 435)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUI.jaxx 2012-08-19 12:06:02 UTC (rev 436)
@@ -28,7 +28,6 @@
fr.ulr.sammoa.persistence.Campaign
fr.ulr.sammoa.persistence.Flight
fr.ulr.sammoa.ui.swing.SammoaUIContext
- fr.ulr.sammoa.application.io.output.sammoa.ExportApplicationCallbackMode
jaxx.runtime.swing.renderer.DecoratorProviderListCellRenderer
@@ -59,6 +58,8 @@
<ExportApplicationUIHandler id='handler'
initializer='getContextValue(ExportApplicationUIHandler.class)'/>
+ <JAXXButtonGroup id='callbacks' selectedVaue='{model.getCallback()}'/>
+
<Table fill='both' constraints='BorderLayout.CENTER'>
<!-- Campaign filter -->
<row>
@@ -111,8 +112,9 @@
<cell weightx='1' fill="horizontal" columns='2'>
<JPanel layout='{new GridLayout(0,1)}'>
<JRadioButton id='callbackNothing'/>
- <JRadioButton id='callbackRemoveData'/>
- <JRadioButton id='callbackRemoveAll'/>
+ <JRadioButton id='callbackRemoveFlightData'/>
+ <JRadioButton id='callbackRemoveCampaignData'/>
+ <JRadioButton id='callbackRemoveAllData'/>
</JPanel>
</cell>
</row>
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIHandler.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIHandler.java 2012-08-19 12:03:30 UTC (rev 435)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIHandler.java 2012-08-19 12:06:02 UTC (rev 436)
@@ -26,7 +26,6 @@
import fr.ulr.sammoa.application.FlightService;
import fr.ulr.sammoa.application.ReferentialService;
import fr.ulr.sammoa.application.SammoaContext;
-import fr.ulr.sammoa.application.io.output.sammoa.ExportApplicationCallbackMode;
import fr.ulr.sammoa.application.io.output.sammoa.ExportApplicationModel;
import fr.ulr.sammoa.application.io.output.sammoa.ExportApplicationService;
import fr.ulr.sammoa.persistence.Campaign;
@@ -201,6 +200,39 @@
frame,
_("sammoa.messageDialog.sammoa.export.success",
dataModel.getExportFile()));
+
+ boolean removeFlightId = false;
+ boolean removeCampaingId = false;
+
+ switch (getModel().getCallback()) {
+
+ case NOTHING:
+ // nothing to do
+ break;
+ case REMOVE_FLIGHTS:
+ removeFlights(dataModel);
+ removeFlightId = true;
+ break;
+ case REMOVE_CAMPAIGN:
+ removeCampaign(dataModel);
+ removeCampaingId = true;
+ break;
+ case REMOVE_ALL:
+ removeAllData();
+ removeCampaingId = true;
+ break;
+
+ }
+
+ if (removeCampaingId) {
+ context.setCampaignId(null);
+ removeFlightId = true;
+ }
+
+ if (removeFlightId) {
+ context.setFlightId(null);
+ }
+ close();
}
} catch (Exception e) {
@@ -210,6 +242,36 @@
}
}
+ protected void removeFlights(ExportApplicationModel model) {
+ if (logger.isInfoEnabled()) {
+ logger.info("Will remove selected flights for campaign {}",
+ model.getCampaignId());
+ }
+
+ FlightService service = context.newService(FlightService.class);
+ for (String flightId : model.getFlightIds()) {
+ service.deleteFlight(flightId);
+ }
+ }
+
+ protected void removeCampaign(ExportApplicationModel model) {
+ if (logger.isInfoEnabled()) {
+ logger.info("Will remove campaign data {}", model.getCampaignId());
+ }
+
+ ReferentialService service = context.newService(ReferentialService.class);
+ service.deleteCampaign(model.getCampaignId());
+ }
+
+ protected void removeAllData() {
+ if (logger.isInfoEnabled()) {
+ logger.info("Will remove all data from current db (create a new db...)");
+ }
+
+ ReferentialService service = context.newService(ReferentialService.class);
+ service.deleteAllData();
+ }
+
protected void validateModel() {
boolean valid = true;
@@ -221,7 +283,8 @@
valid = false;
} else {
- if (!model.getExportDirectory().exists()) {
+ if (model.getExportDirectory() == null ||
+ !model.getExportDirectory().exists()) {
// export directory does not exists
valid = false;
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIModel.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIModel.java 2012-08-19 12:03:30 UTC (rev 435)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIModel.java 2012-08-19 12:06:02 UTC (rev 436)
@@ -26,7 +26,6 @@
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
-import fr.ulr.sammoa.application.io.output.sammoa.ExportApplicationCallbackMode;
import fr.ulr.sammoa.application.io.output.sammoa.ExportApplicationModel;
import fr.ulr.sammoa.persistence.Campaign;
import fr.ulr.sammoa.persistence.Flight;
@@ -183,8 +182,7 @@
ExportApplicationModel result = ExportApplicationModel.newModel(
new File(getExportDirectory(), getExportFilename()),
getSelectedCampaign().getTopiaId(),
- Iterables.transform(flightsToExport, TopiaId.GET_TOPIA_ID),
- getCallback()
+ Iterables.transform(flightsToExport, TopiaId.GET_TOPIA_ID)
);
return result;
}
Modified: trunk/sammoa-ui-swing/src/main/resources/i18n/sammoa-ui-swing_en_GB.properties
===================================================================
--- trunk/sammoa-ui-swing/src/main/resources/i18n/sammoa-ui-swing_en_GB.properties 2012-08-19 12:03:30 UTC (rev 435)
+++ trunk/sammoa-ui-swing/src/main/resources/i18n/sammoa-ui-swing_en_GB.properties 2012-08-19 12:06:02 UTC (rev 436)
@@ -101,8 +101,9 @@
sammoa.label.campaign.strate=Strates\:
sammoa.label.campaign.transect=Transects\:
sammoa.label.exportApplication.callbackNothing=Do nothing
-sammoa.label.exportApplication.callbackRemoveAll=Remove all data
-sammoa.label.exportApplication.callbackRemoveData=Remove flights data
+sammoa.label.exportApplication.callbackRemoveAllData=Remove all data
+sammoa.label.exportApplication.callbackRemoveCampaignData=Remove selected campaign data
+sammoa.label.exportApplication.callbackRemoveFlightData=Remove selected flights data
sammoa.label.exportApplication.callbacks=Call back after export\:
sammoa.label.exportApplicationDirectory=Export directory\:
sammoa.label.exportApplicationFilename=Export filename\:
1
0
Author: tchemit
Date: 2012-08-19 14:03:30 +0200 (Sun, 19 Aug 2012)
New Revision: 435
Url: http://forge.codelutin.com/repositories/revision/sammoa/435
Log:
hum no don't want to see i18n process in build
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-08-19 12:02:58 UTC (rev 434)
+++ trunk/pom.xml 2012-08-19 12:03:30 UTC (rev 435)
@@ -126,7 +126,7 @@
<logbackVersion>1.0.6</logbackVersion>
<i18n.bundles>en_GB</i18n.bundles>
- <i18n.silent>false</i18n.silent>
+ <i18n.silent>true</i18n.silent>
<!-- license header configuration -->
<license.organizationName>
1
0
r434 - trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence
by tchemit@users.forge.codelutin.com 19 Aug '12
by tchemit@users.forge.codelutin.com 19 Aug '12
19 Aug '12
Author: tchemit
Date: 2012-08-19 14:02:58 +0200 (Sun, 19 Aug 2012)
New Revision: 434
Url: http://forge.codelutin.com/repositories/revision/sammoa/434
Log:
use last topia query api + add destroydb method on SammoaPersistence
Modified:
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/FlightDAOImpl.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/ObservationDAOImpl.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/RouteDAOImpl.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SammoaPersistence.java
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/FlightDAOImpl.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/FlightDAOImpl.java 2012-08-18 12:44:43 UTC (rev 433)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/FlightDAOImpl.java 2012-08-19 12:02:58 UTC (rev 434)
@@ -43,7 +43,7 @@
);
try {
- Integer queryResult = findUniqueByQuery(Integer.class, ql);
+ Integer queryResult = findByQuery(Integer.class, ql);
int result = queryResult == null ? defaultValue : queryResult + 1;
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/ObservationDAOImpl.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/ObservationDAOImpl.java 2012-08-18 12:44:43 UTC (rev 433)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/ObservationDAOImpl.java 2012-08-19 12:02:58 UTC (rev 434)
@@ -104,7 +104,7 @@
);
try {
- Integer queryResult = findUniqueByQuery(Integer.class, ql, "flight", flight);
+ Integer queryResult = findByQuery(Integer.class, ql, "flight", flight);
int result = queryResult == null ? 1 : queryResult + 1;
return result;
} catch (TopiaException e) {
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/RouteDAOImpl.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/RouteDAOImpl.java 2012-08-18 12:44:43 UTC (rev 433)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/RouteDAOImpl.java 2012-08-19 12:02:58 UTC (rev 434)
@@ -97,7 +97,7 @@
);
try {
- Integer queryResult = findUniqueByQuery(
+ Integer queryResult = findByQuery(
Integer.class, ql, "flight", flight);
int result = queryResult == null ? 1 : queryResult + 1;
return result;
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SammoaPersistence.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SammoaPersistence.java 2012-08-18 12:44:43 UTC (rev 433)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SammoaPersistence.java 2012-08-19 12:02:58 UTC (rev 434)
@@ -155,6 +155,22 @@
this.rootContext = rootContext;
}
+ public void destroyDb() {
+ autoSaveListener.stop();
+ if (rootContext != null) {
+ try {
+ // destroy current db (only orks with h2)
+ rootContext.clear(true);
+
+ // clean root context
+ setRootContext(null);
+ } catch (TopiaException e) {
+
+ throw new TopiaRuntimeException(e);
+ }
+ }
+ }
+
/**
* Close the persistence context. This will close the main {@link TopiaContext}
* and the {@link AutoSaveListener}.
1
0
18 Aug '12
Author: tchemit
Date: 2012-08-18 14:44:43 +0200 (Sat, 18 Aug 2012)
New Revision: 433
Url: http://forge.codelutin.com/repositories/revision/sammoa/433
Log:
clean codes (review result local variable scope)
refs #1201: Export format application (export should be ok), still need to perform the callback treatment
hide as much as possible SammoaPersistence in service
make FlightController a Sammoaservice
Modified:
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightService.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/ReferentialService.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/device/gps/BaseGpsHandler.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/flightController/FlightController.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/flightController/FlightControllerDefault.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorage.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorages.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/csv/ImportCsvService.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/csv/ObserverImportModel.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/csv/SpeciesImportModel.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/map/ImportMapService.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/map/StrateImportModel.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/map/TransectImportModel.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/map/ExportMapService.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationModel.java
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationService.java
trunk/sammoa-application/src/test/java/fr/ulr/sammoa/application/FlightServiceTest.java
trunk/sammoa-application/src/test/java/fr/ulr/sammoa/application/io/input/csv/ImportCsvServiceTest.java
trunk/sammoa-application/src/test/java/fr/ulr/sammoa/application/output/map/ExportMapServiceTest.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUIHandler.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/map/ExportMapUIHandler.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIHandler.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIModel.java
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightService.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightService.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightService.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -57,6 +57,7 @@
import fr.ulr.sammoa.persistence.TransectDAO;
import fr.ulr.sammoa.persistence.TransectFlight;
import fr.ulr.sammoa.persistence.TransectFlightDAO;
+import org.apache.commons.collections.CollectionUtils;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.TopiaRuntimeException;
@@ -97,40 +98,39 @@
long start = TimeLog.getTime();
- List<Flight> result;
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
FlightDAO dao = SammoaDAOHelper.getFlightDAO(transaction);
- result = dao.findAllByCampaign(campaign);
+ List<Flight> result = dao.findAllByCampaign(campaign);
Collections.sort(result, Flights.onDate());
+ timeLog.log(start, "getFlights(" + campaign.getCode() + ")");
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
-
- timeLog.log(start, "getFlights(" + campaign.getCode() + ")");
-
- return result;
}
public Iterable<Flight> getFlights(Campaign campaign,
Date beginDate,
Date endDate) {
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
- Iterable<Flight> result = getFlights(transaction, campaign, beginDate, endDate);
+ Iterable<Flight> result = getFlights(transaction,
+ campaign,
+ beginDate,
+ endDate);
return result;
-
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
}
@@ -165,7 +165,8 @@
@Override
public boolean apply(Flight input) {
- return period.between(input.getBeginDate());
+ return input.getBeginDate() != null &&
+ period.between(input.getBeginDate());
}
});
@@ -177,18 +178,27 @@
public Flight getFlight(String flightId) {
Preconditions.checkNotNull(flightId);
- long start = TimeLog.getTime();
- Flight result;
+ TopiaContext transaction = beginTransaction();
+ try {
+ Flight result = getFlight(transaction, flightId);
+ return result;
+ } finally {
+ endTransaction(transaction);
+ }
+ }
- TopiaContext transaction = persistence.beginTransaction();
+ public Flight getFlight(TopiaContext transaction, String flightId) {
+
+ Preconditions.checkNotNull(flightId);
+
try {
+ long start = TimeLog.getTime();
FlightDAO dao = SammoaDAOHelper.getFlightDAO(transaction);
- result = dao.findByTopiaId(flightId);
- Preconditions.checkArgument(
- result != null,
- String.format("%s doesn't exist", flightId));
+ Flight result = dao.findByTopiaId(flightId);
+ Preconditions.checkNotNull(
+ result, String.format("%s doesn't exist", flightId));
if (logger.isInfoEnabled()) {
logger.info("Loading flight {} [{}]",
@@ -200,16 +210,12 @@
result.sizeObserver();
result.sizeTransectFlight();
+ timeLog.log(start, "getFlight(" + flightId + ")");
+
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
-
- } finally {
- persistence.endTransaction(transaction);
}
-
- timeLog.log(start, "getFlight(" + flightId + ")");
-
- return result;
}
/**
@@ -219,21 +225,21 @@
*
* @param campaign The campaign of the flight
* @return a new flight
- * @see FlightDAO#getLastFlightNumber(int)
+ * @see FlightDAO#findLastFlightNumber(int)
* @since 0.4
*/
public Flight createFlight(Campaign campaign) {
Flight result;
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
FlightDAO dao = SammoaDAOHelper.getFlightDAO(transaction);
String systemId = config.getSystemId();
int startNumber = config.getFlightNumber();
- int flightNumber = dao.getLastFlightNumber(startNumber);
+ int flightNumber = dao.findLastFlightNumber(startNumber);
result = dao.createByNaturalId(systemId, flightNumber, campaign);
result.setPlatformType(PlatformType.SIMPLE);
@@ -251,7 +257,7 @@
throw new TopiaRuntimeException(e);
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
// create flight storage
@@ -296,32 +302,26 @@
public List<GeoPoint> getFlightGeoPoints(Flight flight) {
-
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
List<GeoPoint> result = getFlightGeoPoints(transaction, flight);
return result;
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
-
}
public List<GeoPoint> getFlightGeoPoints(TopiaContext transaction,
Flight flight) {
- List<GeoPoint> result;
-
try {
GeoPointDAO dao = SammoaDAOHelper.getGeoPointDAO(transaction);
-
- result = dao.findAllByFlightOrderedByRecordTime(flight);
-
+ List<GeoPoint> result =
+ dao.findAllByFlightOrderedByRecordTime(flight);
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
-
}
- return result;
}
//
@@ -378,7 +378,7 @@
List<TransectFlight> result = Lists.newArrayList();
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
FlightDAO flightDAO = SammoaDAOHelper.getFlightDAO(transaction);
@@ -409,7 +409,7 @@
throw new TopiaRuntimeException(e);
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
Collections.reverse(result);
return result;
@@ -417,26 +417,25 @@
public Map<Transect, Long> getTransectRealNbTimes(Collection<Transect> transects) {
- Map<Transect, Long> result;
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
TransectFlightDAO dao = SammoaDAOHelper.getTransectFlightDAO(transaction);
- if (transects == null || transects.isEmpty()) {
+ Map<Transect, Long> result;
+ if (CollectionUtils.isEmpty(transects)) {
result = dao.countAllByTransect();
} else {
result = dao.countAllByTransects(transects);
}
-
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
- return result;
}
/**
@@ -447,13 +446,12 @@
*/
public List<Route> getRoutes(Flight flight) {
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
List<Route> result = getRoutes(transaction, flight);
-
return result;
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
}
@@ -465,18 +463,14 @@
*/
public List<Route> getRoutes(TopiaContext transaction, Flight flight) {
- List<Route> result;
try {
-
RouteDAO dao = SammoaDAOHelper.getRouteDAO(transaction);
-
- result = dao.findAllByFlightOrderedByBeginTime(flight);
-
+ List<Route> result = dao.findAllByFlightOrderedByBeginTime(flight);
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
}
- return result;
}
/**
@@ -487,85 +481,71 @@
*/
public Route getLastRoute(Flight flight) {
- Route result;
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
-
RouteDAO dao = SammoaDAOHelper.getRouteDAO(transaction);
-
- result = dao.findLastByFlight(flight);
-
+ Route result = dao.findLastByFlight(flight);
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
- return result;
}
public TransectFlight getLastTransectDone(Flight flight) {
- TransectFlight result;
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
RouteDAO dao = SammoaDAOHelper.getRouteDAO(transaction);
-
Route route = dao.findLastByFlightAndType(flight, RouteType.LEG);
- if (route != null) {
- result = route.getTransectFlight();
-
- } else {
- result = null;
- }
-
+ TransectFlight result = route == null ? null : route.getTransectFlight();
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
- return result;
}
public List<Observation> getObservations(Flight flight) {
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
List<Observation> result = getObservations(transaction, flight);
return result;
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
}
public List<Observation> getObservations(TopiaContext transaction,
Flight flight) {
- List<Observation> result;
try {
-
ObservationDAO dao = SammoaDAOHelper.getObservationDAO(transaction);
+ List<Observation> result =
+ dao.findAllByFlightOrderedByObservationTime(flight);
+ return result;
- result = dao.findAllByFlightOrderedByObservationTime(flight);
-
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
}
- return result;
}
public void setRouteObserverByPosition(Route route,
Observer observer,
Position position) {
- Collection<ObserverPosition> observerPositions =
- route.getObserverPosition();
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
+ Collection<ObserverPosition> observerPositions =
+ route.getObserverPosition();
ObserverPositionDAO observerPositionDAO =
SammoaDAOHelper.getObserverPositionDAO(transaction);
@@ -610,7 +590,7 @@
throw new TopiaRuntimeException(e);
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
}
@@ -653,7 +633,7 @@
ObservationDAO dao = SammoaDAOHelper.getObservationDAO(transaction);
- int number = dao.getLastObservationNumber(flight);
+ int number = dao.findLastObservationNumber(flight);
result = dao.createByNaturalId(number, flight);
result.setObservationTime(beginTime);
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-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/ReferentialService.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -58,13 +58,12 @@
public List<Region> getRegions() {
- List<Region> result;
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
RegionDAO dao = SammoaDAOHelper.getRegionDAO(transaction);
- result = dao.findAll();
+ List<Region> result = dao.findAll();
if (result.isEmpty()) {
Region region = dao.createByNaturalId("FR-METRO");
@@ -73,27 +72,26 @@
result = Lists.newArrayList(region);
}
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
-
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
- return result;
}
public String saveRegion(Region region) {
- Preconditions.checkArgument(region != null);
- Preconditions.checkArgument(region.getCode() != null);
+ Preconditions.checkNotNull(region);
+ Preconditions.checkNotNull(region.getCode());
- String result;
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
RegionDAO dao = SammoaDAOHelper.getRegionDAO(transaction);
+ String result;
if (region.getTopiaId() == null) {
Region existRegion = dao.findByNaturalId(region.getCode());
@@ -115,48 +113,44 @@
transaction.commitTransaction();
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
-
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
- return result;
}
public List<Campaign> getCampaigns() {
- List<Campaign> result;
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
CampaignDAO dao = SammoaDAOHelper.getCampaignDAO(transaction);
-
- result = dao.findAllWithOrder(Campaign.PROPERTY_BEGIN_DATE + " DESC");
-
+ List<Campaign> result =
+ dao.findAllWithOrder(Campaign.PROPERTY_BEGIN_DATE + " DESC");
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
-
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
- return result;
}
public String saveCampaign(Campaign campaign) {
- Preconditions.checkArgument(campaign != null);
- Preconditions.checkArgument(campaign.getBeginDate() != null);
- Preconditions.checkArgument(campaign.getEndDate() != null);
+ Preconditions.checkNotNull(campaign);
+ Preconditions.checkNotNull(campaign.getBeginDate());
+ Preconditions.checkNotNull(campaign.getEndDate());
Preconditions.checkArgument(campaign.getEndDate().after(campaign.getBeginDate()));
- Preconditions.checkArgument(campaign.getCode() != null);
- Preconditions.checkArgument(campaign.getRegion() != null);
+ Preconditions.checkNotNull(campaign.getCode());
+ Preconditions.checkNotNull(campaign.getRegion());
boolean createCampaign = campaign.getTopiaId() == null;
String result;
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
CampaignDAO dao = SammoaDAOHelper.getCampaignDAO(transaction);
@@ -189,9 +183,8 @@
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
-
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
if (createCampaign) {
@@ -210,26 +203,21 @@
public Campaign getCampaign(String topiaId) {
- Campaign result;
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
-
CampaignDAO dao = SammoaDAOHelper.getCampaignDAO(transaction);
-
- result = dao.findByTopiaId(topiaId);
-
+ Campaign result = dao.findByTopiaId(topiaId);
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
-
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
- return result;
}
public List<Transect> getAllTransects(Campaign campaign) {
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
TransectDAO dao = SammoaDAOHelper.getTransectDAO(transaction);
@@ -239,14 +227,13 @@
return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
-
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
}
public List<Strate> getAllStrates(Campaign campaign) {
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
StrateDAO dao = SammoaDAOHelper.getStrateDAO(transaction);
@@ -257,14 +244,13 @@
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
-
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
}
public List<Species> getAllSpecies(Campaign campaign) {
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
SpeciesDAO dao = SammoaDAOHelper.getSpeciesDAO(transaction);
@@ -275,14 +261,13 @@
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
-
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
}
public Collection<Species> getAllValidSpecies() {
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
SpeciesDAO dao = SammoaDAOHelper.getSpeciesDAO(transaction);
@@ -292,21 +277,19 @@
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
-
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
}
public String createTransect(Transect transect) {
- Preconditions.checkArgument(transect != null);
- Preconditions.checkArgument(transect.getName() != null);
- Preconditions.checkArgument(transect.getStrate() != null);
+ Preconditions.checkNotNull(transect);
+ Preconditions.checkNotNull(transect.getName());
+ Preconditions.checkNotNull(transect.getStrate());
- String result;
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
TransectDAO dao = SammoaDAOHelper.getTransectDAO(transaction);
@@ -319,62 +302,54 @@
transect.getStrate());
newTransect.setLocalCreation(true);
- result = newTransect.getTopiaId();
-
transaction.commitTransaction();
+ String result = newTransect.getTopiaId();
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
-
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
- return result;
}
public Transect getTransect(String transectId) {
- Transect result;
-
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
TransectDAO dao = SammoaDAOHelper.getTransectDAO(transaction);
- result = dao.findByTopiaId(transectId);
-
+ Transect result = dao.findByTopiaId(transectId);
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
- return result;
}
public List<Observer> getAllObservers(Campaign campaign) {
- List<Observer> result;
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
ObserverDAO observerDAO =
SammoaDAOHelper.getObserverDAO(transaction);
- result = observerDAO.findAllByCampaign(campaign);
+ List<Observer> result = observerDAO.findAllByCampaign(campaign);
Collections.sort(result, Observers.onInitials());
// realy creating observers
transaction.commitTransaction();
+
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
-
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
-
- return result;
}
-
}
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/device/gps/BaseGpsHandler.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/device/gps/BaseGpsHandler.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/device/gps/BaseGpsHandler.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -54,7 +54,8 @@
*/
public abstract class BaseGpsHandler implements GpsHandler {
- private static final Logger logger = LoggerFactory.getLogger(BaseGpsHandler.class);
+ private static final Logger logger =
+ LoggerFactory.getLogger(BaseGpsHandler.class);
protected Set<DeviceStateListener> deviceStateListeners;
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/flightController/FlightController.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/flightController/FlightController.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/flightController/FlightController.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -23,11 +23,13 @@
* #L%
*/
+import fr.ulr.sammoa.application.SammoaService;
import fr.ulr.sammoa.application.device.DeviceTechnicalException;
import fr.ulr.sammoa.application.device.audio.AudioRecorder;
import fr.ulr.sammoa.application.device.audio.AudioRecorderDefault;
import fr.ulr.sammoa.application.device.gps.GpsConfig;
import fr.ulr.sammoa.application.device.gps.GpsHandler;
+import fr.ulr.sammoa.persistence.Flight;
import fr.ulr.sammoa.persistence.GeoPoint;
import fr.ulr.sammoa.persistence.Observation;
import fr.ulr.sammoa.persistence.ObservationStatus;
@@ -47,7 +49,7 @@
* @author fdesbois <desbois(a)codelutin.com>
* @see FlightState
*/
-public interface FlightController {
+public interface FlightController extends SammoaService {
/** @return the {@link FlightState} */
FlightState getState();
@@ -83,8 +85,10 @@
* recording if necessary.
* <p/>
* You must call init method to ensure the {@link FlightState}.
+ *
+ * @param flight flight to use in the controller
*/
- void init();
+ void init(Flight flight);
/**
* Start operation. This will set the {@code beginDate} of the flight, then
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/flightController/FlightControllerDefault.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/flightController/FlightControllerDefault.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/flightController/FlightControllerDefault.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -29,7 +29,7 @@
import com.google.common.base.Throwables;
import com.google.common.collect.Sets;
import fr.ulr.sammoa.application.FlightService;
-import fr.ulr.sammoa.application.SammoaContext;
+import fr.ulr.sammoa.application.SammoaServiceSupport;
import fr.ulr.sammoa.application.device.DeviceManager;
import fr.ulr.sammoa.application.device.DeviceStateListener;
import fr.ulr.sammoa.application.device.DeviceTechnicalException;
@@ -56,7 +56,6 @@
import fr.ulr.sammoa.persistence.Route;
import fr.ulr.sammoa.persistence.RouteType;
import fr.ulr.sammoa.persistence.SammoaDAOHelper;
-import fr.ulr.sammoa.persistence.SammoaPersistence;
import fr.ulr.sammoa.persistence.TransectFlight;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
@@ -76,16 +75,12 @@
*
* @author fdesbois <desbois(a)codelutin.com>
*/
-public class FlightControllerDefault implements GpsLocationListener, FlightController {
+public class FlightControllerDefault extends SammoaServiceSupport implements GpsLocationListener, FlightController {
private static final Logger logger = LoggerFactory.getLogger(FlightControllerDefault.class);
private static final TimeLog timeLog = new TimeLog(FlightControllerDefault.class, 500, 1000);
- protected SammoaContext context;
-
- protected SammoaPersistence persistence;
-
protected FlightService service;
protected AudioRecorder audioRecorder;
@@ -104,30 +99,12 @@
protected TransectFlight lastTransect;
- protected Set<FlightControllerListener> listeners;
+ protected Set<FlightControllerListener> listeners = Sets.newHashSet();
protected FlightStorage flightStorage;
// protected GeoPoint lastLocation;
- public FlightControllerDefault(SammoaContext context, Flight flight) {
-
- this.context = context;
- this.flight = flight;
-
- this.persistence = context.getPersistence();
- this.service = context.newService(FlightService.class);
-
- this.currentRoute = service.getLastRoute(flight);
- this.lastTransect = service.getLastTransectDone(flight);
- this.listeners = Sets.newHashSet();
-
- Campaign campaign = flight.getCampaign();
- CampaignStorage campaignStorage = CampaignStorages.getStorage(
- context.getConfig(), campaign.getTopiaId());
- flightStorage = campaignStorage.getFlightStorage(flight.getTopiaId());
- }
-
@Override
public void addListener(FlightControllerListener listener) {
listeners.add(listener);
@@ -262,14 +239,29 @@
}
@Override
- public void init() {
+ public void init(Flight flight) {
+ Preconditions.checkNotNull(flight);
+
Preconditions.checkState(gpsHandler != null,
"The GpsHandler must be created using #openGpsDevice");
Preconditions.checkState(audioRecorder != null,
"The AudioRecorder must be created using #openAudioDevice");
+ this.flight = flight;
+
+ this.service = context.newService(FlightService.class);
+
+ this.currentRoute = service.getLastRoute(flight);
+ this.lastTransect = service.getLastTransectDone(flight);
+ this.listeners = Sets.newHashSet();
+
+ Campaign campaign = flight.getCampaign();
+ CampaignStorage campaignStorage = CampaignStorages.getStorage(
+ context.getConfig(), campaign.getTopiaId());
+ flightStorage = campaignStorage.getFlightStorage(flight.getTopiaId());
+
if (initialized) {
if (logger.isWarnEnabled()) {
logger.warn("The FlightController is already initialized");
@@ -279,7 +271,7 @@
if (logger.isInfoEnabled()) {
logger.info("Initialize the FlightController for flight {}",
- flight.getFlightNumber());
+ this.flight.getFlightNumber());
}
initialized = true;
@@ -292,12 +284,12 @@
state = FlightState.ON_EFFORT;
} else if (currentRoute != null
- && flight.getBeginDate() != null
- && flight.getEndDate() == null) {
+ && this.flight.getBeginDate() != null
+ && this.flight.getEndDate() == null) {
state = FlightState.OFF_EFFORT;
- } else if (flight.getEndDate() != null) {
+ } else if (this.flight.getEndDate() != null) {
state = FlightState.ENDED;
@@ -316,7 +308,7 @@
nextTransect = lastTransect;
} else {
- nextTransect = flight.getNextTransectFlightFrom(lastTransect);
+ nextTransect = this.flight.getNextTransectFlightFrom(lastTransect);
}
// Restart recording audio if onEffort or circleBack
@@ -343,7 +335,7 @@
audioRecorder.start();
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
Date currentDate = saveGPS(transaction, gpsHandler.getCurrentLocation(), flight);
@@ -380,7 +372,7 @@
throw new TopiaRuntimeException(e);
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
}
@@ -418,7 +410,7 @@
nextTransect != null, "You can't call begin() if no transect is selected. " +
"Call setNextTransect() method first");
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
Date currentDate = saveGPS(transaction, gpsHandler.getCurrentLocation(), flight);
@@ -455,7 +447,7 @@
throw new TopiaRuntimeException(e);
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
}
@@ -473,7 +465,7 @@
"You can't call circleBack() during TRANSIT");
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
Date currentDate = saveGPS(transaction, gpsHandler.getCurrentLocation(), flight);
@@ -509,7 +501,7 @@
throw new TopiaRuntimeException(e);
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
}
@@ -524,7 +516,7 @@
Preconditions.checkState(
isOnEffort(), "You can call add() only if flight is on effort (started, not ended, on effort)");
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
Date currentDate = saveGPS(transaction, gpsHandler.getCurrentLocation(), flight);
@@ -550,7 +542,7 @@
throw new TopiaRuntimeException(e);
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
}
@@ -579,7 +571,7 @@
Preconditions.checkState(
isRunning(), "You can call observation() only if flight is running (started, not ended)");
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
GeoPoint location = gpsHandler.getCurrentLocation();
@@ -617,7 +609,7 @@
throw new TopiaRuntimeException(e);
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
}
@@ -643,7 +635,7 @@
Preconditions.checkState(
isOffEffort(), "You can call stop() only if flight is running (started, not ended, not on effort)");
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
Date currentDate = saveGPS(transaction, gpsHandler.getCurrentLocation(), flight);
@@ -682,7 +674,7 @@
throw new TopiaRuntimeException(e);
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
}
@@ -706,7 +698,7 @@
Preconditions.checkState(
isOnEffort(), "You can call end() only if flight is on effort (started, not ended, on effort)");
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
Date currentDate = saveGPS(transaction, gpsHandler.getCurrentLocation(), flight);
@@ -731,7 +723,7 @@
throw new TopiaRuntimeException(e);
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
}
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorage.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorage.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorage.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -117,7 +117,9 @@
}
public Iterable<FlightStorage> getFlightStorages() {
- File[] files = getFlightDirectory().listFiles((FileFilter) DirectoryFileFilter.DIRECTORY);
- return Iterables.transform(Lists.newArrayList(files), FILE_FLIGHT_STORAGE_FUNCTION);
+ File[] files = getFlightDirectory().listFiles(
+ (FileFilter) DirectoryFileFilter.DIRECTORY);
+ return Iterables.transform(Lists.newArrayList(files),
+ FILE_FLIGHT_STORAGE_FUNCTION);
}
}
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorages.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorages.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/CampaignStorages.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -37,7 +37,6 @@
*/
public class CampaignStorages {
-
public static CampaignStorage getStorage(SammoaConfig config,
String campaignId) {
File directory = config.getCampaignDirectory();
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/csv/ImportCsvService.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/csv/ImportCsvService.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/csv/ImportCsvService.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -62,11 +62,10 @@
public int importSpecies(String regionId, File file) throws IOException {
Reader reader = Files.newReader(file, Charsets.UTF_8);
-
try {
int result = 0;
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
RegionDAO regionDAO = SammoaDAOHelper.getRegionDAO(transaction);
@@ -95,7 +94,7 @@
throw new TopiaRuntimeException(e);
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
reader.close();
return result;
@@ -104,55 +103,13 @@
}
}
- protected boolean importSpecies(SpeciesDAO dao,
- Species species,
- String regionCode) throws TopiaException {
- // while importing a species, it does become valid
- species.setLocalCreation(false);
-
- Species speciesExists =
- dao.findByNaturalId(species.getCode(),
- species.getRegion());
-
- boolean newSpecies = false;
- if (speciesExists == null) {
-
- dao.create(species);
-
- newSpecies = true;
-
- if (logger.isDebugEnabled()) {
- logger.debug(
- "Create new species {} for region {}",
- species.getCode(), regionCode);
- }
-
- } else {
-
- speciesExists.setCommonName(species.getCommonName());
- speciesExists.setLatinName(species.getLatinName());
- speciesExists.setGroupName(species.getGroupName());
- speciesExists.setFamily(species.getFamily());
- speciesExists.setType(species.getType());
- dao.update(speciesExists);
-
- if (logger.isInfoEnabled()) {
- logger.info(
- "The species {} already exists and is updated",
- species.getCode());
- }
- }
-
- return newSpecies;
- }
-
public int importObservers(String campaignId, File file) throws IOException {
Reader reader = Files.newReader(file, Charsets.UTF_8);
try {
int result = 0;
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
CampaignDAO campaignDAO = SammoaDAOHelper.getCampaignDAO(transaction);
@@ -181,7 +138,7 @@
throw new TopiaRuntimeException(e);
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
reader.close();
return result;
@@ -190,6 +147,48 @@
}
}
+ protected boolean importSpecies(SpeciesDAO dao,
+ Species species,
+ String regionCode) throws TopiaException {
+ // while importing a species, it does become valid
+ species.setLocalCreation(false);
+
+ Species speciesExists =
+ dao.findByNaturalId(species.getCode(),
+ species.getRegion());
+
+ boolean newSpecies = false;
+ if (speciesExists == null) {
+
+ dao.create(species);
+
+ newSpecies = true;
+
+ if (logger.isDebugEnabled()) {
+ logger.debug(
+ "Create new species {} for region {}",
+ species.getCode(), regionCode);
+ }
+
+ } else {
+
+ speciesExists.setCommonName(species.getCommonName());
+ speciesExists.setLatinName(species.getLatinName());
+ speciesExists.setGroupName(species.getGroupName());
+ speciesExists.setFamily(species.getFamily());
+ speciesExists.setType(species.getType());
+ dao.update(speciesExists);
+
+ if (logger.isInfoEnabled()) {
+ logger.info(
+ "The species {} already exists and is updated",
+ species.getCode());
+ }
+ }
+
+ return newSpecies;
+ }
+
protected boolean importObserver(ObserverDAO dao,
Observer observer,
String campaignCode) throws TopiaException {
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/csv/ObserverImportModel.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/csv/ObserverImportModel.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/csv/ObserverImportModel.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -23,70 +23,46 @@
* #L%
*/
+import com.google.common.base.Preconditions;
import fr.ulr.sammoa.persistence.Campaign;
import fr.ulr.sammoa.persistence.Observer;
import fr.ulr.sammoa.persistence.ObserverImpl;
import org.nuiton.util.csv.Common;
-import org.nuiton.util.csv.ImportModel;
-import org.nuiton.util.csv.ImportableColumn;
-import org.nuiton.util.csv.ModelBuilder;
import org.nuiton.util.csv.ValueParser;
+import org.nuiton.util.csv.ext.AbstractImportModel;
import java.text.ParseException;
-import java.util.List;
/**
* Created: 09/07/12
*
* @author fdesbois <desbois(a)codelutin.com>
*/
-public class ObserverImportModel implements ImportModel<Observer> {
+public class ObserverImportModel extends AbstractImportModel<Observer> {
- protected Campaign campaign;
+ public ObserverImportModel(final Campaign campaign) {
+ super(';');
+ newMandatoryColumn("INITIALS", Observer.PROPERTY_INITIALS);
+ newMandatoryColumn("FIRST_NAME", Observer.PROPERTY_FIRST_NAME);
+ newMandatoryColumn("LAST_NAME", Observer.PROPERTY_LAST_NAME);
+ newMandatoryColumn("ORGANIZATION", Observer.PROPERTY_ORGANIZATION);
+ newMandatoryColumn("EMAIL", Observer.PROPERTY_EMAIL);
+ newMandatoryColumn("PILOT", Observer.PROPERTY_PILOT, Common.BOOLEAN);
+ newMandatoryColumn("CAMPAIGN", Observer.PROPERTY_CAMPAIGN, new ValueParser<Campaign>() {
- public ObserverImportModel(Campaign campaign) {
- this.campaign = campaign;
+ @Override
+ public Campaign parse(String s) throws ParseException {
+ Preconditions.checkArgument(
+ campaign.getCode().equals(s),
+ String.format("The current campaign is %1$s and not %2$s",
+ campaign.getCode(), s));
+ return campaign;
+ }
+ });
}
@Override
- public char getSeparator() {
- return ';';
- }
-
- @Override
- public void pushCsvHeaderNames(List<String> strings) {
- }
-
- @Override
public Observer newEmptyInstance() {
return new ObserverImpl();
}
-
- @Override
- public Iterable<ImportableColumn<Observer, Object>> getColumnsForImport() {
- ModelBuilder builder = new ModelBuilder();
- builder.newMandatoryColumn("CAMPAIGN", Observer.PROPERTY_CAMPAIGN, CAMPAIGN_VALUE_PARSER);
- builder.newMandatoryColumn("INITIALS", Observer.PROPERTY_INITIALS);
- builder.newMandatoryColumn("FIRST_NAME", Observer.PROPERTY_FIRST_NAME);
- builder.newMandatoryColumn("LAST_NAME", Observer.PROPERTY_LAST_NAME);
- builder.newMandatoryColumn("ORGANIZATION", Observer.PROPERTY_ORGANIZATION);
- builder.newMandatoryColumn("EMAIL", Observer.PROPERTY_EMAIL);
- builder.newMandatoryColumn("PILOT", Observer.PROPERTY_PILOT, Common.BOOLEAN);
- return builder.getColumnsForImport();
- }
-
- protected ValueParser<Campaign> CAMPAIGN_VALUE_PARSER = new ValueParser<Campaign>() {
-
- @Override
- public Campaign parse(String s) throws ParseException {
- Campaign result;
- if (s.equals(campaign.getCode())) {
- result = campaign;
- } else {
- throw new IllegalArgumentException(
- String.format("The current campaign is %1$s and not %2$s", campaign.getCode(), s));
- }
- return result;
- }
- };
}
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/csv/SpeciesImportModel.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/csv/SpeciesImportModel.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/csv/SpeciesImportModel.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -23,69 +23,47 @@
* #L%
*/
+import com.google.common.base.Preconditions;
import fr.ulr.sammoa.persistence.Region;
import fr.ulr.sammoa.persistence.Species;
import fr.ulr.sammoa.persistence.SpeciesImpl;
-import org.nuiton.util.csv.ImportModel;
-import org.nuiton.util.csv.ImportableColumn;
-import org.nuiton.util.csv.ModelBuilder;
import org.nuiton.util.csv.ValueParser;
+import org.nuiton.util.csv.ext.AbstractImportModel;
import java.text.ParseException;
-import java.util.List;
/**
* Created: 17/07/12
*
* @author fdesbois <desbois(a)codelutin.com>
*/
-public class SpeciesImportModel implements ImportModel<Species> {
+public class SpeciesImportModel extends AbstractImportModel<Species> {
- protected Region region;
+ public SpeciesImportModel(final Region region) {
+ super(';');
+ newMandatoryColumn("CODE", Species.PROPERTY_CODE);
+ newMandatoryColumn("NOM_COMM", Species.PROPERTY_COMMON_NAME);
+ newMandatoryColumn("NOM_LATIN", Species.PROPERTY_LATIN_NAME);
+ newMandatoryColumn("TYPE", Species.PROPERTY_TYPE);
+ newMandatoryColumn("FAMILLE", Species.PROPERTY_FAMILY);
+ newMandatoryColumn("GROUPE", Species.PROPERTY_GROUP_NAME);
+ newMandatoryColumn("REGION", Species.PROPERTY_REGION, new ValueParser<Region>() {
- public SpeciesImportModel(Region region) {
- this.region = region;
+ @Override
+ public Region parse(String s) throws ParseException {
+ Preconditions.checkArgument(
+ region.getCode().equals(s),
+ String.format("The current region is %1$s and not %2$s",
+ region.getCode(), s)
+ );
+ return region;
+ }
+ });
}
@Override
- public char getSeparator() {
- return ';';
- }
-
- @Override
- public void pushCsvHeaderNames(List<String> strings) {
- }
-
- @Override
public Species newEmptyInstance() {
return new SpeciesImpl();
}
- @Override
- public Iterable<ImportableColumn<Species, Object>> getColumnsForImport() {
- ModelBuilder builder = new ModelBuilder();
- builder.newMandatoryColumn("REGION", Species.PROPERTY_REGION, REGION_VALUE_PARSER);
- builder.newMandatoryColumn("CODE", Species.PROPERTY_CODE);
- builder.newMandatoryColumn("NOM_COMM", Species.PROPERTY_COMMON_NAME);
- builder.newMandatoryColumn("NOM_LATIN", Species.PROPERTY_LATIN_NAME);
- builder.newMandatoryColumn("TYPE", Species.PROPERTY_TYPE);
- builder.newMandatoryColumn("FAMILLE", Species.PROPERTY_FAMILY);
- builder.newMandatoryColumn("GROUPE", Species.PROPERTY_GROUP_NAME);
- return builder.getColumnsForImport();
- }
-
- protected ValueParser<Region> REGION_VALUE_PARSER = new ValueParser<Region>() {
-
- @Override
- public Region parse(String s) throws ParseException {
- Region result;
- if (s.equals(region.getCode())) {
- result = region;
- } else {
- throw new IllegalArgumentException(
- String.format("The current region is %1$s and not %2$s", region.getCode(), s));
- }
- return result;
- }
- };
}
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/map/ImportMapService.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/map/ImportMapService.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/map/ImportMapService.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -62,9 +62,7 @@
public int importTransects(String campaignId, Iterable<Transect> transects) {
- int result = 0;
-
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
CampaignDAO campaignDAO =
@@ -83,6 +81,7 @@
Map<String, Strate> strateMap =
Maps.uniqueIndex(strates, Strates.toCode());
+ int result = 0;
int rowIndex = 0;
for (Transect transect : transects) {
@@ -147,20 +146,18 @@
transaction.commitTransaction();
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
- return result;
}
public int importStrates(String campaignId, Iterable<Strate> strates) {
- int result = 0;
-
- TopiaContext transaction = persistence.beginTransaction();
+ TopiaContext transaction = beginTransaction();
try {
CampaignDAO campaignDAO =
@@ -180,6 +177,7 @@
Maps.newHashMap(Maps.uniqueIndex(sectors,
Sectors.toSectorNumber()));
+ int result = 0;
for (Strate strate : strates) {
StrateType strateType = strate.getStrateType();
@@ -231,12 +229,12 @@
transaction.commitTransaction();
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
} finally {
- persistence.endTransaction(transaction);
+ endTransaction(transaction);
}
- return result;
}
}
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/map/StrateImportModel.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/map/StrateImportModel.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/map/StrateImportModel.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -27,18 +27,14 @@
import fr.ulr.sammoa.persistence.SectorImpl;
import fr.ulr.sammoa.persistence.Strate;
import fr.ulr.sammoa.persistence.StrateImpl;
-import org.nuiton.util.csv.ImportModel;
-import org.nuiton.util.csv.ImportableColumn;
-import org.nuiton.util.csv.ModelBuilder;
+import org.nuiton.util.csv.ext.AbstractImportModel;
-import java.util.List;
-
/**
* Created: 25/07/12
*
* @author fdesbois <desbois(a)codelutin.com>
*/
-public class StrateImportModel implements ImportModel<Strate> {
+public class StrateImportModel extends AbstractImportModel<Strate> {
// 0 : Nom
// 1 : Area (not used)
@@ -48,44 +44,31 @@
// 5 : type_strat (string) for StrateType (code match)
// 6 : ID_Secteur (double)
- @Override
- public char getSeparator() {
- return ' ';
+ public StrateImportModel() {
+ super(';');
+ newMandatoryColumn("Nom", Strate.PROPERTY_NAME);
+ newMandatoryColumn("Secteur",
+ Strate.PROPERTY_SECTOR
+ + "." + Sector.PROPERTY_NAME
+ );
+ newMandatoryColumn("type_strat",
+ Strate.PROPERTY_STRATE_TYPE,
+ new StrateTypeValueParser()
+ );
+ newMandatoryColumn("ID_Secteur",
+ Strate.PROPERTY_SECTOR
+ + "." + Sector.PROPERTY_SECTOR_NUMBER,
+ new DoubleToIntegerValueParser()
+ );
+ newIgnoredColumn("Area");
+ newIgnoredColumn("Shape_Area");
+ newIgnoredColumn("Shape_Leng");
}
@Override
- public void pushCsvHeaderNames(List<String> strings) {
- }
-
- @Override
public Strate newEmptyInstance() {
Strate result = new StrateImpl();
result.setSector(new SectorImpl());
return result;
}
-
- @Override
- public Iterable<ImportableColumn<Strate, Object>> getColumnsForImport() {
- ModelBuilder builder = new ModelBuilder();
- builder.newMandatoryColumn("Nom",
- Strate.PROPERTY_NAME
- );
- builder.newMandatoryColumn("Secteur",
- Strate.PROPERTY_SECTOR
- + "." + Sector.PROPERTY_NAME
- );
- builder.newMandatoryColumn("type_strat",
- Strate.PROPERTY_STRATE_TYPE,
- new StrateTypeValueParser()
- );
- builder.newMandatoryColumn("ID_Secteur",
- Strate.PROPERTY_SECTOR
- + "." + Sector.PROPERTY_SECTOR_NUMBER,
- new DoubleToIntegerValueParser()
- );
- builder.newIgnoredColumn("Area");
- builder.newIgnoredColumn("Shape_Area");
- builder.newIgnoredColumn("Shape_Leng");
- return builder.getColumnsForImport();
- }
}
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/map/TransectImportModel.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/map/TransectImportModel.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/input/map/TransectImportModel.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -30,18 +30,14 @@
import fr.ulr.sammoa.persistence.Transect;
import fr.ulr.sammoa.persistence.TransectImpl;
import org.nuiton.util.csv.Common;
-import org.nuiton.util.csv.ImportModel;
-import org.nuiton.util.csv.ImportableColumn;
-import org.nuiton.util.csv.ModelBuilder;
+import org.nuiton.util.csv.ext.AbstractImportModel;
-import java.util.List;
-
/**
* Created: 25/07/12
*
* @author fdesbois <desbois(a)codelutin.com>
*/
-public class TransectImportModel implements ImportModel<Transect> {
+public class TransectImportModel extends AbstractImportModel<Transect> {
// 0 : Length
// 1 : TR_ID used as name
@@ -54,13 +50,46 @@
// 8 : STRATE (string) for StrateType (code match)
// 9 : Shape_Leng (not used)
- @Override
- public char getSeparator() {
- return ' ';
- }
- @Override
- public void pushCsvHeaderNames(List<String> strings) {
+ public TransectImportModel() {
+ super(';');
+ newMandatoryColumn("Length",
+ Transect.PROPERTY_LENGTH,
+ Common.DOUBLE_PRIMITIVE
+ );
+ newMandatoryColumn("TR_ID", Transect.PROPERTY_NAME);
+ newMandatoryColumn("Xstart",
+ Transect.PROPERTY_START_X,
+ Common.DOUBLE_PRIMITIVE
+ );
+ newMandatoryColumn("Ystart",
+ Transect.PROPERTY_START_Y,
+ Common.DOUBLE_PRIMITIVE
+ );
+ newMandatoryColumn("Xend",
+ Transect.PROPERTY_END_X,
+ Common.DOUBLE_PRIMITIVE
+ );
+ newMandatoryColumn("Yend",
+ Transect.PROPERTY_END_Y,
+ Common.DOUBLE_PRIMITIVE
+ );
+ newMandatoryColumn("SECTEUR",
+ Transect.PROPERTY_STRATE + "."
+ + Strate.PROPERTY_SECTOR + "."
+ + Sector.PROPERTY_SECTOR_NUMBER,
+ new DoubleToIntegerValueParser()
+ );
+ newMandatoryColumn("STRATE",
+ Transect.PROPERTY_STRATE + "."
+ + Strate.PROPERTY_STRATE_TYPE,
+ new StrateTypeValueParser()
+ );
+ newMandatoryColumn("Passage",
+ Transect.PROPERTY_NB_TIMES,
+ new DoubleToIntegerValueParser()
+ );
+ newIgnoredColumn("Shape_Leng");
}
@Override
@@ -72,48 +101,4 @@
return result;
}
- @Override
- public Iterable<ImportableColumn<Transect, Object>> getColumnsForImport() {
- ModelBuilder builder = new ModelBuilder();
- builder.newMandatoryColumn("Length",
- Transect.PROPERTY_LENGTH,
- Common.DOUBLE_PRIMITIVE
- );
- builder.newMandatoryColumn("TR_ID",
- Transect.PROPERTY_NAME)
- ;
- builder.newMandatoryColumn("Xstart",
- Transect.PROPERTY_START_X,
- Common.DOUBLE_PRIMITIVE
- );
- builder.newMandatoryColumn("Ystart",
- Transect.PROPERTY_START_Y,
- Common.DOUBLE_PRIMITIVE
- );
- builder.newMandatoryColumn("Xend",
- Transect.PROPERTY_END_X,
- Common.DOUBLE_PRIMITIVE
- );
- builder.newMandatoryColumn("Yend",
- Transect.PROPERTY_END_Y,
- Common.DOUBLE_PRIMITIVE
- );
- builder.newMandatoryColumn("SECTEUR",
- Transect.PROPERTY_STRATE + "."
- + Strate.PROPERTY_SECTOR + "."
- + Sector.PROPERTY_SECTOR_NUMBER,
- new DoubleToIntegerValueParser()
- );
- builder.newMandatoryColumn("STRATE",
- Transect.PROPERTY_STRATE + "."
- + Strate.PROPERTY_STRATE_TYPE,
- new StrateTypeValueParser()
- );
- builder.newMandatoryColumn("Passage",
- Transect.PROPERTY_NB_TIMES,
- new DoubleToIntegerValueParser()
- );
- builder.newIgnoredColumn("Shape_Leng");
- return builder.getColumnsForImport();
- }
}
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/map/ExportMapService.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/map/ExportMapService.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/map/ExportMapService.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -78,6 +78,7 @@
protected final DateFormat timeFormat = new SimpleDateFormat("HHmmss");
public int exportEffortsMap(ExportMapModel dataModel) {
+ Preconditions.checkNotNull(dataModel);
Preconditions.checkNotNull(dataModel.getCampaign());
Preconditions.checkNotNull(dataModel.getBeginDate());
Preconditions.checkNotNull(dataModel.getEndDate());
@@ -300,6 +301,7 @@
}
public int exportObservationsMap(ExportMapModel dataModel) {
+ Preconditions.checkNotNull(dataModel);
Preconditions.checkNotNull(dataModel.getCampaign());
Preconditions.checkNotNull(dataModel.getBeginDate());
Preconditions.checkNotNull(dataModel.getEndDate());
@@ -547,7 +549,7 @@
}
public int exportGeoPointsMap(ExportMapModel dataModel) {
-
+ Preconditions.checkNotNull(dataModel);
Preconditions.checkNotNull(dataModel.getCampaign());
Preconditions.checkNotNull(dataModel.getBeginDate());
Preconditions.checkNotNull(dataModel.getEndDate());
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationModel.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationModel.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationModel.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -23,13 +23,7 @@
* #L%
*/
-import com.google.common.collect.Iterables;
-import fr.ulr.sammoa.persistence.Campaign;
-import fr.ulr.sammoa.persistence.Flight;
-import org.nuiton.topia.persistence.TopiaId;
-
import java.io.File;
-import java.util.Set;
/**
* Model of sammoa export.
@@ -40,41 +34,37 @@
public class ExportApplicationModel {
public static ExportApplicationModel newModel(File exportDirectory,
- Campaign campaign,
- Set<Flight> flights,
+ String campaignId,
+ Iterable<String> flightIds,
ExportApplicationCallbackMode callback) {
ExportApplicationModel result = new ExportApplicationModel();
result.exportFile = exportDirectory;
- result.campaign = campaign;
- result.flights = flights;
+ result.campaignId = campaignId;
+ result.flightIds = flightIds;
result.callback = callback;
return result;
}
- protected Campaign campaign;
+ protected String campaignId;
- protected Set<Flight> flights;
+ protected Iterable<String> flightIds;
protected File exportFile;
protected ExportApplicationCallbackMode callback;
- public Campaign getCampaign() {
- return campaign;
+ public String getCampaignId() {
+ return campaignId;
}
- public Set<Flight> getFlights() {
- return flights;
+ public Iterable<String> getFlightIds() {
+ return flightIds;
}
public ExportApplicationCallbackMode getCallback() {
return callback;
}
- public Iterable<String> getFlightIds() {
- return Iterables.transform(getFlights(), TopiaId.GET_TOPIA_ID);
- }
-
public File getExportFile() {
return exportFile;
}
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationService.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationService.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationService.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -23,11 +23,17 @@
* #L%
*/
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Multimap;
+import fr.ulr.sammoa.application.FlightService;
import fr.ulr.sammoa.application.SammoaServiceSupport;
import fr.ulr.sammoa.application.SammoaTechnicalException;
import fr.ulr.sammoa.application.io.CampaignStorage;
import fr.ulr.sammoa.application.io.CampaignStorages;
-import fr.ulr.sammoa.persistence.Campaign;
+import fr.ulr.sammoa.persistence.Flight;
+import fr.ulr.sammoa.persistence.GeoPoint;
+import fr.ulr.sammoa.persistence.Observation;
+import fr.ulr.sammoa.persistence.Route;
import fr.ulr.sammoa.persistence.SammoaDAOHelper;
import fr.ulr.sammoa.persistence.SammoaDbMetas;
import fr.ulr.sammoa.persistence.SammoaEntityEnum;
@@ -35,11 +41,11 @@
import org.apache.commons.lang3.StringUtils;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.framework.TopiaQuery;
import org.nuiton.topia.persistence.TopiaDAO;
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.topia.persistence.csv.EntityCsvModel;
import org.nuiton.topia.persistence.csv.out.EntityAssociationExportModel;
+import org.nuiton.topia.persistence.csv.out.ExportEntityVisitor;
import org.nuiton.topia.persistence.csv.out.ExportModelFactory;
import org.nuiton.topia.persistence.csv.out.PrepareDataForExport;
import org.nuiton.topia.persistence.csv.out.TopiaCsvExports;
@@ -57,6 +63,7 @@
import java.io.File;
import java.io.IOException;
import java.util.List;
+import java.util.Map;
/**
* To export application as a {@code sammoa} file.
@@ -74,6 +81,11 @@
new TimeLog(ExportApplicationService.class);
public void exportApplication(ExportApplicationModel model) throws IOException {
+ Preconditions.checkNotNull(model);
+ Preconditions.checkNotNull(model.getExportFile());
+ Preconditions.checkNotNull(model.getCampaignId());
+ Preconditions.checkNotNull(model.getCallback());
+ Preconditions.checkNotNull(model.getFlightIds());
if (logger.isInfoEnabled()) {
logger.info("Start Application export to {}",
@@ -82,10 +94,8 @@
long startTime = TimeLog.getTime();
- Campaign campaign = model.getCampaign();
+ String campaignId = model.getCampaignId();
- String campaignId = campaign.getTopiaId();
-
CampaignStorage storage = CampaignStorages.getStorage(config, campaignId);
File targetDirectory = new File(config.getTmpDirectory(),
@@ -109,9 +119,8 @@
TopiaContext tx = beginTransaction();
try {
-
exportReferential(tx, csvDirectory);
- exportData(tx, csvDirectory, campaignId, flightIds);
+ exportData(tx, csvDirectory, flightIds);
} finally {
endTransaction(tx);
}
@@ -177,15 +186,65 @@
}
- protected void exportData(TopiaContext tx, File csvDirectory,
- String campaignId,
- Iterable<String> flightIds) {
+ protected void exportData(TopiaContext tx,
+ File csvDirectory,
+ Iterable<String> flightIds) throws IOException {
+
+
+ DbMeta<SammoaEntityEnum> dbMetas = persistence.getDbMetas();
+
+ MetaFilenameAware<SammoaEntityEnum>[] dataEntries = SammoaDbMetas.getDataEntries(dbMetas);
+ Multimap<SammoaEntityEnum, MetaFilenameAware<SammoaEntityEnum>> associationsEntries = SammoaDbMetas.getDataAssociationsEntries(dbMetas);
+
+ Map<SammoaEntityEnum, TopiaCsvExports.EntityExportContext<SammoaEntityEnum>> exportContexts =
+ TopiaCsvExports.createReplicateEntityVisitorContexts(
+ defaultExportModelFactory,
+ dataEntries,
+ associationsEntries,
+ csvDirectory);
+
+ ExportEntityVisitor<SammoaEntityEnum> exportVisitor =
+ new ExportEntityVisitor<SammoaEntityEnum>(dbMetas.getEntityEnumProvider(), exportContexts);
+
+ FlightService flightService = newService(FlightService.class);
+
+ try {
+ for (String flightId : flightIds) {
+
+ Flight flight = flightService.getFlight(tx, flightId);
+
+ exportVisitor.export(flight);
+
+ List<GeoPoint> geoPoints =
+ flightService.getFlightGeoPoints(tx, flight);
+
+ for (GeoPoint geoPoint : geoPoints) {
+ exportVisitor.export(geoPoint);
+ }
+
+ List<Route> routes = flightService.getRoutes(tx, flight);
+
+ for (Route route : routes) {
+ exportVisitor.export(route);
+ }
+
+ List<Observation> observations =
+ flightService.getObservations(tx, flight);
+
+ for (Observation observation : observations) {
+ exportVisitor.export(observation);
+ }
+
+ }
+ } finally {
+ exportVisitor.close();
+ }
}
protected void removeFlightData(ExportApplicationModel model) {
if (logger.isInfoEnabled()) {
logger.info("Will remove flight data for campaign {}",
- model.getCampaign().getCode());
+ model.getCampaignId());
}
}
@@ -282,13 +341,13 @@
// first query to count datas
- TopiaQuery query = dao.createQuery("e");
+ String hql = "FROM " + entityEnum.getImplementationFQN();
if (StringUtils.isNotEmpty(extraWhereQuery)) {
- query.addWhere(extraWhereQuery);
+ hql += " WHERE " + extraWhereQuery;
}
- result = dao.findAllByQuery(query);
+ result = dao.getContext().findAll(hql);
return result;
} catch (TopiaException eee) {
throw new SammoaTechnicalException("Could not obtain data", eee);
Modified: trunk/sammoa-application/src/test/java/fr/ulr/sammoa/application/FlightServiceTest.java
===================================================================
--- trunk/sammoa-application/src/test/java/fr/ulr/sammoa/application/FlightServiceTest.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-application/src/test/java/fr/ulr/sammoa/application/FlightServiceTest.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -58,8 +58,9 @@
new SammoaConfig("sammoa-test.properties");
@Rule
- public SammoaDatabase database = new SammoaDatabase("/" +
- config.getApplicationConfig().getConfigFileName(), config.getAutoCommitDelay());
+ public SammoaDatabase database = new SammoaDatabase(
+ "/" + config.getApplicationConfig().getConfigFileName(),
+ config.getAutoCommitDelay());
@Test
public void testCreateFlight() throws Exception {
Modified: trunk/sammoa-application/src/test/java/fr/ulr/sammoa/application/io/input/csv/ImportCsvServiceTest.java
===================================================================
--- trunk/sammoa-application/src/test/java/fr/ulr/sammoa/application/io/input/csv/ImportCsvServiceTest.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-application/src/test/java/fr/ulr/sammoa/application/io/input/csv/ImportCsvServiceTest.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -25,7 +25,6 @@
import fr.ulr.sammoa.application.SammoaConfig;
import fr.ulr.sammoa.application.SammoaContext;
-import fr.ulr.sammoa.application.io.input.csv.ImportCsvService;
import fr.ulr.sammoa.persistence.Campaign;
import fr.ulr.sammoa.persistence.Observer;
import fr.ulr.sammoa.persistence.ObserverDAO;
Modified: trunk/sammoa-application/src/test/java/fr/ulr/sammoa/application/output/map/ExportMapServiceTest.java
===================================================================
--- trunk/sammoa-application/src/test/java/fr/ulr/sammoa/application/output/map/ExportMapServiceTest.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-application/src/test/java/fr/ulr/sammoa/application/output/map/ExportMapServiceTest.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -92,7 +92,8 @@
@Test
public void testExportGeoPointsMap() throws Exception {
- SammoaContext context = new SammoaContext(config, database.getPersistence());
+ SammoaContext context = new SammoaContext(config,
+ database.getPersistence());
Campaign campaign = database.createCampaign("PACOMM", "FRANCE");
campaign.setBeginDate(DateUtil.createDate(1, 1, 2012));
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUIHandler.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUIHandler.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUIHandler.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -222,8 +222,11 @@
startTime = timeLog.log(startTime, "beforeInitUI", "entities are loaded");
- flightController = new FlightControllerDefault(context.getAppContext(), flight);
+ context.newService(FlightControllerDefault.class);
+// flightController = new FlightControllerDefault(context.getAppContext(), flight);
+ flightController = context.newService(FlightControllerDefault.class);
+
try {
flightController.openGpsDevice(context.getConfig().getGpsConfig());
} catch (DeviceTechnicalException ex) {
@@ -245,7 +248,7 @@
flightController.getGpsHandler().addDeviceStateListener(deviceStateListener);
flightController.getAudioRecorder().addDeviceStateListener(deviceStateListener);
- flightController.init();
+ flightController.init(flight);
FlightUIModel model = new FlightUIModel();
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/map/ExportMapUIHandler.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/map/ExportMapUIHandler.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/map/ExportMapUIHandler.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -273,10 +273,8 @@
@Override
public void actionPerformed(ActionEvent e) {
JButton source = (JButton) e.getSource();
- ExportMapLauncherUI fileChooserUI = SwingUtil.getParentContainer(
- source, ExportMapLauncherUI.class);
- SammoaUtil.updateBusyState(fileChooserUI, true);
+
try {
ExportMapUIModel model = ui.getModel();
@@ -291,6 +289,11 @@
if (doExport) {
+ ExportMapLauncherUI fileChooserUI = SwingUtil.getParentContainer(
+ source, ExportMapLauncherUI.class);
+
+ SammoaUtil.updateBusyState(fileChooserUI, true);
+
// launch export
int nbRow = exportService.exportEffortsMap(dataModel);
@@ -343,11 +346,9 @@
public void actionPerformed(ActionEvent e) {
JButton source = (JButton) e.getSource();
- ExportMapLauncherUI fileChooserUI = SwingUtil.getParentContainer(
- source, ExportMapLauncherUI.class);
try {
- SammoaUtil.updateBusyState(fileChooserUI, true);
+
ExportMapUIModel model = ui.getModel();
// persist the file name
@@ -360,6 +361,12 @@
boolean doExport = checkFileToExport(dataModel);
if (doExport) {
+
+ ExportMapLauncherUI fileChooserUI = SwingUtil.getParentContainer(
+ source, ExportMapLauncherUI.class);
+
+ SammoaUtil.updateBusyState(fileChooserUI, true);
+
// launch export
int nbRow = exportService.exportObservationsMap(dataModel);
@@ -400,9 +407,6 @@
JButton source = (JButton) e.getSource();
- ExportMapLauncherUI fileChooserUI = SwingUtil.getParentContainer(
- source, ExportMapLauncherUI.class);
- SammoaUtil.updateBusyState(fileChooserUI, true);
try {
ExportMapUIModel model = getModel();
@@ -416,7 +420,14 @@
boolean doExport = checkFileToExport(dataModel);
- if (doExport) {// launch export
+ if (doExport) {
+
+ ExportMapLauncherUI fileChooserUI = SwingUtil.getParentContainer(
+ source, ExportMapLauncherUI.class);
+
+ SammoaUtil.updateBusyState(fileChooserUI, true);
+
+ // launch export
int nbRow = exportService.exportGeoPointsMap(dataModel);
SammoaUtil.showSuccessMessage(
@@ -452,9 +463,9 @@
Action startAction) {
model.setExportFilename(defaultFilename);
- final ExportMapLauncherUI ui = new ExportMapLauncherUI(this);
+ final ExportMapLauncherUI exportUI = new ExportMapLauncherUI(this);
- JFrame frame = this.ui.getParentContainer(JFrame.class);
+ JFrame frame = ui.getParentContainer(JFrame.class);
Action closeAction = new AbstractAction(
_("sammoa.action.cancelExport"),
SwingUtil.createActionIcon("cancel")) {
@@ -462,14 +473,14 @@
@Override
public void actionPerformed(ActionEvent e) {
- ui.getParentContainer(JDialog.class).setVisible(false);
+ exportUI.getParentContainer(JDialog.class).setVisible(false);
}
};
- ui.getStart().setAction(startAction);
- ui.getCancel().setAction(closeAction);
+ exportUI.getStart().setAction(startAction);
+ exportUI.getCancel().setAction(closeAction);
- SammoaUtil.openInDialog(ui,
+ SammoaUtil.openInDialog(exportUI,
frame,
effortTitle,
closeAction,
@@ -510,14 +521,7 @@
// set datas to list and init renderer
list.init((JXPathDecorator<E>) decorator, data);
-// // get the renderer initialized
-// ListCellRenderer renderer = list.getList().getCellRenderer();
-//
-// // add the specific renderer
-// list.getList().setCellRenderer(new ReferentielListCellRenderer(renderer));
-
list.putClientProperty("data", data);
}
-
}
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIHandler.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIHandler.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIHandler.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -185,7 +185,6 @@
public void exportApplication() {
JFrame frame = ui.getParentContainer(JFrame.class);
- SammoaUtil.updateBusyState(frame, true);
try {
ExportApplicationModel dataModel = getModel().toModel();
@@ -194,6 +193,8 @@
if (doExport) {
+ SammoaUtil.updateBusyState(frame.getRootPane(), true);
+
exportService.exportApplication(dataModel);
SammoaUtil.showSuccessMessage(
@@ -205,7 +206,7 @@
} catch (Exception e) {
ErrorDialogUI.showError(e);
} finally {
- SammoaUtil.updateBusyState(frame, false);
+ SammoaUtil.updateBusyState(frame.getRootPane(), false);
}
}
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIModel.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIModel.java 2012-08-18 12:33:57 UTC (rev 432)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIModel.java 2012-08-18 12:44:43 UTC (rev 433)
@@ -23,6 +23,7 @@
* #L%
*/
+import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import fr.ulr.sammoa.application.io.output.sammoa.ExportApplicationCallbackMode;
@@ -30,6 +31,7 @@
import fr.ulr.sammoa.persistence.Campaign;
import fr.ulr.sammoa.persistence.Flight;
import org.jdesktop.beans.AbstractSerializableBean;
+import org.nuiton.topia.persistence.TopiaId;
import java.io.File;
import java.util.List;
@@ -180,8 +182,8 @@
}
ExportApplicationModel result = ExportApplicationModel.newModel(
new File(getExportDirectory(), getExportFilename()),
- getSelectedCampaign(),
- flightsToExport,
+ getSelectedCampaign().getTopiaId(),
+ Iterables.transform(flightsToExport, TopiaId.GET_TOPIA_ID),
getCallback()
);
return result;
1
0
r432 - trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence
by tchemit@users.forge.codelutin.com 18 Aug '12
by tchemit@users.forge.codelutin.com 18 Aug '12
18 Aug '12
Author: tchemit
Date: 2012-08-18 14:33:57 +0200 (Sat, 18 Aug 2012)
New Revision: 432
Url: http://forge.codelutin.com/repositories/revision/sammoa/432
Log:
improve dao codes (using new dao methods from ToPIA) + review return local variables scopes :(
Modified:
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/FlightDAOImpl.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/GeoPointDAOImpl.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/ObservationDAOImpl.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/RouteDAOImpl.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/StrateDAOImpl.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/TransectDAOImpl.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/TransectFlightDAOImpl.java
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/FlightDAOImpl.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/FlightDAOImpl.java 2012-08-18 10:36:59 UTC (rev 431)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/FlightDAOImpl.java 2012-08-18 12:33:57 UTC (rev 432)
@@ -33,31 +33,29 @@
* @author fdesbois <desbois(a)codelutin.com>
*/
public class FlightDAOImpl<E extends Flight> extends FlightDAOAbstract<E> {
-
- public int getLastFlightNumber(int defaultValue) {
- int result;
+ public int findLastFlightNumber(int defaultValue) {
+
String ql = String.format("SELECT max(%1$s) FROM %2$s",
- Flight.PROPERTY_FLIGHT_NUMBER,
- FlightImpl.class.getSimpleName()
+ Flight.PROPERTY_FLIGHT_NUMBER,
+ FlightImpl.class.getSimpleName()
);
try {
- Integer queryResult = (Integer) context.findUnique(ql);
+ Integer queryResult = findUniqueByQuery(Integer.class, ql);
- result = queryResult == null ? defaultValue : queryResult + 1;
+ int result = queryResult == null ? defaultValue : queryResult + 1;
if (result < defaultValue) {
result = defaultValue;
}
-
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
}
- return result;
}
-
+
// public List<Flight> findAllByCampaignOrderedByBeginDateDesc(Campaign campaign) {
//
// List<Flight> result;
@@ -76,5 +74,5 @@
// }
// return result;
// }
-
+
}
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/GeoPointDAOImpl.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/GeoPointDAOImpl.java 2012-08-18 10:36:59 UTC (rev 431)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/GeoPointDAOImpl.java 2012-08-18 12:33:57 UTC (rev 432)
@@ -2,8 +2,8 @@
/*
* #%L
* SAMMOA :: Persistence
- * $Id:$
- * $HeadURL:$
+ * $Id$
+ * $HeadURL$
* %%
* Copyright (C) 2012 UMS 3462, Code Lutin
* %%
@@ -30,23 +30,20 @@
public class GeoPointDAOImpl<E extends GeoPoint> extends GeoPointDAOAbstract<E> {
- public List<GeoPoint> findAllByFlightOrderedByRecordTime(Flight flight) {
+ public List<E> findAllByFlightOrderedByRecordTime(Flight flight) {
- List<GeoPoint> result;
-
String ql = String.format("FROM %1$s WHERE %2$s = :flight ORDER BY %3$s",
- GeoPointImpl.class.getSimpleName(),
- GeoPoint.PROPERTY_FLIGHT,
- GeoPoint.PROPERTY_RECORD_TIME
+ GeoPointImpl.class.getSimpleName(),
+ GeoPoint.PROPERTY_FLIGHT,
+ GeoPoint.PROPERTY_RECORD_TIME
);
try {
- result = context.findAll(ql, "flight", flight);
-
+ List<E> result = findAllByQuery(ql, "flight", flight);
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
}
- return result;
}
} //GeoPointDAOImpl<E extends GeoPoint>
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/ObservationDAOImpl.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/ObservationDAOImpl.java 2012-08-18 10:36:59 UTC (rev 431)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/ObservationDAOImpl.java 2012-08-18 12:33:57 UTC (rev 432)
@@ -78,9 +78,8 @@
return super.update(e);
}
- public List<Observation> findAllByFlightOrderedByObservationTime(Flight flight) {
+ public List<E> findAllByFlightOrderedByObservationTime(Flight flight) {
- List<Observation> result;
String ql = String.format("FROM %1$s WHERE %2$s = :flight ORDER BY %3$s",
ObservationImpl.class.getSimpleName(),
@@ -89,19 +88,15 @@
);
try {
- result = context.findAll(ql, "flight", flight);
-
+ List<E> result = findAllByQuery(ql, "flight", flight);
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
}
- return result;
-
}
- public int getLastObservationNumber(Flight flight) {
+ public int findLastObservationNumber(Flight flight) {
- int result;
-
String ql = String.format("SELECT max(%1$s) FROM %2$s WHERE %3$s = :flight",
Observation.PROPERTY_OBSERVATION_NUMBER,
ObservationImpl.class.getSimpleName(),
@@ -109,14 +104,12 @@
);
try {
- Integer queryResult = (Integer) context.findUnique(ql, "flight", flight);
-
- result = queryResult == null ? 1 : queryResult + 1;
-
+ Integer queryResult = findUniqueByQuery(Integer.class, ql, "flight", flight);
+ int result = queryResult == null ? 1 : queryResult + 1;
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
}
- return result;
}
} //ObservationDAOImpl<E extends Observation>
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/RouteDAOImpl.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/RouteDAOImpl.java 2012-08-18 10:36:59 UTC (rev 431)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/RouteDAOImpl.java 2012-08-18 12:33:57 UTC (rev 432)
@@ -34,10 +34,8 @@
* @author fdesbois <desbois(a)codelutin.com>
*/
public class RouteDAOImpl<E extends Route> extends RouteDAOAbstract<E> {
-
- public List<Route> findAllByFlightOrderedByBeginTime(Flight flight) {
- List<Route> result;
+ public List<E> findAllByFlightOrderedByBeginTime(Flight flight) {
String ql = String.format("FROM %1$s WHERE %2$s = :flight ORDER BY %3$s",
RouteImpl.class.getSimpleName(),
@@ -46,17 +44,14 @@
);
try {
- result = context.findAll(ql, "flight", flight);
-
+ List<E> result = findAllByQuery(ql, "flight", flight);
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
}
- return result;
}
-
- public Route findLastByFlight(Flight flight) {
- Route result;
+ public E findLastByFlight(Flight flight) {
String ql = String.format("FROM %1$s WHERE %2$s = :flight ORDER BY %3$s DESC",
RouteImpl.class.getSimpleName(),
@@ -65,19 +60,16 @@
);
try {
- List<Route> queryResults = context.find(ql, 0, 1, "flight", flight);
-
- result = queryResults.isEmpty() ? null : queryResults.get(0);
-
+ List<E> queryResults = findAllByQueryWithBound(
+ ql, 0, 1, "flight", flight);
+ E result = queryResults.isEmpty() ? null : queryResults.get(0);
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
}
- return result;
}
-
- public Route findLastByFlightAndType(Flight flight, RouteType type) {
- Route result;
+ public E findLastByFlightAndType(Flight flight, RouteType type) {
String ql = String.format("FROM %1$s WHERE %2$s = :flight AND %3$s = :type ORDER BY %4$s DESC",
RouteImpl.class.getSimpleName(),
@@ -87,35 +79,31 @@
);
try {
- List<Route> queryResults = context.find(ql, 0, 1, "flight", flight, "type", type);
-
- result = queryResults.isEmpty() ? null : queryResults.get(0);
-
+ List<E> queryResults = findAllByQueryWithBound(
+ ql, 0, 1, "flight", flight, "type", type);
+ E result = queryResults.isEmpty() ? null : queryResults.get(0);
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
}
- return result;
}
public int getLastEffortNumber(Flight flight) {
- int result;
-
String ql = String.format("SELECT max(%1$s) FROM %2$s WHERE %1$s IS NOT NULL AND %3$s = :flight",
- Route.PROPERTY_EFFORT_NUMBER,
- RouteImpl.class.getSimpleName(),
- Route.PROPERTY_FLIGHT
+ Route.PROPERTY_EFFORT_NUMBER,
+ RouteImpl.class.getSimpleName(),
+ Route.PROPERTY_FLIGHT
);
try {
- Integer queryResult = (Integer) context.findUnique(ql, "flight", flight);
-
- result = queryResult == null ? 1 : queryResult + 1;
-
+ Integer queryResult = findUniqueByQuery(
+ Integer.class, ql, "flight", flight);
+ int result = queryResult == null ? 1 : queryResult + 1;
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
}
- return result;
}
-
+
}
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/StrateDAOImpl.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/StrateDAOImpl.java 2012-08-18 10:36:59 UTC (rev 431)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/StrateDAOImpl.java 2012-08-18 12:33:57 UTC (rev 432)
@@ -30,9 +30,8 @@
public class StrateDAOImpl<E extends Strate> extends StrateDAOAbstract<E> {
- public List<Strate> findAllByCampaignOrderedByCode(Campaign campaign) {
+ public List<E> findAllByCampaignOrderedByCode(Campaign campaign) {
- List<Strate> result;
String ql = String.format("FROM %1$s WHERE %2$s.%3$s = :campaign ORDER BY %4$s",
StrateImpl.class.getSimpleName(),
@@ -42,11 +41,10 @@
);
try {
- result = context.findAll(ql, "campaign", campaign);
-
+ List<E> result = findAllByQuery(ql, "campaign", campaign);
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
}
- return result;
}
} //StrateDAOImpl<E extends Strate>
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/TransectDAOImpl.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/TransectDAOImpl.java 2012-08-18 10:36:59 UTC (rev 431)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/TransectDAOImpl.java 2012-08-18 12:33:57 UTC (rev 432)
@@ -29,10 +29,8 @@
import java.util.List;
public class TransectDAOImpl<E extends Transect> extends TransectDAOAbstract<E> {
-
- public List<Transect> findAllByCampaignOrderedByName(Campaign campaign) {
- List<Transect> result;
+ public List<E> findAllByCampaignOrderedByName(Campaign campaign) {
String ql = String.format("FROM %1$s WHERE %2$s.%3$s.%4$s = :campaign ORDER BY %5$s",
TransectImpl.class.getSimpleName(),
@@ -43,12 +41,11 @@
);
try {
- result = context.findAll(ql, "campaign", campaign);
-
+ List<E> result = findAllByQuery(ql, "campaign", campaign);
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
}
- return result;
}
-
+
} //TransectDAOImpl<E extends Transect>
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/TransectFlightDAOImpl.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/TransectFlightDAOImpl.java 2012-08-18 10:36:59 UTC (rev 431)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/TransectFlightDAOImpl.java 2012-08-18 12:33:57 UTC (rev 432)
@@ -32,51 +32,49 @@
import java.util.Map;
public class TransectFlightDAOImpl<E extends TransectFlight> extends TransectFlightDAOAbstract<E> {
-
+
public Map<Transect, Long> countAllByTransect() {
- Map<Transect, Long> result = Maps.newHashMap();
+ String ql = String.format(
+ "SELECT %2$s, count(*) FROM %1$s GROUP BY %2$s",
+ TransectFlightImpl.class.getSimpleName(),
+ TransectFlight.PROPERTY_TRANSECT);
- String ql = String.format("SELECT %2$s, count(*) FROM %1$s GROUP BY %2$s",
- TransectFlightImpl.class.getSimpleName(),
- TransectFlight.PROPERTY_TRANSECT
- );
-
try {
- List<Object[]> queryResults = (List<Object[]>) context.findAll(ql);
+ List<Object[]> queryResults = findAllByQuery(Object[].class, ql);
+ Map<Transect, Long> result = Maps.newHashMap();
for (Object[] row : queryResults) {
Transect transect = (Transect) row[0];
Long nbTransectFlights = (Long) row[1];
result.put(transect, nbTransectFlights);
}
-
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
}
- return result;
}
public Map<Transect, Long> countAllByTransects(Collection<Transect> transects) {
- Map<Transect, Long> result = Maps.newHashMap();
- String ql = String.format("SELECT %2$s, count(*) FROM %1$s WHERE %2$s IN (:transects) GROUP BY %2$s",
- TransectFlightImpl.class.getSimpleName(),
- TransectFlight.PROPERTY_TRANSECT
- );
+ String ql = String.format(
+ "SELECT %2$s, count(*) FROM %1$s WHERE %2$s IN (:transects) GROUP BY %2$s",
+ TransectFlightImpl.class.getSimpleName(),
+ TransectFlight.PROPERTY_TRANSECT);
try {
- List<Object[]> queryResults = (List<Object[]>) context.findAll(ql, "transects", transects);
+ List<Object[]> queryResults = findAllByQuery(
+ Object[].class, ql, "transects", transects);
+ Map<Transect, Long> result = Maps.newHashMap();
for (Object[] row : queryResults) {
Transect transect = (Transect) row[0];
Long nbTransectFlights = (Long) row[1];
result.put(transect, nbTransectFlights);
}
-
+ return result;
} catch (TopiaException e) {
throw new TopiaRuntimeException(e);
}
- return result;
}
// public Long countByTransect(Transect transect) {
@@ -96,5 +94,5 @@
// }
// return result;
// }
-
+
} //TransectFlightDAOImpl<E extends TransectFlight>
1
0
r431 - trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence
by tchemit@users.forge.codelutin.com 18 Aug '12
by tchemit@users.forge.codelutin.com 18 Aug '12
18 Aug '12
Author: tchemit
Date: 2012-08-18 12:36:59 +0200 (Sat, 18 Aug 2012)
New Revision: 431
Url: http://forge.codelutin.com/repositories/revision/sammoa/431
Log:
was not a good idea to deprecate default constructor on entity : entity = bean = default constructor + improve some code
Modified:
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/CampaignImpl.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/FlightImpl.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/GeoPointImpl.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/ObserverImpl.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/RegionImpl.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SammoaDbMetas.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SectorImpl.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SpeciesImpl.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/StrateImpl.java
trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/TransectImpl.java
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/CampaignImpl.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/CampaignImpl.java 2012-08-18 08:08:55 UTC (rev 430)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/CampaignImpl.java 2012-08-18 10:36:59 UTC (rev 431)
@@ -2,8 +2,8 @@
/*
* #%L
* SAMMOA :: Persistence
- * $Id:$
- * $HeadURL:$
+ * $Id$
+ * $HeadURL$
* %%
* Copyright (C) 2012 UMS 3462, Code Lutin
* %%
@@ -29,19 +29,15 @@
private static final long serialVersionUID = 1L;
- /**
- * @deprecated Avoid using this default constructor, prefer use {@link #CampaignImpl(String, Region)}
- */
- @Deprecated
public CampaignImpl() {
// default constructor
}
-
+
public CampaignImpl(String code, Region region) {
Preconditions.checkNotNull(code);
Preconditions.checkNotNull(region);
this.code = code;
this.region = region;
}
-
+
} //CampaignImpl
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/FlightImpl.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/FlightImpl.java 2012-08-18 08:08:55 UTC (rev 430)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/FlightImpl.java 2012-08-18 10:36:59 UTC (rev 431)
@@ -52,12 +52,14 @@
@Override
public TransectFlight getTransectFlightByTransect(Transect transect) {
+ TransectFlight result = null;
for (TransectFlight element : getTransectFlight()) {
if (transect.equals(element.getTransect())) {
- return element;
+ result = element;
+ break;
}
}
- return null;
+ return result;
}
@Override
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/GeoPointImpl.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/GeoPointImpl.java 2012-08-18 08:08:55 UTC (rev 430)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/GeoPointImpl.java 2012-08-18 10:36:59 UTC (rev 431)
@@ -36,6 +36,7 @@
private static final long serialVersionUID = 1L;
public GeoPointImpl() {
+ // default constructor
}
public GeoPointImpl(double latitude, double longitude) {
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/ObserverImpl.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/ObserverImpl.java 2012-08-18 08:08:55 UTC (rev 430)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/ObserverImpl.java 2012-08-18 10:36:59 UTC (rev 431)
@@ -2,8 +2,8 @@
/*
* #%L
* SAMMOA :: Persistence
- * $Id:$
- * $HeadURL:$
+ * $Id$
+ * $HeadURL$
* %%
* Copyright (C) 2012 UMS 3462, Code Lutin
* %%
@@ -28,15 +28,11 @@
public class ObserverImpl extends ObserverAbstract {
private static final long serialVersionUID = 1L;
-
- /**
- * @deprecated Avoid using this default constructor, prefer use {@link #ObserverImpl(String, Campaign)}
- */
- @Deprecated
+
public ObserverImpl() {
// default constructor
}
-
+
public ObserverImpl(String initials, Campaign campaign) {
Preconditions.checkNotNull(initials);
Preconditions.checkNotNull(campaign);
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/RegionImpl.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/RegionImpl.java 2012-08-18 08:08:55 UTC (rev 430)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/RegionImpl.java 2012-08-18 10:36:59 UTC (rev 431)
@@ -2,8 +2,8 @@
/*
* #%L
* SAMMOA :: Persistence
- * $Id:$
- * $HeadURL:$
+ * $Id$
+ * $HeadURL$
* %%
* Copyright (C) 2012 UMS 3462, Code Lutin
* %%
@@ -29,10 +29,6 @@
private static final long serialVersionUID = 1L;
- /**
- * @deprecated Avoid using this default constructor, prefer use {@link #RegionImpl(String)}
- */
- @Deprecated
public RegionImpl() {
// default constructor
}
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SammoaDbMetas.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SammoaDbMetas.java 2012-08-18 08:08:55 UTC (rev 430)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SammoaDbMetas.java 2012-08-18 10:36:59 UTC (rev 431)
@@ -21,9 +21,10 @@
new SammoaEntityEnum[0];
public static DbMeta<SammoaEntityEnum> newDbMetas() {
- return DbMeta.newDbMeta(SammoaEntityEnum.values(),
- EMPTY_ENTITY_TYPE_ARRAY,
- new SammoaTopiaEntityEnumProvider());
+ return DbMeta.newDbMeta(new SammoaTopiaEntityEnumProvider(),
+ SammoaEntityEnum.values(),
+ EMPTY_ENTITY_TYPE_ARRAY
+ );
}
/**
@@ -97,9 +98,7 @@
List<MetaFilenameAware<SammoaEntityEnum>> associations = Lists.newArrayList();
Metadatas.addEntries(dbMeta, null, associations, getDataTypes());
-
- Multimap<SammoaEntityEnum, MetaFilenameAware<SammoaEntityEnum>> associationsBySource = Metadatas.split(associations);
- return associationsBySource;
+ return Metadatas.split(associations);
}
/**
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SectorImpl.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SectorImpl.java 2012-08-18 08:08:55 UTC (rev 430)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SectorImpl.java 2012-08-18 10:36:59 UTC (rev 431)
@@ -2,8 +2,8 @@
/*
* #%L
* SAMMOA :: Persistence
- * $Id:$
- * $HeadURL:$
+ * $Id$
+ * $HeadURL$
* %%
* Copyright (C) 2012 UMS 3462, Code Lutin
* %%
@@ -29,10 +29,6 @@
private static final long serialVersionUID = 1L;
- /**
- * @deprecated Avoid using this default constructor, prefer use {@link #SectorImpl(int, Campaign)}
- */
- @Deprecated
public SectorImpl() {
// default constructor
}
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SpeciesImpl.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SpeciesImpl.java 2012-08-18 08:08:55 UTC (rev 430)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/SpeciesImpl.java 2012-08-18 10:36:59 UTC (rev 431)
@@ -2,8 +2,8 @@
/*
* #%L
* SAMMOA :: Persistence
- * $Id:$
- * $HeadURL:$
+ * $Id$
+ * $HeadURL$
* %%
* Copyright (C) 2012 UMS 3462, Code Lutin
* %%
@@ -29,10 +29,6 @@
private static final long serialVersionUID = 1L;
- /**
- * @deprecated Avoid using this default constructor, prefer use {@link #SpeciesImpl(String, Region)}
- */
- @Deprecated
public SpeciesImpl() {
// default constructor
}
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/StrateImpl.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/StrateImpl.java 2012-08-18 08:08:55 UTC (rev 430)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/StrateImpl.java 2012-08-18 10:36:59 UTC (rev 431)
@@ -2,8 +2,8 @@
/*
* #%L
* SAMMOA :: Persistence
- * $Id:$
- * $HeadURL:$
+ * $Id$
+ * $HeadURL$
* %%
* Copyright (C) 2012 UMS 3462, Code Lutin
* %%
@@ -29,10 +29,6 @@
private static final long serialVersionUID = 1L;
- /**
- * @deprecated Avoid using this default constructor, prefer use {@link #StrateImpl(StrateType, Sector)}
- */
- @Deprecated
public StrateImpl() {
// default constructor
}
Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/TransectImpl.java
===================================================================
--- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/TransectImpl.java 2012-08-18 08:08:55 UTC (rev 430)
+++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/TransectImpl.java 2012-08-18 10:36:59 UTC (rev 431)
@@ -2,8 +2,8 @@
/*
* #%L
* SAMMOA :: Persistence
- * $Id:$
- * $HeadURL:$
+ * $Id$
+ * $HeadURL$
* %%
* Copyright (C) 2012 UMS 3462, Code Lutin
* %%
@@ -29,10 +29,6 @@
private static final long serialVersionUID = 1L;
- /**
- * @deprecated Avoid using this default constructor, prefer use {@link #TransectImpl(String, Strate)}
- */
- @Deprecated
public TransectImpl() {
// default constructor
}
1
0