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
- 446 discussions
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
r430 - in trunk: sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/map 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/map 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 18 Aug '12
by tchemit@users.forge.codelutin.com 18 Aug '12
18 Aug '12
Author: tchemit
Date: 2012-08-18 10:08:55 +0200 (Sat, 18 Aug 2012)
New Revision: 430
Url: http://forge.codelutin.com/repositories/revision/sammoa/430
Log:
improve export (add success dialog message + ask confirmation when file to export already exist)
Modified:
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/map/ExportMapModel.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-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/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/io/output/map/ExportMapModel.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/map/ExportMapModel.java 2012-08-18 08:05:22 UTC (rev 429)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/map/ExportMapModel.java 2012-08-18 08:08:55 UTC (rev 430)
@@ -34,7 +34,7 @@
import java.util.List;
/**
- * Model of export map.
+ * Model of export map operation.
*
* @author tchemit <chemit(a)codelutin.com>
* @since 0.5
@@ -81,8 +81,8 @@
return exportDirectory;
}
- public String getExportFilename() {
- return exportFilename;
+ public File getExportFileWithoutExtension(String extension) {
+ return new File(getExportDirectory(), exportFilename + extension);
}
public Campaign getCampaign() {
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 08:05:22 UTC (rev 429)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/map/ExportMapService.java 2012-08-18 08:08:55 UTC (rev 430)
@@ -55,7 +55,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.File;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -78,19 +77,19 @@
protected final DateFormat timeFormat = new SimpleDateFormat("HHmmss");
- public void exportEffortsMap(ExportMapModel dataModel) {
+ public int exportEffortsMap(ExportMapModel dataModel) {
Preconditions.checkNotNull(dataModel.getCampaign());
Preconditions.checkNotNull(dataModel.getBeginDate());
Preconditions.checkNotNull(dataModel.getEndDate());
if (logger.isInfoEnabled()) {
- logger.info("Start EffortsMap export to {} :: {}",
- dataModel.getExportDirectory(),
- dataModel.getExportFilename());
+ logger.info("Start EffortsMap export to {}",
+ dataModel.getExportFileWithoutExtension(""));
}
long startTime = TimeLog.getTime();
+ int nbRow = 0;
// * uniquement pour un parcours de type LEG, sinon la cellule sera vide
// ** uniquement pour un parcours de type CIRCLE_BACK, sinon la cellule sera vide
@@ -175,7 +174,8 @@
List<Route> routes = flightService.getRoutes(tx, flight);
// get all geo points for this flight
- List<GeoPoint> geoPoints = flightService.getFlightGeoPoints(tx, flight);
+ List<GeoPoint> geoPoints =
+ flightService.getFlightGeoPoints(tx, flight);
// get best geo points for each route
Iterable<GeoPoint> routeGeoPoints =
@@ -225,6 +225,7 @@
record,
builder,
graphicList);
+ nbRow++;
}
// reset effort group
@@ -275,6 +276,7 @@
record,
builder,
graphicList);
+ nbRow++;
}
// keep current route as previousroute
@@ -289,24 +291,27 @@
flushExport(builder, dataModel, graphicList);
- timeLog.log(startTime, "exportEffortsMap", "after EsriShapeExport execution");
+ timeLog.log(startTime, "exportEffortsMap",
+ "after EsriShapeExport execution");
+ return nbRow;
} finally {
endTransaction(tx);
}
}
- public void exportObservationsMap(ExportMapModel dataModel) {
+ public int exportObservationsMap(ExportMapModel dataModel) {
Preconditions.checkNotNull(dataModel.getCampaign());
Preconditions.checkNotNull(dataModel.getBeginDate());
Preconditions.checkNotNull(dataModel.getEndDate());
if (logger.isInfoEnabled()) {
- logger.info("Start ObservationsMap export to {} :: {}",
- dataModel.getExportDirectory(),
- dataModel.getExportFilename());
+ logger.info("Start ObservationsMap export to {}",
+ dataModel.getExportFileWithoutExtension(""));
}
long startTime = TimeLog.getTime();
+ int nbRow = 0;
+
// * uniquement pour un parcours de type LEG, sinon la cellule sera vide
DbfTableModelBuilder builder = new DbfTableModelBuilder()
.stringColumn("REGION") // (campaign.region.code)
@@ -524,6 +529,7 @@
record,
builder,
graphicList);
+ nbRow++;
}
}
@@ -534,25 +540,27 @@
flushExport(builder, dataModel, graphicList);
timeLog.log(startTime, "exportObservationsMap", "after EsriShapeExport execution");
+ return nbRow;
} finally {
endTransaction(tx);
}
}
- public void exportGeoPointsMap(ExportMapModel dataModel) {
+ public int exportGeoPointsMap(ExportMapModel dataModel) {
Preconditions.checkNotNull(dataModel.getCampaign());
Preconditions.checkNotNull(dataModel.getBeginDate());
Preconditions.checkNotNull(dataModel.getEndDate());
if (logger.isInfoEnabled()) {
- logger.info("Start GeoPointsMap export to {} :: {}",
- dataModel.getExportDirectory(),
- dataModel.getExportFilename());
+ logger.info("Start GeoPointsMap export to {}",
+ dataModel.getExportFileWithoutExtension(""));
}
long startTime = TimeLog.getTime();
+ int nbRow = 0;
+
DbfTableModelBuilder builder = new DbfTableModelBuilder()
.stringColumn("REGION")
.stringColumn("CAMPAIGN")
@@ -610,6 +618,7 @@
record,
builder,
graphicList);
+ nbRow++;
}
}
@@ -620,6 +629,7 @@
timeLog.log(startTime, "exportGeoPointsMap",
"after EsriShapeExport execution");
+ return nbRow;
}
protected void flushExport(DbfTableModelBuilder builder,
@@ -627,12 +637,13 @@
EsriGraphicList graphicList) {
DbfTableModel tableModel = builder.getModel();
- String pathFile = new File(dataModel.getExportDirectory(),
- dataModel.getExportFilename()).getAbsolutePath();
+ String pathFile = dataModel.getExportFileWithoutExtension("").getAbsolutePath();
EsriShapeExport shapeExport = new EsriShapeExport(graphicList, tableModel, pathFile);
shapeExport.export();
}
+
+
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-18 08:05:22 UTC (rev 429)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/io/output/sammoa/ExportApplicationService.java 2012-08-18 08:08:55 UTC (rev 430)
@@ -31,7 +31,6 @@
import fr.ulr.sammoa.persistence.SammoaDAOHelper;
import fr.ulr.sammoa.persistence.SammoaDbMetas;
import fr.ulr.sammoa.persistence.SammoaEntityEnum;
-import fr.ulr.sammoa.persistence.SammoaPersistence;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.nuiton.topia.TopiaContext;
@@ -107,14 +106,14 @@
File csvDirectory = targetStorage.getCsvDirectory();
- TopiaContext tx = persistence.beginTransaction();
+ TopiaContext tx = beginTransaction();
try {
exportReferential(tx, csvDirectory);
exportData(tx, csvDirectory, campaignId, flightIds);
} finally {
- persistence.endTransaction(tx);
+ endTransaction(tx);
}
compressZipFile(model.getExportFile(),
@@ -138,15 +137,15 @@
}
TIME_LOG.log(startTime, "exportApplication", "after Callback execution");
-
}
protected void exportReferential(TopiaContext tx, File csvDirectory) {
+ DbMeta<SammoaEntityEnum> dbMetas = persistence.getDbMetas();
+
SammoaEntityEnumPrepareDataForExport prepareDataForExport =
- new SammoaEntityEnumPrepareDataForExport(persistence, tx);
+ new SammoaEntityEnumPrepareDataForExport(dbMetas, tx);
- DbMeta<SammoaEntityEnum> dbMetas = persistence.getDbMetas();
MetaFilenameAware<SammoaEntityEnum>[] referencialEntries =
SammoaDbMetas.getReferencialEntries(dbMetas);
@@ -232,12 +231,10 @@
}
};
- public static void compressZipFile(File zipFile, File directory) throws IOException {
- compressZipFile(zipFile, directory, true);
- }
+ protected void compressZipFile(File zipFile,
+ File directory,
+ boolean delete) throws IOException {
- public static void compressZipFile(File zipFile, File directory, boolean delete) throws IOException {
-
FileUtils.forceMkdir(zipFile.getParentFile());
try {
@@ -249,15 +246,15 @@
}
}
- protected class SammoaEntityEnumPrepareDataForExport implements PrepareDataForExport<SammoaEntityEnum> {
+ protected static class SammoaEntityEnumPrepareDataForExport implements PrepareDataForExport<SammoaEntityEnum> {
- protected final SammoaPersistence persistence;
+ protected final DbMeta<SammoaEntityEnum> dbMetas;
protected final TopiaContext tx;
- public SammoaEntityEnumPrepareDataForExport(SammoaPersistence persistence, TopiaContext tx) {
+ public SammoaEntityEnumPrepareDataForExport(DbMeta<SammoaEntityEnum> dbMetas, TopiaContext tx) {
- this.persistence = persistence;
+ this.dbMetas = dbMetas;
this.tx = tx;
}
@@ -269,7 +266,7 @@
@Override
public <E extends TopiaEntity> List<E> prepareData(AssociationMeta<SammoaEntityEnum> associationMeta) {
- TableMeta<SammoaEntityEnum> tableMeta = persistence.getDbMetas().getTable(associationMeta.getSource());
+ TableMeta<SammoaEntityEnum> tableMeta = dbMetas.getTable(associationMeta.getSource());
return getEntities(tx, tableMeta, "size(e." + associationMeta.getName() + ") > 0");
}
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 08:05:22 UTC (rev 429)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/map/ExportMapUIHandler.java 2012-08-18 08:08:55 UTC (rev 430)
@@ -42,6 +42,7 @@
import fr.ulr.sammoa.ui.swing.SammoaUIHandler;
import fr.ulr.sammoa.ui.swing.util.SammoaUtil;
import jaxx.runtime.SwingUtil;
+import jaxx.runtime.swing.ErrorDialogUI;
import jaxx.runtime.swing.OneClicListSelectionModel;
import jaxx.runtime.swing.editor.bean.BeanListHeader;
import org.nuiton.util.FileUtil;
@@ -286,9 +287,21 @@
ExportMapModel dataModel =
model.toModel(model.getExportEffortsFilename());
- // launch export
- exportService.exportEffortsMap(dataModel);
+ boolean doExport = checkFileToExport(dataModel);
+ if (doExport) {
+
+ // launch export
+ int nbRow = exportService.exportEffortsMap(dataModel);
+
+ SammoaUtil.showSuccessMessage(
+ fileChooserUI,
+ _("sammoa.messageDialog.map.export.success",
+ nbRow, dataModel.getExportDirectory()));
+ }
+
+ } catch (Exception eee) {
+ ErrorDialogUI.showError(eee);
} finally {
SwingUtil.getParentContainer(
@@ -304,6 +317,20 @@
startAction);
}
+ private boolean checkFileToExport(ExportMapModel dataModel) {
+ boolean doExport = true;
+ File dbf = dataModel.getExportFileWithoutExtension(".dbf");
+ File shp = dataModel.getExportFileWithoutExtension(".shp");
+ if (dbf.exists() ||
+ shp.exists()) {
+ doExport = SammoaUtil.askQuestion(
+ ui,
+ _("sammoa.messageDialog.mapOrDbf.exportFile.alreadyExists",
+ dbf, shp));
+ }
+ return doExport;
+ }
+
public void exportObservations() {
Action startAction = new AbstractAction(
@@ -330,9 +357,20 @@
ExportMapModel dataModel =
model.toModel(model.getExportObservationsFilename());
- // launch export
- exportService.exportObservationsMap(dataModel);
+ boolean doExport = checkFileToExport(dataModel);
+ if (doExport) {
+ // launch export
+ int nbRow = exportService.exportObservationsMap(dataModel);
+
+ SammoaUtil.showSuccessMessage(
+ fileChooserUI,
+ _("sammoa.messageDialog.map.export.success",
+ nbRow, dataModel.getExportDirectory()));
+ }
+
+ } catch (Exception eee) {
+ ErrorDialogUI.showError(eee);
} finally {
SwingUtil.getParentContainer(
@@ -376,9 +414,19 @@
ExportMapModel dataModel =
model.toModel(model.getExportGeoPointsFilename());
- // launch export
- exportService.exportGeoPointsMap(dataModel);
+ boolean doExport = checkFileToExport(dataModel);
+ if (doExport) {// launch export
+ int nbRow = exportService.exportGeoPointsMap(dataModel);
+
+ SammoaUtil.showSuccessMessage(
+ fileChooserUI,
+ _("sammoa.messageDialog.map.export.success",
+ nbRow, dataModel.getExportDirectory()));
+ }
+
+ } catch (Exception eee) {
+ ErrorDialogUI.showError(eee);
} finally {
SwingUtil.getParentContainer(
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-18 08:05:22 UTC (rev 429)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUI.css 2012-08-18 08:08:55 UTC (rev 430)
@@ -44,6 +44,7 @@
#exportButton {
text:"sammoa.action.exportApplication";
+ enabled:{model.isValid()};
}
#exportDirectoryFileChooseAction {
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 08:05:22 UTC (rev 429)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIHandler.java 2012-08-18 08:08:55 UTC (rev 430)
@@ -47,7 +47,6 @@
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.File;
-import java.io.IOException;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
@@ -132,16 +131,24 @@
@Override
public void propertyChange(PropertyChangeEvent evt) {
- if (ExportApplicationUIModel.PROPERTY_SELECTED_CAMPAIGN.equals(evt.getPropertyName())) {
+ String propertyName = evt.getPropertyName();
+
+ if (ExportApplicationUIModel.PROPERTY_SELECTED_CAMPAIGN.equals(propertyName)) {
Campaign newValue = (Campaign) evt.getNewValue();
onSelectedCampaignChanged(newValue);
- } else if (ExportApplicationUIModel.PROPERTY_FLIGHTS.equals(evt.getPropertyName())) {
+ } else if (ExportApplicationUIModel.PROPERTY_FLIGHTS.equals(propertyName)) {
Collection<Flight> newValue = (Collection<Flight>) evt.getNewValue();
onFlightsChanged(newValue);
- } else if (ExportApplicationUIModel.PROPERTY_SELECTED_FLIGHT.equals(evt.getPropertyName())) {
+ } else if (ExportApplicationUIModel.PROPERTY_SELECTED_FLIGHT.equals(propertyName)) {
Flight newValue = (Flight) evt.getNewValue();
onSelectedFlightChanged(newValue);
}
+
+ if (!ExportApplicationUIModel.PROPERTY_VALID.equals(propertyName)) {
+
+ // validate model
+ validateModel();
+ }
}
});
}
@@ -182,15 +189,59 @@
try {
ExportApplicationModel dataModel = getModel().toModel();
- exportService.exportApplication(dataModel);
- } catch (IOException e) {
+ boolean doExport = checkFileToExport(dataModel);
+
+ if (doExport) {
+
+ exportService.exportApplication(dataModel);
+
+ SammoaUtil.showSuccessMessage(
+ frame,
+ _("sammoa.messageDialog.sammoa.export.success",
+ dataModel.getExportFile()));
+ }
+
+ } catch (Exception e) {
ErrorDialogUI.showError(e);
} finally {
SammoaUtil.updateBusyState(frame, false);
}
}
+ protected void validateModel() {
+ boolean valid = true;
+
+ ExportApplicationUIModel model = getModel();
+
+ if (model.getSelectedCampaign() == null) {
+
+ // no campaign selected
+ valid = false;
+ } else {
+
+ if (!model.getExportDirectory().exists()) {
+
+ // export directory does not exists
+ valid = false;
+ }
+ }
+
+ model.setValid(valid);
+ }
+
+ protected boolean checkFileToExport(ExportApplicationModel dataModel) {
+ boolean doExport = true;
+
+ if (dataModel.getExportFile().exists()) {
+ doExport = SammoaUtil.askQuestion(
+ ui,
+ _("sammoa.messageDialog.sammoa.exportFile.alreadyExists",
+ dataModel.getExportFile()));
+ }
+ return doExport;
+ }
+
public void close() {
context.changeScreen(SammoaScreen.HOME);
}
@@ -229,6 +280,8 @@
filename = "";
} else {
flights = flightService.getFlights(newCampaign);
+ // add a null value to unselect flights
+ flights.add(0, null);
filename = String.format("campaign-%s.sammoa", newCampaign.getCode());
}
if (logger.isDebugEnabled()) {
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 08:05:22 UTC (rev 429)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/io/output/sammoa/ExportApplicationUIModel.java 2012-08-18 08:08:55 UTC (rev 430)
@@ -59,6 +59,8 @@
public static final String PROPERTY_CALLBACK = "callback";
+ public static final String PROPERTY_VALID = "valid";
+
protected List<Campaign> campaigns;
protected Campaign selectedCampaign;
@@ -73,6 +75,8 @@
protected ExportApplicationCallbackMode callback;
+ protected boolean valid;
+
public File getExportDirectory() {
return exportDirectory;
}
@@ -149,18 +153,30 @@
firePropertyChange(PROPERTY_CALLBACK, oldValue, callback);
}
+ public boolean isValid() {
+ return valid;
+ }
+
+ public void setValid(boolean valid) {
+ boolean oldValue = this.valid;
+ this.valid = valid;
+ firePropertyChange(PROPERTY_VALID, oldValue, valid);
+ }
+
public ExportApplicationModel toModel() {
Set<Flight> flightsToExport;
- if (getSelectedFlight() != null) {
+ if (getSelectedFlight() == null) {
+ // all flights of this campaign
+ flightsToExport = Sets.newHashSet(getFlights());
+ // remove the null value
+ flightsToExport.remove(null);
+ } else {
+
// only one flight to export
flightsToExport = Sets.newHashSet(getSelectedFlight());
- } else {
-
- // all flights of this campaign
- flightsToExport = Sets.newHashSet(getFlights());
}
ExportApplicationModel result = ExportApplicationModel.newModel(
new File(getExportDirectory(), getExportFilename()),
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-18 08:05:22 UTC (rev 429)
+++ trunk/sammoa-ui-swing/src/main/resources/i18n/sammoa-ui-swing_en_GB.properties 2012-08-18 08:08:55 UTC (rev 430)
@@ -73,6 +73,7 @@
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
@@ -138,7 +139,11 @@
sammoa.menu.showLogs=Display logs
sammoa.menu.showLogs.tip=Display logs
sammoa.message.goto.site=Opening %1$s on navigator
+sammoa.messageDialog.map.export.success=Map (with %s rows in dbf) was successfully exported in directory\n\n%s
+sammoa.messageDialog.mapOrDbf.exportFile.alreadyExists=Export Shape file (%s)\nor dbf file (%s) already exists.\n\nConfirm to override it?
sammoa.messageDialog.observers.import.success=%1$d observers are successfully imported
+sammoa.messageDialog.sammoa.export.success=Sammoa was successfully exported in file\n\n%s
+sammoa.messageDialog.sammoa.exportFile.alreadyExists=Export File %s already exists.\n\nConfirm to override it?
sammoa.messageDialog.species.import.success=%1$d species are successfully imported
sammoa.messageDialog.strates.import.success=%1$d strates are successfully imported
sammoa.messageDialog.transects.import.success=%1$d transects are successfully imported
1
0
r429 - trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/util
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 10:05:22 +0200 (Sat, 18 Aug 2012)
New Revision: 429
Url: http://forge.codelutin.com/repositories/revision/sammoa/429
Log:
add more commn ui method
Modified:
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/util/SammoaUtil.java
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/util/SammoaUtil.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/util/SammoaUtil.java 2012-08-18 08:04:06 UTC (rev 428)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/util/SammoaUtil.java 2012-08-18 08:05:22 UTC (rev 429)
@@ -233,6 +233,16 @@
}
}
+ public static void showSuccessMessage(Component ui, String message) {
+ JOptionPane.showMessageDialog(
+ ui,
+ message,
+ "Success",
+ JOptionPane.INFORMATION_MESSAGE,
+ UIManager.getIcon("info")
+ );
+ }
+
public static void showErrorMessage(Component ui, String message) {
JOptionPane.showMessageDialog(
ui,
@@ -242,4 +252,13 @@
UIManager.getIcon("error")
);
}
+
+ public static boolean askQuestion(Component ui, String message) {
+ int i = JOptionPane.showConfirmDialog(
+ ui,
+ message,
+ "Question?",
+ JOptionPane.YES_NO_OPTION);
+ return i == JOptionPane.YES_OPTION;
+ }
}
1
0
r428 - trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing
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 10:04:06 +0200 (Sat, 18 Aug 2012)
New Revision: 428
Url: http://forge.codelutin.com/repositories/revision/sammoa/428
Log:
clean sammoa temp directory when application starts
Modified:
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/StartApp.java
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/StartApp.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/StartApp.java 2012-08-17 14:03:32 UTC (rev 427)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/StartApp.java 2012-08-18 08:04:06 UTC (rev 428)
@@ -26,14 +26,17 @@
import fr.ulr.sammoa.application.SammoaConfig;
import fr.ulr.sammoa.application.SammoaContext;
+import fr.ulr.sammoa.application.SammoaTechnicalException;
import fr.ulr.sammoa.ui.swing.util.LogFileInitializer;
import jaxx.runtime.SwingUtil;
+import org.apache.commons.io.FileUtils;
import org.nuiton.i18n.I18n;
import org.nuiton.i18n.init.DefaultI18nInitializer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
+import java.io.IOException;
import java.util.Locale;
/**
@@ -47,10 +50,23 @@
public static void main(String... args) {
- // Initialization of SammoaContext with configuration from sammoa.properties
+ // Create sammoa configuration from sammoa.properties file
SammoaConfig config = new SammoaConfig("sammoa.properties", args);
+
+ //clean sammoa temporary directory
+ File tmpDirectory = config.getTmpDirectory();
+ try {
+ // clean tmp dir
+ FileUtils.cleanDirectory(tmpDirectory);
+ } catch (IOException e) {
+ throw new SammoaTechnicalException(
+ "Could not clean temp directory " + tmpDirectory, e);
+ }
+
+ // Create application context
SammoaContext appContext = new SammoaContext(config);
+ // Create ui context
SammoaUIContext context = SammoaUIContext.newUIContext(appContext);
// Initialize log file
1
0
r427 - trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing
by tchemit@users.forge.codelutin.com 17 Aug '12
by tchemit@users.forge.codelutin.com 17 Aug '12
17 Aug '12
Author: tchemit
Date: 2012-08-17 16:03:32 +0200 (Fri, 17 Aug 2012)
New Revision: 427
Url: http://forge.codelutin.com/repositories/revision/sammoa/427
Log:
remove ValidationTable ui
Removed:
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/ValidationTable.css
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/ValidationTable.jaxx
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/ValidationTableHandler.java
Deleted: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/ValidationTable.css
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/ValidationTable.css 2012-08-17 08:14:14 UTC (rev 426)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/ValidationTable.css 2012-08-17 14:03:32 UTC (rev 427)
@@ -1,35 +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%
- */
-#scrollPanel {
- columnHeaderView:{errorTable.getTableHeader()};
-}
-
-#errorTable {
- rowSelectionAllowed:true;
- autoCreateRowSorter:true;
- autoResizeMode:2;
- cellSelectionEnabled:false;
- selectionMode:0;
- model:{errorTableModel};
-}
\ No newline at end of file
Deleted: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/ValidationTable.jaxx
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/ValidationTable.jaxx 2012-08-17 08:14:14 UTC (rev 426)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/ValidationTable.jaxx 2012-08-17 14:03:32 UTC (rev 427)
@@ -1,49 +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%
- -->
-<JPanel id='panel' layout='{new BorderLayout()}'>
-
-
-<JScrollPane id='scrollPanel' constraints='BorderLayout.CENTER'>
- <import>
- jaxx.runtime.validator.swing.SwingValidatorMessageTableModel
- </import>
-
- <ValidationTableHandler id='handler' constructorParams='this'/>
-
- <script><![CDATA[
-
- protected void $afterCompleteSetup() {
- getHandler().init();
- }
-
- ]]></script>
-
- <SwingValidatorMessageTableModel id='errorTableModel'
- javaBean='handler.getValidationModel()'/>
-
- <JTable id='errorTable'/>
-</JScrollPane>
-
-</JPanel>
\ No newline at end of file
Deleted: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/ValidationTableHandler.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/ValidationTableHandler.java 2012-08-17 08:14:14 UTC (rev 426)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/ValidationTableHandler.java 2012-08-17 14:03:32 UTC (rev 427)
@@ -1,112 +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;
-
-import jaxx.runtime.JAXXUtil;
-import jaxx.runtime.SwingUtil;
-import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel;
-import jaxx.runtime.validator.swing.SwingValidatorMessageTableRenderer;
-import jaxx.runtime.validator.swing.SwingValidatorUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.swing.AbstractAction;
-import javax.swing.Action;
-import javax.swing.JComponent;
-import javax.swing.JDialog;
-import javax.swing.JRootPane;
-import javax.swing.KeyStroke;
-import java.awt.Component;
-import java.awt.Frame;
-import java.awt.event.ActionEvent;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-
-import static org.nuiton.i18n.I18n._;
-
-/**
- * TODO
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.2
- */
-public class ValidationTableHandler {
-
- private static final Logger logger = LoggerFactory.getLogger(StartApp.class);
-
- protected final ValidationTable ui;
-
- public ValidationTableHandler(ValidationTable ui) {
- this.ui = ui;
- }
-
- public SwingValidatorMessageTableModel getValidationModel() {
- return SammoaUIContext.getUIContext().getFlightUIHandler().getModel().getValidatorTableModel();
- }
-
- public void init() {
- SwingValidatorUtil.installUI(ui.getErrorTable(),
- new SwingValidatorMessageTableRenderer());
- }
-
- public void showInDialog(Frame ui) {
-
- JDialog f = new JDialog(ui, false);
- f.setTitle(_("sammoa.title.validation"));
- f.add(this.ui);
- f.setResizable(true);
- f.setSize(550, 450);
- JRootPane rootPane = f.getRootPane();
-// rootPane.setDefaultButton(this.ui.close);
- rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "close");
- rootPane.getActionMap().put("close", closeAction);
- f.addWindowListener(new WindowAdapter() {
- @Override
- public void windowClosed(WindowEvent e) {
- Component ui = (Component) e.getSource();
- if (logger.isInfoEnabled()) {
- logger.info("destroy ui " + ui);
- }
- JAXXUtil.destroy(ui);
-// JAXXUtil.destroy(ValidationTable.this.ui);
- }
- });
- SwingUtil.center(ui, f);
- f.setVisible(true);
- }
-
- final protected Action closeAction = new AbstractAction("close") {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void actionPerformed(ActionEvent e) {
- JDialog container = ui.getParentContainer(JDialog.class);
- if (container != null) {
- container.dispose();
- } else {
- ui.setVisible(false);
- }
- }
- };
-}
1
0
Author: tchemit
Date: 2012-08-17 10:14:14 +0200 (Fri, 17 Aug 2012)
New Revision: 426
Url: http://forge.codelutin.com/repositories/revision/sammoa/426
Log:
use last eugene plugin version (+ remove some unused code from pom)
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-08-16 22:56:52 UTC (rev 425)
+++ trunk/pom.xml 2012-08-17 08:14:14 UTC (rev 426)
@@ -112,11 +112,8 @@
<nuitonUtilsVersion>2.6-SNAPSHOT</nuitonUtilsVersion>
<nuitonI18nVersion>2.4.1</nuitonI18nVersion>
- <eugenePluginVersion>2.5-SNAPSHOT</eugenePluginVersion>
- <!--<topiaVersion>3.0-SNAPSHOT</topiaVersion>-->
+ <eugenePluginVersion>2.5</eugenePluginVersion>
<topiaVersion>2.6.12-SNAPSHOT</topiaVersion>
- <!--<hibernateVersion>4.1.3.Final</hibernateVersion>-->
- <!--<geronimoJpaSpecVersion>1.1</geronimoJpaSpecVersion>-->
<hibernateVersion>3.6.10.Final</hibernateVersion>
<h2Version>1.3.168</h2Version>
<postgresqlVersion>9.1-901-1.jdbc4</postgresqlVersion>
@@ -131,8 +128,6 @@
<i18n.bundles>en_GB</i18n.bundles>
<i18n.silent>false</i18n.silent>
- <!--<googleSearchEnabled>true</googleSearchEnabled>-->
-
<!-- license header configuration -->
<license.organizationName>
UMS 3462, Code Lutin
1
0