Wao-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
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
April 2010
- 4 participants
- 73 discussions
[Suiviobsmer-commits] r403 - in trunk: . wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/resources/i18n
by fdesbois@users.labs.libre-entreprise.org 01 Apr '10
by fdesbois@users.labs.libre-entreprise.org 01 Apr '10
01 Apr '10
Author: fdesbois
Date: 2010-04-01 13:51:21 +0000 (Thu, 01 Apr 2010)
New Revision: 403
Modified:
trunk/changelog.txt
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java
trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties
Log:
- Clean ServiceBoatImpl
- Add changelog for last issue resolved
Modified: trunk/changelog.txt
===================================================================
--- trunk/changelog.txt 2010-04-01 13:28:03 UTC (rev 402)
+++ trunk/changelog.txt 2010-04-01 13:51:21 UTC (rev 403)
@@ -31,6 +31,7 @@
Anomalies
+++++++++
+- [fdesbois] Ano #2237 : Impossible de changer les zones de pêche
- [fdesbois] Ano #2235 : Temp d'affichage page contacts ou plan
d'échantillonnage
- [fdesbois] Ano #2228 : Erreur d'affichage de la synthèse : réactivité de la
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2010-04-01 13:28:03 UTC (rev 402)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2010-04-01 13:51:21 UTC (rev 403)
@@ -70,95 +70,41 @@
*/
public class ServiceBoatImpl extends ServiceBoatAbstract {
- private static final Logger log = LoggerFactory.getLogger(ServiceBoatImpl.class);
+ private static final Logger log =
+ LoggerFactory.getLogger(ServiceBoatImpl.class);
-// protected TopiaContext rootContext;
-//
-// public ServiceBoatImpl() throws WaoExceptionO {
-// rootContext = WaoContextO.getTopiaRootContext();
-// }
-
@Override
public Map<Integer, Boat> executeGetBoatsByFilter(TopiaContext transaction,
List<Object> errorArgs, BoatFilter filter) throws TopiaException {
-// TopiaContext transaction = null;
-// Map<Integer, Boat> results = new HashMap<Integer, Boat>();
-// try {
-// long startTime = 0;
-// if (log.isDebugEnabled()) {
-// startTime = System.currentTimeMillis();
-// }
-//
-// transaction = rootContext.beginTransaction();
- BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
- TopiaQuery query = dao.createQuery("B");
+ BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
+ TopiaQuery query = dao.createQuery("B");
- query = createQueryForBoatFilter(query, filter);
+ query = createQueryForBoatFilter(query, filter);
-// if (StringUtils.isNotEmpty(filter.getOrderBy())) {
-// query.addOrder("B." + filter.getOrderBy());
-// }
+ query.addLoad(Boat.ACTIVITY_CALENDAR);
- query.addLoad(Boat.ACTIVITY_CALENDAR);
+ if (log.isDebugEnabled()) {
+ log.debug("Query : " + query);
+ }
- if (log.isDebugEnabled()) {
- log.debug("Query : " + query);
- }
-
- return dao.findAllMappedByQuery(query, Boat.IMMATRICULATION, Integer.class);
-
-// if (log.isDebugEnabled()) {
-// long stopTime = System.currentTimeMillis();
-// log.debug("W:[ getBoatsByFilter ] Time = " +
-// DurationFormatUtils.formatDurationHMS(
-// stopTime - startTime));
-// }
-//
-// } catch (Exception eee) {
-// WaoContextO.serviceException(transaction, "Impossible de filtrer la liste des navires", eee);
-// } finally {
-// WaoContextO.closeTransaction(transaction);
-// }
-// return results;
+ return dao.findAllMappedByQuery(query,
+ Boat.IMMATRICULATION, Integer.class);
}
@Override
public int executeGetNbBoatsByFilter(TopiaContext transaction,
List<Object> errorArgs, BoatFilter filter) throws TopiaException {
-// TopiaContext transaction = null;
-// int result = 0;
-// try {
-// long startTime = 0;
-// if (log.isDebugEnabled()) {
-// startTime = System.currentTimeMillis();
-// }
-//
-// transaction = rootContext.beginTransaction();
+ BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
+ TopiaQuery query = dao.createQuery("B");
- BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
- TopiaQuery query = dao.createQuery("B");
+ query = createQueryForBoatFilter(query, filter);
- query = createQueryForBoatFilter(query, filter);
-
- return query.executeCount();
-
-// if (log.isDebugEnabled()) {
-// long stopTime = System.currentTimeMillis();
-// log.debug("W:[ getNbBoatsByFilter ] Time = " +
-// DurationFormatUtils.formatDurationHMS(
-// stopTime - startTime));
-// }
-//
-// } catch (Exception eee) {
-// WaoContextO.serviceException(transaction, "Impossible de filtrer la liste des navires", eee);
-// } finally {
-// WaoContextO.closeTransaction(transaction);
-// }
-// return result;
+ return query.executeCount();
}
- protected TopiaQuery createQueryForBoatFilter(TopiaQuery query, BoatFilter filter) throws TopiaException {
+ protected TopiaQuery createQueryForBoatFilter(TopiaQuery query,
+ BoatFilter filter) throws TopiaException {
String main = query.getMainAlias();
query = filter.prepareQueryForBoat(query, main).addDistinct();
@@ -166,15 +112,19 @@
if (filter.isSamplingFiltered()) {
// Add join for ElligibleBoat
//String elligibleBoatClassName = ElligibleBoat.class.getName();
- query.addFrom(ElligibleBoat.class, "E").add("E." + ElligibleBoat.BOAT + " = " + main);
- query = filter.prepareQueryForSampling(query, "E." + ElligibleBoat.SAMPLE_ROW);
+ query.addFrom(ElligibleBoat.class, "E").
+ add("E." + ElligibleBoat.BOAT + " = " + main);
+ query = filter.prepareQueryForSampling(query,
+ "E." + ElligibleBoat.SAMPLE_ROW);
// Company
if (filter.getCompany() != null) {
- //query.add("E." + ElligibleBoat.SAMPLE_ROW + "." + SampleRow.COMPANY, filter.getCompany());
// Test only valid ElligibleBoat for that company
- query.add("E." + ElligibleBoat.COMPANY_ACTIVE + " = :booleanTrue " +
- "OR (E." + ElligibleBoat.COMPANY_ACTIVE + " IS NULL AND E." + ElligibleBoat.GLOBAL_ACTIVE + " = :booleanTrue)");
+ query.add("E." + ElligibleBoat.COMPANY_ACTIVE +
+ " = :booleanTrue " +
+ "OR (E." + ElligibleBoat.COMPANY_ACTIVE +
+ " IS NULL AND E." + ElligibleBoat.GLOBAL_ACTIVE +
+ " = :booleanTrue)");
query.addParam("booleanTrue", Boolean.TRUE);
}
}
@@ -217,77 +167,52 @@
result.setElligibleBoats(elligibleBoats);
result.setDeletedElligibleBoats(new ArrayList<ElligibleBoat>());
-// TopiaContext transaction = null;
-// try {
-// long startTime = 0;
-// if (log.isDebugEnabled()) {
-// startTime = System.currentTimeMillis();
-// }
-//
-// transaction = rootContext.beginTransaction();
+ BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
- BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
+ Boat boat = dao.findByImmatriculation(boatImmatriculation);
- Boat boat = dao.findByImmatriculation(boatImmatriculation);
-
- BoatInfosDAO boatInfosDAO = WaoDAOHelper.getBoatInfosDAO(transaction);
- BoatInfos boatInfos = boatInfosDAO.findByProperties(
- BoatInfos.BOAT, boat, BoatInfos.COMPANY, company);
- if (boatInfos == null) {
- boatInfos = new BoatInfosImpl();
- boatInfos.setBoat(boat);
- boatInfos.setCompany(company);
- } else {
- // load data
- boatInfos.getBoat();
- }
+ BoatInfosDAO boatInfosDAO = WaoDAOHelper.getBoatInfosDAO(transaction);
+ BoatInfos boatInfos = boatInfosDAO.findByProperties(
+ BoatInfos.BOAT, boat, BoatInfos.COMPANY, company);
+ if (boatInfos == null) {
+ boatInfos = new BoatInfosImpl();
+ boatInfos.setBoat(boat);
+ boatInfos.setCompany(company);
+ } else {
// load data
- boatInfos.getBoat().sizeActivityCalendar();
-
- result.setBoatInfos(boatInfos);
+ boatInfos.getBoat();
+ }
+ // load data
+ boatInfos.getBoat().sizeActivityCalendar();
- for (ElligibleBoat elligible : boat.getElligibleBoat()) {
- SampleRow sampleRow = elligible.getSampleRow();
+ result.setBoatInfos(boatInfos);
- // SampleRow non closed only
- //if (!sampleRow.isFinished()) {
+ for (ElligibleBoat elligible : boat.getElligibleBoat()) {
+ SampleRow sampleRow = elligible.getSampleRow();
- String companyId = sampleRow.getCompany() != null ?
- sampleRow.getCompany().getTopiaId() : "";
+ // SampleRow non closed only
+ //if (!sampleRow.isFinished()) {
- if (companyId.equals(company.getTopiaId())) {
- elligibleBoats.put(sampleRow.getCode(), elligible);
- }
- //}
- }
+ String companyId = sampleRow.getCompany() != null ?
+ sampleRow.getCompany().getTopiaId() : "";
- // Last contact
- ContactDAO contactDAO = WaoDAOHelper.getContactDAO(transaction);
- TopiaQuery query = contactDAO.createQueryLastContactForBoat(boat, company).
- addLoad(Contact.SAMPLE_ROW, Contact.OBSERVER);
-
- Contact contact = contactDAO.findByQuery(query);
+ if (companyId.equals(company.getTopiaId())) {
+ elligibleBoats.put(sampleRow.getCode(), elligible);
+ }
+ //}
+ }
- if (contact != null) {
- result.setLastContact(contact);
- }
-
-// if (log.isDebugEnabled()) {
-// long stopTime = System.currentTimeMillis();
-// log.debug("W:[ getCompanyBoatInfos ] Time = " +
-// DurationFormatUtils.formatDurationHMS(
-// stopTime - startTime));
-// }
-//
-//// transaction.closeContext();
-// } catch (Exception eee) {
-// WaoContextO.serviceException(transaction,
-// "Impossible de récupérer les informations du navire " +
-// "immatriculé '" + boatImmatriculation + "'" +
-// " pour la société '" + company.getName() + "'", eee);
-// } finally {
-// WaoContextO.closeTransaction(transaction);
-// }
+ // Last contact
+ ContactDAO contactDAO = WaoDAOHelper.getContactDAO(transaction);
+ TopiaQuery query = contactDAO.createQueryLastContactForBoat(boat, company).
+ addLoad(Contact.SAMPLE_ROW, Contact.OBSERVER);
+
+ Contact contact = contactDAO.findByQuery(query);
+
+ if (contact != null) {
+ result.setLastContact(contact);
+ }
+
return result;
}
@@ -295,55 +220,31 @@
public void executeCreateUpdateCompanyBoatInfos(TopiaContext transaction,
List<Object> errorArgs,
CompanyBoatInfos companyBoatInfos) throws TopiaException {
-// TopiaContext transaction = null;
-// try {
-// long startTime = 0;
-// if (log.isDebugEnabled()) {
-// startTime = System.currentTimeMillis();
-// }
-// transaction = rootContext.beginTransaction();
- Boat boat = companyBoatInfos.getBoatInfos().getBoat();
- Company company = companyBoatInfos.getCompany();
- errorArgs.add(boat.getImmatriculation());
- errorArgs.add(company.getName());
+ Boat boat = companyBoatInfos.getBoatInfos().getBoat();
+ Company company = companyBoatInfos.getCompany();
+ errorArgs.add(boat.getImmatriculation());
+ errorArgs.add(company.getName());
- BoatInfosDAO dao = WaoDAOHelper.getBoatInfosDAO(transaction);
+ BoatInfosDAO dao = WaoDAOHelper.getBoatInfosDAO(transaction);
- BoatInfos boatInfos = companyBoatInfos.getBoatInfos();
- context.prepareTopiaId(BoatInfos.class, boatInfos);
- dao.update(boatInfos);
+ BoatInfos boatInfos = companyBoatInfos.getBoatInfos();
+ context.prepareTopiaId(BoatInfos.class, boatInfos);
+ dao.update(boatInfos);
- ElligibleBoatDAO elligibleDAO = WaoDAOHelper.getElligibleBoatDAO(transaction);
+ ElligibleBoatDAO elligibleDAO = WaoDAOHelper.getElligibleBoatDAO(transaction);
- for (ElligibleBoat elligible : companyBoatInfos.getElligibleBoatsValues()) {
- context.prepareTopiaId(ElligibleBoat.class, elligible);
- elligibleDAO.update(elligible);
- }
+ for (ElligibleBoat elligible : companyBoatInfos.getElligibleBoatsValues()) {
+ context.prepareTopiaId(ElligibleBoat.class, elligible);
+ elligibleDAO.update(elligible);
+ }
- // Delete ElligibleBoats for the company
- for (ElligibleBoat elligible : companyBoatInfos.getDeletedElligibleBoats()) {
- elligibleDAO.delete(elligible);
- }
+ // Delete ElligibleBoats for the company
+ for (ElligibleBoat elligible : companyBoatInfos.getDeletedElligibleBoats()) {
+ elligibleDAO.delete(elligible);
+ }
- transaction.commitTransaction();
-
-// if (log.isDebugEnabled()) {
-// long stopTime = System.currentTimeMillis();
-// log.debug("W:[ createUpdateCompanyBoatInfos ] Time = " +
-// DurationFormatUtils.formatDurationHMS(
-// stopTime - startTime));
-// }
-// //transaction.closeContext();
-// } catch (Exception eee) {
-// Boat boat = companyBoatInfos.getBoatInfos().getBoat();
-// Company company = companyBoatInfos.getCompany();
-// WaoContextO.serviceException(transaction,
-// "Impossible de créer ou modifier les informations liés au navire " +
-// boat.getImmatriculation() + " pour la société " + company.getName(), eee);
-// } finally {
-// WaoContextO.closeTransaction(transaction);
-// }
+ transaction.commitTransaction();
}
@Override
@@ -352,119 +253,51 @@
String immatriculations)
throws TopiaException, WaoBusinessException {
List<Boat> boats = new ArrayList<Boat>();
-// TopiaContext transaction = null;
if (StringUtils.isEmpty(immatriculations)) {
return boats;
}
-// try {
-// long startTime = 0;
-// if (log.isDebugEnabled()) {
-// startTime = System.currentTimeMillis();
-// }
-// transaction = rootContext.beginTransaction();
- BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
+ BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
- Pattern pattern = Pattern.compile("\\d{6}");
- Matcher matcher = pattern.matcher(immatriculations);
- while(matcher.find()) {
- String res = matcher.group();
- int immatriculation = Integer.parseInt(res);
- Boat boat = dao.findByImmatriculation(immatriculation);
- if (boat == null) {
- throw new WaoBusinessException(Type.NOT_EXISTS,
- ServiceBoat.class,
- "Immatriculation " + immatriculation +
- " incorrect, ne référence aucun navire");
- }
- boats.add(boat);
+ Pattern pattern = Pattern.compile("\\d{6}");
+ Matcher matcher = pattern.matcher(immatriculations);
+ while(matcher.find()) {
+ String res = matcher.group();
+ int immatriculation = Integer.parseInt(res);
+ Boat boat = dao.findByImmatriculation(immatriculation);
+ if (boat == null) {
+ throw new WaoBusinessException(Type.NOT_EXISTS,
+ ServiceBoat.class,
+ "Immatriculation " + immatriculation +
+ " incorrect, ne référence aucun navire");
}
-
-// if (log.isDebugEnabled()) {
-// long stopTime = System.currentTimeMillis();
-// log.debug("W:[ getBoatsByImmatriculations ] Time = " +
-// DurationFormatUtils.formatDurationHMS(
-// stopTime - startTime));
-// }
-//
-// //transaction.closeContext();
-// } catch (Exception eee) {
-// WaoContextO.serviceException(transaction,
-// "La chaîne d'immatriculations est incorrect ! Chaque immatriculation doit posséder 6 chiffres", eee);
-// } finally {
-// WaoContextO.closeTransaction(transaction);
-// }
+ boats.add(boat);
+ }
+
return boats;
}
@Override
public Boat executeGetBoat(TopiaContext transaction, List<Object> errorArgs,
String boatId) throws TopiaException {
-// TopiaContext transaction = null;
-// Boat result = null;
-// try {
-// long startTime = 0;
-// if (log.isDebugEnabled()) {
-// startTime = System.currentTimeMillis();
-// }
-// transaction = rootContext.beginTransaction();
- BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
+ BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
- return dao.findByTopiaId(boatId);
-
-// if (log.isDebugEnabled()) {
-// long stopTime = System.currentTimeMillis();
-// log.debug("W:[ getBoat ] Time = " +
-// DurationFormatUtils.formatDurationHMS(
-// stopTime - startTime));
-// }
-//
-// //transaction.closeContext();
-// } catch (Exception eee) {
-// WaoContextO.serviceException(transaction, "Impossible de charger le navire", eee);
-// } finally {
-// WaoContextO.closeTransaction(transaction);
-// }
-// return result;
+ return dao.findByTopiaId(boatId);
}
@Override
public List<String> executeGetBoatNamesStartWith(TopiaContext transaction,
List<Object> errorArgs, String input) throws TopiaException {
-// TopiaContext transaction = null;
-// List<String> results = new ArrayList<String>();
-// try {
-// long startTime = 0;
-// if (log.isDebugEnabled()) {
-// startTime = System.currentTimeMillis();
-// }
-// transaction = rootContext.beginTransaction();
- input = StringUtils.upperCase(input);
+ input = StringUtils.upperCase(input);
- errorArgs.add(input);
+ errorArgs.add(input);
- BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
+ BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
- return dao.createQuery().addDistinct().setSelect(Boat.NAME).
- add(Boat.NAME, Op.LIKE, input + "%").execute();
-
-// if (log.isDebugEnabled()) {
-// long stopTime = System.currentTimeMillis();
-// log.debug("W:[ getBoatNamesStartWith ] Time = " +
-// DurationFormatUtils.formatDurationHMS(
-// stopTime - startTime));
-// }
-//
-// //transaction.closeContext();
-// } catch (Exception eee) {
-// WaoContextO.serviceException(transaction,
-// "Impossible de récupérer les navires avec un nom commencant par '" + input + "'", eee);
-// } finally {
-// WaoContextO.closeTransaction(transaction);
-// }
-// return results;
+ return dao.createQuery().addDistinct().setSelect(Boat.NAME).
+ add(Boat.NAME, Op.LIKE, input + "%").execute();
}
/**
@@ -486,138 +319,113 @@
@Override
public int[] executeImportBoatCsv(TopiaContext transaction, InputStream input)
throws TopiaException, IOException, WaoBusinessException {
-// TopiaContext transaction = null;
int[] result = new int[]{0,0};
-// try {
-// transaction = rootContext.beginTransaction();
-// long startTime = System.currentTimeMillis();
- CsvReader reader = new CsvReader(input, context.getCsvCharset());
- reader.readHeaders();
- long tic;
+ CsvReader reader = new CsvReader(input, context.getCsvCharset());
+ reader.readHeaders();
+ long tic;
- BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
- ShipOwnerDAO shipOwnerDAO = WaoDAOHelper.getShipOwnerDAO(transaction);
+ BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
+ ShipOwnerDAO shipOwnerDAO = WaoDAOHelper.getShipOwnerDAO(transaction);
- Map<String, ShipOwner> availableShipOwners = new HashMap<String, ShipOwner>();
+ Map<String, ShipOwner> availableShipOwners = new HashMap<String, ShipOwner>();
- tic = System.currentTimeMillis();
- Pattern pattern = Pattern.compile("\\d{6}");
- while(reader.readRecord()) {
- result[0]++;
+ tic = System.currentTimeMillis();
+ Pattern pattern = Pattern.compile("\\d{6}");
+ while(reader.readRecord()) {
+ result[0]++;
- if (log.isDebugEnabled()) {
- log.debug(" " + Arrays.asList(reader.getValues()));
- }
+ if (log.isDebugEnabled()) {
+ log.debug(" " + Arrays.asList(reader.getValues()));
+ }
- String imma = ImportHelper.read(reader, BOAT.NAVS_COD);
- Matcher matcher = pattern.matcher(imma);
- if (!matcher.find()) {
- throw new WaoBusinessException(Type.SYNTAX,
- ServiceBoat.class,
- "L'immatriculation ne comporte pas 6 chiffres");
- }
+ String imma = ImportHelper.read(reader, BOAT.NAVS_COD);
+ Matcher matcher = pattern.matcher(imma);
+ if (!matcher.find()) {
+ throw new WaoBusinessException(Type.SYNTAX,
+ ServiceBoat.class,
+ "L'immatriculation ne comporte pas 6 chiffres");
+ }
- int immatriculation = Integer.parseInt(imma);
+ int immatriculation = Integer.parseInt(imma);
- String boatName =
- ImportHelper.read(reader, BOAT.CARN_NOM);
- int boatLength =
- ImportHelper.readInt(reader, BOAT.CARN_LONGUEUR_HT);
- int buildYear =
- ImportHelper.readInt(reader, BOAT.CARN_ANNEE);
- String districtCode =
- ImportHelper.read(reader, BOAT.QUARTIER_IMMA);
- String shipOwnerCode =
- ImportHelper.read(reader, BOAT.PER_COD);
- String shipOwnerLastName =
- ImportHelper.read(reader, BOAT.PER_NOM);
- String shipOwnerFirstName =
- ImportHelper.read(reader, BOAT.PER_PRENOM);
-
- String activeStr = ImportHelper.read(reader, BOAT.NAVS_ACTIVE);
- boolean active = !activeStr.equals(BOAT.getBoatInactiveCode());
+ String boatName =
+ ImportHelper.read(reader, BOAT.CARN_NOM);
+ int boatLength =
+ ImportHelper.readInt(reader, BOAT.CARN_LONGUEUR_HT);
+ int buildYear =
+ ImportHelper.readInt(reader, BOAT.CARN_ANNEE);
+ String districtCode =
+ ImportHelper.read(reader, BOAT.QUARTIER_IMMA);
+ String shipOwnerCode =
+ ImportHelper.read(reader, BOAT.PER_COD);
+ String shipOwnerLastName =
+ ImportHelper.read(reader, BOAT.PER_NOM);
+ String shipOwnerFirstName =
+ ImportHelper.read(reader, BOAT.PER_PRENOM);
- if (log.isTraceEnabled()) {
- log.trace("Active : " + active + " (" + activeStr + ")");
- }
+ String activeStr = ImportHelper.read(reader, BOAT.NAVS_ACTIVE);
+ boolean active = !activeStr.equals(BOAT.getBoatInactiveCode());
- // Find existing boat with immatriculation
- Boat boat = boatDAO.findByImmatriculation(immatriculation);
+ if (log.isTraceEnabled()) {
+ log.trace("Active : " + active + " (" + activeStr + ")");
+ }
- if (boat == null) {
- boat = boatDAO.create(
- Boat.IMMATRICULATION, immatriculation);
- result[1]++;
- }
- boat.setName(boatName);
- boat.setDistrictCode(districtCode);
- boat.setBuildYear(buildYear);
- boat.setBoatLength(boatLength);
- boat.setActive(active);
+ // Find existing boat with immatriculation
+ Boat boat = boatDAO.findByImmatriculation(immatriculation);
- // Find existing shipOwner with code
- ShipOwner shipOwner = availableShipOwners.get(shipOwnerCode);
+ if (boat == null) {
+ boat = boatDAO.create(
+ Boat.IMMATRICULATION, immatriculation);
+ result[1]++;
+ }
+ boat.setName(boatName);
+ boat.setDistrictCode(districtCode);
+ boat.setBuildYear(buildYear);
+ boat.setBoatLength(boatLength);
+ boat.setActive(active);
- // If not available, select it from database
- if (shipOwner == null) {
- shipOwner = shipOwnerDAO.findByCode(shipOwnerCode);
+ // Find existing shipOwner with code
+ ShipOwner shipOwner = availableShipOwners.get(shipOwnerCode);
- // If not exist yet, create it
- if (shipOwner == null) {
- shipOwner = shipOwnerDAO.create(
- ShipOwner.CODE, shipOwnerCode);
- }
+ // If not available, select it from database
+ if (shipOwner == null) {
+ shipOwner = shipOwnerDAO.findByCode(shipOwnerCode);
- availableShipOwners.put(shipOwnerCode, shipOwner);
+ // If not exist yet, create it
+ if (shipOwner == null) {
+ shipOwner = shipOwnerDAO.create(
+ ShipOwner.CODE, shipOwnerCode);
}
- shipOwner.setFirstName(shipOwnerFirstName);
- shipOwner.setLastName(shipOwnerLastName);
- boat.setShipOwner(shipOwner);
+ availableShipOwners.put(shipOwnerCode, shipOwner);
+ }
+ shipOwner.setFirstName(shipOwnerFirstName);
+ shipOwner.setLastName(shipOwnerLastName);
- if (result[0] % 1000 == 0) {
- availableShipOwners.clear();
+ boat.setShipOwner(shipOwner);
- transaction.commitTransaction();
- tic = ImportHelper.logTimeAndMemory(
- log, tic, "navires ligne " + result[0]);
- }
+ if (result[0] % 1000 == 0) {
+ availableShipOwners.clear();
+
+ transaction.commitTransaction();
+ tic = ImportHelper.logTimeAndMemory(
+ log, tic, "navires ligne " + result[0]);
}
-
- // For the last rows
- transaction.commitTransaction();
+ }
-// long stopTime = System.currentTimeMillis();
-//
-// String execTime = DurationFormatUtils.formatDurationHMS(stopTime - startTime);
-//
-// if (log.isInfoEnabled()) {
-// log.info("Durée de l'import : " + execTime);
-// }
-//
-// //transaction.closeContext();
-// } catch (Exception eee) {
-// WaoContextO.serviceException(transaction,
-// "Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier : [ NAVS_COD,CARN_NOM," +
-// "CARN_LONGUEUR_HT,CARN_ANNEE,QUARTIER_IMMA,PER_COD,PER_NOM,PER_PRENOM,NAVS_ACTIVE ]"/* et l'encodage [ UTF-8 ] */ +
-// " Voir documentation pour plus de détails.",
-// eee);
-// } finally {
-// WaoContextO.closeTransaction(transaction);
-// }
+ // For the last rows
+ transaction.commitTransaction();
+
return result;
}
@Override
public InputStream executeExportBoatCsv(TopiaContext transaction,
BoatFilter filter) throws Exception {
-// TopiaContext transaction = null;
InputStream result = null;
CsvWriter writer = null;
try {
-// transaction = rootContext.beginTransaction();
-
File file = File.createTempFile("wao-boats-", ".csv");
file.deleteOnExit();
@@ -696,16 +504,12 @@
}
result = new FileInputStream(file);
- //transaction.closeContext();
} catch (Exception eee) {
throw eee;
-// WaoContextO.serviceException(transaction,
-// "Impossible d'exporter les navires sélectionnés", eee);
} finally {
if (writer != null) {
writer.close();
}
-// WaoContextO.closeTransaction(transaction);
}
return result;
}
@@ -714,14 +518,9 @@
public void executeImportActivityCalendarCsv(InputStream input)
throws IOException {
if (!context.isActivityCalendarImportRun()) {
-// try {
- ActivityCalendarImport calendarImport =
- new ActivityCalendarImport(context, input);
- new Thread(calendarImport).start();
-// } catch (IOException eee) {
-// WaoContextO.serviceException(null,
-// "Problème d'import du fichier CSV des calendriers d'activité", eee);
-// }
+ ActivityCalendarImport calendarImport =
+ new ActivityCalendarImport(context, input);
+ new Thread(calendarImport).start();
}
}
@@ -733,67 +532,44 @@
errorArgs.add(boat.getName());
errorArgs.add(boat.getImmatriculation());
-// TopiaContext transaction = null;
ActivityCalendar result = null;
-// try {
-// long startTime = 0;
-// if (log.isDebugEnabled()) {
-// startTime = System.currentTimeMillis();
-// }
-// transaction = rootContext.beginTransaction();
- ActivityCalendarDAO dao = WaoDAOHelper.getActivityCalendarDAO(transaction);
+ ActivityCalendarDAO dao = WaoDAOHelper.getActivityCalendarDAO(transaction);
- TopiaQuery query = dao.createQuery("A").
- add("A." + ActivityCalendar.BOAT, boat);
+ TopiaQuery query = dao.createQuery("A").
+ add("A." + ActivityCalendar.BOAT, boat);
- TopiaQuery subquery = dao.createQuery("B").
- setSelect("MAX(B." + ActivityCalendar.YEAR + ")").
- add("B." + ActivityCalendar.BOAT + " = A." + ActivityCalendar.BOAT).
- addGroup("B." + ActivityCalendar.BOAT);
+ TopiaQuery subquery = dao.createQuery("B").
+ setSelect("MAX(B." + ActivityCalendar.YEAR + ")").
+ add("B." + ActivityCalendar.BOAT + " = A." + ActivityCalendar.BOAT).
+ addGroup("B." + ActivityCalendar.BOAT);
- query.add("A." + ActivityCalendar.YEAR + " = (" + subquery.fullQuery() + ")");
+ query.add("A." + ActivityCalendar.YEAR + " = (" + subquery.fullQuery() + ")");
- query.addLoad(ActivityCalendar.BOAT);
- result = dao.findByQuery(query);
+ query.addLoad(ActivityCalendar.BOAT);
+ result = dao.findByQuery(query);
- // load other complex data from collections
- List<ActivityMonth> months = result.getActivityMonth();
- for (ActivityMonth month : months) {
- List<ActivityProfession> professions = month.getActivityProfession();
- for (ActivityProfession profession : professions) {
- List<ActivityZone> zones = profession.getActivityZone();
- zones.size();
- }
+ // load other complex data from collections
+ List<ActivityMonth> months = result.getActivityMonth();
+ for (ActivityMonth month : months) {
+ List<ActivityProfession> professions = month.getActivityProfession();
+ for (ActivityProfession profession : professions) {
+ List<ActivityZone> zones = profession.getActivityZone();
+ zones.size();
}
+ }
- // Log ActivityCalendar access only for non admin user
- if (!user.isAdmin()) {
- Company company = user.getCompany();
- // FIXME-FD20100401 Find a way to avoid using old context for
- // logging access on ActivityCalendar
- WaoContextO.addActivityCalendarAccessLog(
- "Calendrier " + result.getYear() + " du navire " +
- boat.getName() + " (" + boat.getImmatriculation() + ") vu " +
- "par " + user.getFullName() + " de la société " +
- company.getName());
- }
-
-// if (log.isDebugEnabled()) {
-// long stopTime = System.currentTimeMillis();
-// log.debug("W:[ getLastActivityCalendar ] Time = " +
-// DurationFormatUtils.formatDurationHMS(
-// stopTime - startTime));
-// }
-//
-// //transaction.closeContext();
-// } catch (Exception eee) {
-// WaoContextO.serviceException(transaction,
-// "Impossible de charger le dernier calendrier d'activité du navire " +
-// boat.getName() + " (" + boat.getImmatriculation() + ")", eee);
-// } finally {
-// WaoContextO.closeTransaction(transaction);
-// }
+ // Log ActivityCalendar access only for non admin user
+ if (!user.isAdmin()) {
+ Company company = user.getCompany();
+ // FIXME-FD20100401 Find a way to avoid using old context for
+ // logging access on ActivityCalendar
+ WaoContextO.addActivityCalendarAccessLog(
+ "Calendrier " + result.getYear() + " du navire " +
+ boat.getName() + " (" + boat.getImmatriculation() + ") vu " +
+ "par " + user.getFullName() + " de la société " +
+ company.getName());
+ }
return result;
}
Modified: trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties
===================================================================
--- trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties 2010-04-01 13:28:03 UTC (rev 402)
+++ trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties 2010-04-01 13:51:21 UTC (rev 403)
@@ -4,19 +4,19 @@
wao.error.context.rollback=
wao.error.context.start=
wao.error.context.stop=
-wao.error.serviceBoat.createUpdateCompanyBoatInfos=
-wao.error.serviceBoat.exportBoatCsv=
+wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de cr\u00E9er ou modifier les informations li\u00E9s au navire %1$d pour la soci\u00E9t\u00E9 %2$s
+wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires s\u00E9lectionn\u00E9s
wao.error.serviceBoat.getActivityCalendarLogAccessFile=
wao.error.serviceBoat.getActivityCalendarLogFile=
-wao.error.serviceBoat.getBoat=
-wao.error.serviceBoat.getBoatNamesStartWith=
-wao.error.serviceBoat.getBoatsByFilter=
-wao.error.serviceBoat.getBoatsByImmatriculations=
-wao.error.serviceBoat.getCompanyBoatInfos=
-wao.error.serviceBoat.getLastActivityCalendar=
-wao.error.serviceBoat.getNbBoatsByFilter=
-wao.error.serviceBoat.importActivityCalendarCsv=
-wao.error.serviceBoat.importBoatCsv=
+wao.error.serviceBoat.getBoat=Impossible de charger le navire
+wao.error.serviceBoat.getBoatNamesStartWith=Impossible de r\u00E9cup\u00E9rer les navires avec un nom commencant par '%1$s'
+wao.error.serviceBoat.getBoatsByFilter=Impossible de filtrer la liste des navires
+wao.error.serviceBoat.getBoatsByImmatriculations=La cha\u00EEne d'immatriculations est incorrect \! Chaque immatriculation doit poss\u00E9der 6 chiffres
+wao.error.serviceBoat.getCompanyBoatInfos=Impossible de r\u00E9cup\u00E9rer les informations du navire immatricul\u00E9 %1$d pour la soci\u00E9t\u00E9 %2$s
+wao.error.serviceBoat.getLastActivityCalendar=Impossible de charger le dernier calendrier d'activit\u00E9 du navire %1$s (%2$d)
+wao.error.serviceBoat.getNbBoatsByFilter=Impossible de filtrer la liste des navires
+wao.error.serviceBoat.importActivityCalendarCsv=Probl\u00E8me d'import du fichier CSV des calendriers d'activit\u00E9
+wao.error.serviceBoat.importBoatCsv=Probl\u00E8me d'import du fichier CSV. V\u00E9rifiez l'en-t\u00EAte du fichier \: [ NAVS_COD,CARN_NOM,CARN_LONGUEUR_HT,CARN_ANNEE,QUARTIER_IMMA,PER_COD,PER_NOM,PER_PRENOM,NAVS_ACTIVE ]. Voir documentation pour plus de d\u00E9tails.
wao.error.serviceNews.getNews=
wao.error.serviceNews.saveNews=
wao.error.serviceReferential.getFacades=
1
0
01 Apr '10
Author: fdesbois
Date: 2010-04-01 13:28:03 +0000 (Thu, 01 Apr 2010)
New Revision: 402
Added:
trunk/wao-business/nbactions.xml
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextO.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoExceptionO.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoProperty.java
trunk/wao-business/src/main/resources/i18n/
trunk/wao-business/src/main/resources/i18n/wao-business-en_GB.properties
trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties
trunk/wao-business/src/main/resources/oldmappings/Wao/
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ActivityCalendarImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ActivityMonthImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ActivityProfessionImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ActivityZoneImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/BoatImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/BoatInfosImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/CompanyImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ContactImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ElligibleBoatImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/FishingZoneImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/NewsImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ProfessionImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/SampleMonthImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/SampleRowImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/SampleRowLogImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ShipOwnerImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/WaoUserImpl.hbm.xml
trunk/wao-business/src/test/java/fr/ifremer/wao/TestManager.java
trunk/wao-business/src/test/java/fr/ifremer/wao/io/ImportHelperTest.java
Removed:
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContext.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoException.java
trunk/wao-business/src/main/java/fr/ifremer/wao/mock/ServiceNewsMock.java
trunk/wao-business/src/test/java/fr/ifremer/wao/ImportHelperTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/WaoRunnerTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/io/ImportHelperTest.java
Modified:
trunk/changelog.txt
trunk/pom.xml
trunk/wao-business/pom.xml
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoBusinessException.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoGlobal.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoRunner.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoRunnerImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatInfosImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/CompanyImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleMonthImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/ImportHelper.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ActivityCalendarImport.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceNewsImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java
trunk/wao-business/src/main/xmi/wao.zargo
trunk/wao-business/src/test/java/fr/ifremer/wao/ErrorDB1_0Test.java
trunk/wao-business/src/test/java/fr/ifremer/wao/WaoGlobalTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/WaoUtilsTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatInfosImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/entity/SampleRowImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ActivityCalendarImportTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java
trunk/wao-business/src/test/resources/log4j.properties
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/FeedBack.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/Layout.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/AbstractMappedGridDataSource.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/BoatDataSource.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/BusinessUtils.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/ContactDataSource.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/ExportStreamResponse.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/BoatActivityCalendar.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ExceptionReport.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Index.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowHistoric.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/UserProfile.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/AppModule.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/WaoManager.java
Log:
- Use ServiceTransformer (refactor Context managment + service implementations)
- Remove updateFishingZone in createUpdateSampleRow, the topia evol on inverse tagValue resolve issue on saving fishingZone directly in sampleRow (Ano #2237)
Modified: trunk/changelog.txt
===================================================================
--- trunk/changelog.txt 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/changelog.txt 2010-04-01 13:28:03 UTC (rev 402)
@@ -9,6 +9,7 @@
Evolutions
++++++++++
+- [fdesbois] Evo #1980 : Droits "lecture seule" pour les utilisateurs
- [fdesbois] Evo #2233 : Gérer les formats de dates par défaut d'OpenOffice pour
l'import CSV (JJ/MM/AA)
- [fdesbois] Evo #2229 : Gestion du chemin vers les logs de l'application
@@ -30,6 +31,8 @@
Anomalies
+++++++++
+- [fdesbois] Ano #2235 : Temp d'affichage page contacts ou plan
+ d'échantillonnage
- [fdesbois] Ano #2228 : Erreur d'affichage de la synthèse : réactivité de la
saisie dans Allegro
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/pom.xml 2010-04-01 13:28:03 UTC (rev 402)
@@ -215,8 +215,9 @@
<labs.id>154</labs.id>
<!-- libraries version -->
+ <i18n.version>1.2</i18n.version>
<nuitonutils.version>1.2.1-SNAPSHOT</nuitonutils.version>
- <topia.version>2.3.1-SNAPSHOT</topia.version>
+ <topia.version>2.3.2-SNAPSHOT</topia.version>
<eugene.version>2.0</eugene.version>
<tapestry.version>5.1.0.5</tapestry.version>
@@ -233,6 +234,12 @@
</scm>
<build>
+<!-- <resources>
+ <resource>
+ <directory>src/main/filters</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>-->
<pluginManagement>
<plugins>
@@ -266,6 +273,12 @@
</dependencies>
</plugin>
+ <plugin>
+ <groupId>org.nuiton.i18n</groupId>
+ <artifactId>maven-i18n-plugin</artifactId>
+ <version>${i18n.version}</version>
+ </plugin>
+
</plugins>
</pluginManagement>
Added: trunk/wao-business/nbactions.xml
===================================================================
--- trunk/wao-business/nbactions.xml (rev 0)
+++ trunk/wao-business/nbactions.xml 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<actions>
+ <action>
+ <actionName>CUSTOM-offline</actionName>
+ <displayName>offline</displayName>
+ <goals>
+ <goal>clean</goal>
+ <goal>install</goal>
+ <goal>-o</goal>
+ </goals>
+ </action>
+ </actions>
Modified: trunk/wao-business/pom.xml
===================================================================
--- trunk/wao-business/pom.xml 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/pom.xml 2010-04-01 13:28:03 UTC (rev 402)
@@ -132,8 +132,9 @@
<defaultPackage>fr.ifremer.wao</defaultPackage>
<templates>
org.nuiton.topia.generator.TopiaMetaTransformer,
- org.nuiton.topia.generator.InterfaceTransformer,
- org.nuiton.topia.generator.BeanTransformer
+ org.nuiton.topia.generator.BeanTransformer,
+ org.nuiton.topia.generator.ServiceTransformer,
+ org.nuiton.topia.generator.InterfaceTransformer
</templates>
</configuration>
<goals>
@@ -156,6 +157,34 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.nuiton.i18n</groupId>
+ <artifactId>maven-i18n-plugin</artifactId>
+ <executions>
+ <execution>
+ <configuration>
+ <entries>
+ <entry>
+ <basedir>${maven.gen.dir}/java</basedir>
+ </entry>
+ </entries>
+ </configuration>
+ <goals>
+ <goal>parserJava</goal>
+ <goal>gen</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>make-bundle</id>
+ <configuration>
+ <bundleOutputName>wao-business</bundleOutputName>
+ </configuration>
+ <goals>
+ <goal>bundle</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoBusinessException.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoBusinessException.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoBusinessException.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -33,7 +33,7 @@
* Mise a jour: $Date$
* par : $Author$
*/
-public class WaoBusinessException extends WaoException {
+public class WaoBusinessException extends WaoExceptionO {
protected Type type;
Deleted: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContext.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContext.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContext.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -1,248 +0,0 @@
-/**
- * *##%
- * Wao :: Business
- * Copyright (C) 2009 - 2010 Ifremer
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser 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>.
- * ##%*
- */
-
-
-package fr.ifremer.wao;
-
-
-import fr.ifremer.wao.entity.ActivityCalendar;
-import java.io.IOException;
-import java.nio.charset.Charset;
-import java.util.Date;
-import java.util.Properties;
-import org.apache.commons.lang.RandomStringUtils;
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.mail.EmailException;
-import org.apache.commons.mail.SimpleEmail;
-import org.apache.log4j.Level;
-import org.apache.log4j.PatternLayout;
-import org.apache.log4j.RollingFileAppender;
-import org.hibernate.exception.SQLGrammarException;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaContextFactory;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.TopiaNotFoundException;
-import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.topia.persistence.TopiaId;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * WaoContext.java
- *
- * Created on 2009-11-23
- *
- * @author fdesbois
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
- */
-public class WaoContext {
-
- private static final Logger log = LoggerFactory.getLogger(WaoContext.class);
-
- public static final String PROP_FILENAME_LOG_ACTIVITY_IMPORT =
- "wao.log.activityCalendar.import";
- public static final String PROP_FILENAME_LOG_ACTIVITY_ACCESS =
- "wao.log.activityCalendar.access";
- public static final String PROP_EMAIL_HOST = "wao.email.host";
- public static final String PROP_EMAIL_PORT = "wao.email.port";
- public static final String PROP_EMAIL_FROM = "wao.email.from";
- public static final String PROP_VERSION = "wao.version";
- public static final String PROP_SERVER = "wao.server.path";
-
- private static WaoRunner runner;
-
- private static boolean activityCalendarImport;
-
- private static org.apache.log4j.Logger activityCalendarAccessLogger;
-
- public static void setRunner(WaoRunner run) {
- if (log.isDebugEnabled()) {
- log.debug("set runner in context");
- }
- runner = run;
- }
-
- public static Date getCurrentDate() {
- return runner.getCurrentDate();
- }
-
- public static String getProperty(String key) {
- return runner.getConfiguration().getOption(key);
- }
-
- public static TopiaContext getTopiaRootContext() throws WaoException {
- if (runner.getConfiguration() == null) {
- throw new WaoException("Configuration must be set before initializing context");
- }
- try {
- Properties props = runner.getConfiguration().getOptions();
- return TopiaContextFactory.getContext(props);
- } catch (TopiaNotFoundException eee) {
- serviceException(null, eee.getMessage(), eee);
- }
- return null;
- }
-
- public static void setActivityCalendarImport(boolean value) {
- activityCalendarImport = value;
- }
-
- public static boolean isActivityCalendarImportRun() {
- return activityCalendarImport;
- }
-
- public static void addActivityCalendarAccessLog(String message) throws IOException {
- if (activityCalendarAccessLogger == null) {
- // Define appender configuration only once
- String filename = getProperty(PROP_FILENAME_LOG_ACTIVITY_ACCESS);
-
- PatternLayout layout = new PatternLayout();
- layout.setConversionPattern("%d %m%n");
- RollingFileAppender appender = new RollingFileAppender();
- appender.setName("ActivityCalendarAccess");
- appender.setFile(filename);
- appender.setImmediateFlush(true);
- appender.setMaxFileSize("2MB");
- appender.setMaxBackupIndex(10);
- appender.setAppend(true);
- appender.setThreshold(Level.INFO);
- appender.setLayout(layout);
- appender.activateOptions();
-
- activityCalendarAccessLogger =
- org.apache.log4j.Logger.getLogger(ActivityCalendar.class);
-
- activityCalendarAccessLogger.addAppender(appender);
- }
-
- if (log.isDebugEnabled()) {
- log.debug("message : " + message);
- }
-
- activityCalendarAccessLogger.info(message);
- }
-
- public static void serviceException(TopiaContext transaction, String message, Exception eee) throws WaoException {
- if (log.isDebugEnabled()) {
- log.debug("An error occured",eee);
- }
- if (!(eee instanceof WaoException)) {
- //if (!(eee instanceof TopiaException)) {
- try {
- if (transaction != null && !transaction.isClosed()) {
- if (log.isInfoEnabled()) {
- log.info("Saving annulation : Transaction rollback");
- }
- transaction.rollbackTransaction();
- //transaction.closeContext();
- }
- } catch (TopiaException eeee) {
- throw new WaoException("Fatal topia error when close context", eeee);
- }
- //}
- if (eee instanceof SQLGrammarException && log.isErrorEnabled()) {
- log.error("SQL executed with error : " + ((SQLGrammarException)eee).getSQL());
- }
- throw new WaoException(message,eee);
- } else {
- throw (WaoException)eee;
- }
- }
-
- public static void closeTransaction(TopiaContext transaction) throws WaoException {
- try {
- if (transaction != null) {
- transaction.closeContext();
- }
- } catch (TopiaException eee) {
- throw new WaoException("Fatal topia error when close context", eee);
- }
- }
-
- /**
- * Generate a random string of "length" character alphanumeric.
- * @param length number of characters for the final string
- * @return a String of "length" character
- */
- public static String createRandomString(int length) {
-// Random random = new Random();
-// StringBuilder sb = new StringBuilder();
-// while (sb.length() < length) {
-// sb.append(Integer.toHexString(random.nextInt()));
-// }
-// return sb.toString();
- return RandomStringUtils.randomAlphanumeric(length);
- }
-
- public static String encodeString(String string) {
- return MD5.encode(string);
- }
-
- public static String convertId(String topiaId) {
- if (topiaId != null && !topiaId.isEmpty()) {
- int index = topiaId.indexOf('#');
- String id = topiaId.replace('#', 'K');
- return id.substring(index);
- }
- return "";
- }
-
- public static Charset getCsvCharset() {
- return Charset.forName("UTF-8");
- }
-
- public static String prepareSampleRowCode(String code) {
- // Replace single number after year by a double one : 2010_111 -> 2010_0111
- code = code.replaceFirst("_(\\d{3})$", "_0$1");
- // Replace single number after year by a double one : 2010_11 -> 2010_0011
- code = code.replaceFirst("_(\\d{2})$", "_00$1");
- // Replace single number after year by a double one : 2010_1 -> 2010_0001
- code = code.replaceFirst("_(\\d)$", "_000$1");
- return code;
- }
-
- public static <E extends TopiaEntity> boolean prepareTopiaId(Class<E> entityClass, E entity) {
- String topiaId = entity.getTopiaId();
- // TODO-FD20100211 : add this behavior in topia in a
- // new method createOrUpdate
- if (StringUtils.isEmpty(entity.getTopiaId())) {
- topiaId = TopiaId.create(entityClass);
- entity.setTopiaId(topiaId);
- return true;
- }
- return false;
- }
-
- public static void sendEmail(String to, String subject, String msg) throws EmailException {
- SimpleEmail email = new SimpleEmail();
- email.setHostName(getProperty(PROP_EMAIL_HOST));
- email.setSmtpPort(Integer.parseInt(getProperty(PROP_EMAIL_PORT)));
- email.setFrom(getProperty(PROP_EMAIL_FROM));
- email.addTo(to);
- email.setSubject(subject);
- email.setMsg(msg);
- email.setCharset("UTF-8");
- email.send();
- }
-}
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,413 @@
+/**
+ * *##%
+ * Wao :: Business
+ * Copyright (C) 2009 - 2010 Ifremer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser 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>.
+ * ##%*
+ */
+
+
+package fr.ifremer.wao;
+
+import java.nio.charset.Charset;
+import java.util.Date;
+import java.util.Locale;
+import org.apache.commons.lang.RandomStringUtils;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.mail.EmailException;
+import org.apache.commons.mail.SimpleEmail;
+import org.hibernate.exception.SQLGrammarException;
+import org.nuiton.i18n.I18n;
+import org.nuiton.i18n.init.DefaultI18nInitializer;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaContextFactory;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.TopiaNotFoundException;
+import org.nuiton.topia.migration.ManualMigrationEngine;
+import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.TopiaId;
+import org.nuiton.util.ApplicationConfig;
+import org.nuiton.util.ArgumentsParserException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import static org.nuiton.i18n.I18n.n_;
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * WaoContext.java
+ *
+ * Created on 2009-11-23
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author: fdesbois $
+ */
+public class WaoContextImpl implements WaoContextImplementor {
+ private static final Logger log =
+ LoggerFactory.getLogger(WaoContextImpl.class);
+
+// private static WaoRunner runner;
+
+ private boolean activityCalendarImport;
+
+ private Date currentDate;
+
+ private ApplicationConfig configuration;
+
+ private static final String DEFAULT_FILENAME = "Wao.properties";
+
+ private static final String APP_NAME = "wao";
+
+// private static org.apache.log4j.Logger activityCalendarAccessLogger;
+
+// public static void setRunner(WaoRunner run) {
+// if (log.isDebugEnabled()) {
+// log.debug("set runner in context");
+// }
+// runner = run;
+// }
+
+ @Override
+ public Date getCurrentDate() {
+ if (currentDate == null) {
+ return new Date();
+ }
+ return currentDate;
+ }
+
+ public void setCurrentDate(Date date) {
+ currentDate = date;
+ }
+
+ @Override
+ public String getProperty(WaoProperty property) {
+ return getConfiguration().getOption(property.getKey());
+ }
+
+ @Override
+ public ApplicationConfig getConfiguration() {
+ if (configuration == null) {
+ loadDefaultConfiguration();
+ }
+ return configuration;
+ }
+
+ /**
+ * Default configuration file will be loaded using
+ * {@link org.nuiton.util.ApplicationConfig }.
+ * Then the other configuration initialization will be done in
+ * {@link #loadConfiguration(ApplicationConfig)} method.
+ */
+ protected void loadDefaultConfiguration() {
+ try {
+ if (log.isInfoEnabled()) {
+ log.info("load default configuration from " + DEFAULT_FILENAME);
+ }
+ ApplicationConfig conf = new ApplicationConfig();
+ conf.setAppName(APP_NAME);
+ conf.setConfigFileName(DEFAULT_FILENAME);
+ conf.parse(new String[]{});
+
+ conf.printConfig();
+
+ executeMigration(conf);
+
+ loadConfiguration(conf);
+ } catch (ArgumentsParserException eee) {
+ doCatch(eee, n_("wao.error.context.parse"), DEFAULT_FILENAME);
+ }
+ }
+
+ protected void executeMigration(ApplicationConfig conf) {
+ // migration configuration
+ String callBackName = null;
+ String dialect = conf.getOption("hibernate.dialect");
+ if (dialect.contains("PostgreSQL")) {
+ callBackName = PgMigrationCallback.class.getName();
+ } else if (dialect.contains("H2")) {
+ // Unsupported yet
+ callBackName = null;
+ }
+
+ if (callBackName != null) {
+ conf.setOption(
+ ManualMigrationEngine.MIGRATION_APPLICATION_VERSION,
+ WaoDAOHelper.getModelVersion());
+ conf.setOption(
+ ManualMigrationEngine.MIGRATION_MAPPING_DIRECTORY,
+ "oldmappings");
+ conf.setOption(
+ ManualMigrationEngine.MIGRATION_MODEL_NAME,
+ WaoDAOHelper.getModelName());
+ conf.setOption(
+ "topia.service.migration",
+ ManualMigrationEngine.class.getName());
+ conf.setOption(
+ ManualMigrationEngine.MIGRATION_CALLBACK,
+ callBackName);
+ } else {
+ if (log.isWarnEnabled()) {
+ log.warn("Database with dialect " + dialect + " is not " +
+ "supported for migration from 1.0 version");
+ }
+ }
+ }
+
+ /**
+ * Load the application configuration :
+ * <pre>
+ * - Add entities implementation classes for Topia-persistence
+ * </pre>
+ *
+ * @param conf ApplicationConfig
+ */
+ //@Override
+ public void loadConfiguration(ApplicationConfig conf) {
+ configuration = conf;
+ configuration.setOption("topia.persistence.classes",
+ WaoDAOHelper.getImplementationClassesAsString());
+ }
+
+ /**
+ * Start of the application. The application configuration will be loaded
+ * automatically if needed using {@link #loadDefaultConfiguration }. Also
+ * you can manually load the configuration using
+ * {@link #loadConfiguration(ApplicationConfig)}
+ * This start does :
+ * <pre>
+ * - Initialize i18n for error messages
+ * - Create default admin if needed (this will load the topiaRootContext).
+ * </pre>
+ *
+ */
+ @Override
+ public void start() {
+ try {
+ if (log.isInfoEnabled()) {
+ log.info("Start Wao");
+ }
+ I18n.setInitializer(new DefaultI18nInitializer("wao-business"));
+ I18n.init(Locale.FRANCE);
+
+ // Set context in PollenProperty enum to use easily method
+ // getValue() on PollenProperty
+ WaoProperty.setContext(this);
+ // temp
+ WaoContextO.setContext(this);
+
+ // Create the default admin in database
+ WaoGlobal.createDefaultAdmin();
+
+ if (log.isInfoEnabled()) {
+ log.info("wao is started !");
+ }
+
+ } catch (Exception eee) {
+ doCatch(eee, n_("wao.error.context.start"));
+ }
+ }
+
+ /**
+ * Stop the application. Close the Topia rootContext.
+ */
+ @Override
+ public void stop() {
+ try {
+ if (log.isInfoEnabled()) {
+ log.info("Stop Wao");
+ }
+ getTopiaRootContext().closeContext();
+ } catch (Exception eee) {
+ doCatch(eee, n_("wao.error.context.stop"));
+ }
+ }
+
+ protected TopiaContext getTopiaRootContext() throws WaoException {
+ try {
+ return TopiaContextFactory.getContext(
+ getConfiguration().getOptions());
+ } catch (TopiaNotFoundException eee) {
+ doCatch(eee, n_("wao.error.context.getRootContext"));
+ }
+ return null;
+ }
+
+ @Override
+ public TopiaContext beginTransaction() throws TopiaException {
+ return getTopiaRootContext().beginTransaction();
+ }
+
+ @Override
+ public void setActivityCalendarImportRun(boolean value) {
+ activityCalendarImport = value;
+ }
+
+ @Override
+ public boolean isActivityCalendarImportRun() {
+ return activityCalendarImport;
+ }
+
+// @Override
+// public void addActivityCalendarAccessLog(String message) throws IOException {
+// if (activityCalendarAccessLogger == null) {
+// // Define appender configuration only once
+// String filename =
+// WaoProperty.FILENAME_LOG_ACTIVITY_ACCESS.getValue();
+//
+// PatternLayout layout = new PatternLayout();
+// layout.setConversionPattern("%d %m%n");
+// RollingFileAppender appender = new RollingFileAppender();
+// appender.setName("ActivityCalendarAccess");
+// appender.setFile(filename);
+// appender.setImmediateFlush(true);
+// appender.setMaxFileSize("2MB");
+// appender.setMaxBackupIndex(10);
+// appender.setAppend(true);
+// appender.setThreshold(Level.INFO);
+// appender.setLayout(layout);
+// appender.activateOptions();
+//
+// activityCalendarAccessLogger =
+// org.apache.log4j.Logger.getLogger(ActivityCalendar.class);
+//
+// activityCalendarAccessLogger.addAppender(appender);
+// }
+//
+// if (log.isDebugEnabled()) {
+// log.debug("message : " + message);
+// }
+//
+// activityCalendarAccessLogger.info(message);
+// }
+
+ @Override
+ public void doCatch(Exception eee, String message, Object... args)
+ throws WaoException {
+ doCatch(null, eee, message, args);
+ }
+
+ @Override
+ public void doCatch(TopiaContext transaction, Exception eee,
+ String message, Object... args) throws WaoException {
+ if (log.isDebugEnabled()) {
+ log.debug(_(message, args),eee);
+ }
+// if (!(eee instanceof WaoException)) {
+ //if (!(eee instanceof TopiaException)) {
+ try {
+ if (transaction != null && !transaction.isClosed()) {
+ if (log.isInfoEnabled()) {
+ log.info("Saving annulation : Transaction rollback");
+ }
+ transaction.rollbackTransaction();
+ //transaction.closeContext();
+ }
+ } catch (TopiaException eeee) {
+ doCatch(eeee, n_("wao.error.context.rollback"));
+ }
+ //}
+ if (eee instanceof SQLGrammarException && log.isErrorEnabled()) {
+ log.error("SQL executed with error : " + ((SQLGrammarException)eee).getSQL());
+ }
+ throw new WaoException(eee, message, args);
+// } else {
+// throw (WaoException)eee;
+// }
+ }
+
+ @Override
+ public void doFinally(TopiaContext transaction) {
+ if (transaction != null) {
+ try {
+ transaction.closeContext();
+ } catch (TopiaException eee) {
+// if (log.isErrorEnabled()) {
+// log.error(_("wao.error.context.close"), eee);
+// }
+ doCatch(eee, n_("wao.error.context.close"));
+ }
+ }
+ }
+
+ /**
+ * Generate a random string of "length" character alphanumeric.
+ * @param length number of characters for the final string
+ * @return a String of "length" character
+ */
+ @Override
+ public String createRandomString(int length) {
+ return RandomStringUtils.randomAlphanumeric(length);
+ }
+
+ @Override
+ public String encodeString(String string) {
+ return MD5.encode(string);
+ }
+
+ @Override
+ public String convertId(String topiaId) {
+ if (topiaId != null && !topiaId.isEmpty()) {
+ int index = topiaId.indexOf('#');
+ String id = topiaId.replace('#', 'K');
+ return id.substring(index);
+ }
+ return "";
+ }
+
+ @Override
+ public Charset getCsvCharset() {
+ return Charset.forName("UTF-8");
+ }
+
+ @Override
+ public String prepareSampleRowCode(String code) {
+ // Replace single number after year by a double one : 2010_111 -> 2010_0111
+ code = code.replaceFirst("_(\\d{3})$", "_0$1");
+ // Replace single number after year by a double one : 2010_11 -> 2010_0011
+ code = code.replaceFirst("_(\\d{2})$", "_00$1");
+ // Replace single number after year by a double one : 2010_1 -> 2010_0001
+ code = code.replaceFirst("_(\\d)$", "_000$1");
+ return code;
+ }
+
+ @Override
+ public <E extends TopiaEntity> boolean prepareTopiaId(Class<E> entityClass, E entity) {
+ String topiaId = entity.getTopiaId();
+ // TODO-FD20100211 : add this behavior in topia in a
+ // new method createOrUpdate
+ if (StringUtils.isEmpty(entity.getTopiaId())) {
+ topiaId = TopiaId.create(entityClass);
+ entity.setTopiaId(topiaId);
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public void sendEmail(String to, String subject, String msg) throws EmailException {
+ SimpleEmail email = new SimpleEmail();
+ email.setHostName(WaoProperty.EMAIL_HOST.getValue());
+ email.setSmtpPort(Integer.parseInt(WaoProperty.EMAIL_PORT.getValue()));
+ email.setFrom(WaoProperty.EMAIL_FROM.getValue());
+ email.addTo(to);
+ email.setSubject(subject);
+ email.setMsg(msg);
+ email.setCharset("UTF-8");
+ email.send();
+ }
+}
Property changes on: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java
___________________________________________________________________
Added: svn:keywords
+ "Author Date Id Revision HeadURL"
Copied: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextO.java (from rev 396, trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContext.java)
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextO.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextO.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,248 @@
+/**
+ * *##%
+ * Wao :: Business
+ * Copyright (C) 2009 - 2010 Ifremer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser 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>.
+ * ##%*
+ */
+
+
+package fr.ifremer.wao;
+
+
+import fr.ifremer.wao.entity.ActivityCalendar;
+import java.io.IOException;
+import java.nio.charset.Charset;
+import java.util.Date;
+import java.util.Properties;
+import org.apache.commons.lang.RandomStringUtils;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.mail.EmailException;
+import org.apache.commons.mail.SimpleEmail;
+import org.apache.log4j.Level;
+import org.apache.log4j.PatternLayout;
+import org.apache.log4j.RollingFileAppender;
+import org.hibernate.exception.SQLGrammarException;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaContextFactory;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.TopiaNotFoundException;
+import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.TopiaId;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * WaoContext.java
+ *
+ * Created on 2009-11-23
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
+ */
+public class WaoContextO {
+
+ private static final Logger log = LoggerFactory.getLogger(WaoContextO.class);
+
+ private static WaoRunner runner;
+
+ private static boolean activityCalendarImport;
+
+ private static org.apache.log4j.Logger activityCalendarAccessLogger;
+
+ private static WaoContextImpl context;
+
+ public static void setContext(WaoContextImpl context) {
+ if (log.isDebugEnabled()) {
+ log.debug("#### use correct context");
+ }
+ WaoContextO.context = context;
+ }
+
+ public static void setRunner(WaoRunner run) {
+ if (log.isDebugEnabled()) {
+ log.debug("set runner in context");
+ }
+ runner = run;
+ }
+
+ public static Date getCurrentDate() {
+ return context.getCurrentDate();
+ }
+
+ public static String getProperty(String key) {
+ return context.getConfiguration().getOption(key);
+ }
+
+ public static TopiaContext getTopiaRootContext() throws WaoExceptionO {
+ if (context.getConfiguration() == null) {
+ throw new WaoExceptionO("Configuration must be set before initializing context");
+ }
+ try {
+ Properties props = context.getConfiguration().getOptions();
+ return TopiaContextFactory.getContext(props);
+ } catch (TopiaNotFoundException eee) {
+ serviceException(null, eee.getMessage(), eee);
+ }
+ return null;
+ }
+
+ public static void setActivityCalendarImport(boolean value) {
+ activityCalendarImport = value;
+ }
+
+ public static boolean isActivityCalendarImportRun() {
+ return activityCalendarImport;
+ }
+
+ public static void addActivityCalendarAccessLog(String message) throws IOException {
+ if (activityCalendarAccessLogger == null) {
+ // Define appender configuration only once
+ String filename =
+ WaoProperty.FILENAME_LOG_ACTIVITY_ACCESS.getValue();
+
+ PatternLayout layout = new PatternLayout();
+ layout.setConversionPattern("%d %m%n");
+ RollingFileAppender appender = new RollingFileAppender();
+ appender.setName("ActivityCalendarAccess");
+ appender.setFile(filename);
+ appender.setImmediateFlush(true);
+ appender.setMaxFileSize("2MB");
+ appender.setMaxBackupIndex(10);
+ appender.setAppend(true);
+ appender.setThreshold(Level.INFO);
+ appender.setLayout(layout);
+ appender.activateOptions();
+
+ activityCalendarAccessLogger =
+ org.apache.log4j.Logger.getLogger(ActivityCalendar.class);
+
+ activityCalendarAccessLogger.addAppender(appender);
+ }
+
+ if (log.isDebugEnabled()) {
+ log.debug("message : " + message);
+ }
+
+ activityCalendarAccessLogger.info(message);
+ }
+
+ public static void serviceException(TopiaContext transaction, String message, Exception eee) throws WaoExceptionO {
+ if (log.isDebugEnabled()) {
+ log.debug("An error occured",eee);
+ }
+ if (!(eee instanceof WaoExceptionO)) {
+ //if (!(eee instanceof TopiaException)) {
+ try {
+ if (transaction != null && !transaction.isClosed()) {
+ if (log.isInfoEnabled()) {
+ log.info("Saving annulation : Transaction rollback");
+ }
+ transaction.rollbackTransaction();
+ //transaction.closeContext();
+ }
+ } catch (TopiaException eeee) {
+ throw new WaoExceptionO("Fatal topia error when close context", eeee);
+ }
+ //}
+ if (eee instanceof SQLGrammarException && log.isErrorEnabled()) {
+ log.error("SQL executed with error : " + ((SQLGrammarException)eee).getSQL());
+ }
+ throw new WaoExceptionO(message,eee);
+ } else {
+ throw (WaoExceptionO)eee;
+ }
+ }
+
+ public static void closeTransaction(TopiaContext transaction) throws WaoExceptionO {
+ try {
+ if (transaction != null) {
+ transaction.closeContext();
+ }
+ } catch (TopiaException eee) {
+ throw new WaoExceptionO("Fatal topia error when close context", eee);
+ }
+ }
+
+ /**
+ * Generate a random string of "length" character alphanumeric.
+ * @param length number of characters for the final string
+ * @return a String of "length" character
+ */
+ public static String createRandomString(int length) {
+// Random random = new Random();
+// StringBuilder sb = new StringBuilder();
+// while (sb.length() < length) {
+// sb.append(Integer.toHexString(random.nextInt()));
+// }
+// return sb.toString();
+ return RandomStringUtils.randomAlphanumeric(length);
+ }
+
+ public static String encodeString(String string) {
+ return MD5.encode(string);
+ }
+
+ public static String convertId(String topiaId) {
+ if (topiaId != null && !topiaId.isEmpty()) {
+ int index = topiaId.indexOf('#');
+ String id = topiaId.replace('#', 'K');
+ return id.substring(index);
+ }
+ return "";
+ }
+
+ public static Charset getCsvCharset() {
+ return Charset.forName("UTF-8");
+ }
+
+ public static String prepareSampleRowCode(String code) {
+ // Replace single number after year by a double one : 2010_111 -> 2010_0111
+ code = code.replaceFirst("_(\\d{3})$", "_0$1");
+ // Replace single number after year by a double one : 2010_11 -> 2010_0011
+ code = code.replaceFirst("_(\\d{2})$", "_00$1");
+ // Replace single number after year by a double one : 2010_1 -> 2010_0001
+ code = code.replaceFirst("_(\\d)$", "_000$1");
+ return code;
+ }
+
+ public static <E extends TopiaEntity> boolean prepareTopiaId(Class<E> entityClass, E entity) {
+ String topiaId = entity.getTopiaId();
+ // TODO-FD20100211 : add this behavior in topia in a
+ // new method createOrUpdate
+ if (StringUtils.isEmpty(entity.getTopiaId())) {
+ topiaId = TopiaId.create(entityClass);
+ entity.setTopiaId(topiaId);
+ return true;
+ }
+ return false;
+ }
+
+ public static void sendEmail(String to, String subject, String msg) throws EmailException {
+ SimpleEmail email = new SimpleEmail();
+ email.setHostName(WaoProperty.EMAIL_HOST.getValue());
+ email.setSmtpPort(Integer.parseInt(WaoProperty.EMAIL_PORT.getValue()));
+ email.setFrom(WaoProperty.EMAIL_FROM.getValue());
+ email.addTo(to);
+ email.setSubject(subject);
+ email.setMsg(msg);
+ email.setCharset("UTF-8");
+ email.send();
+ }
+}
Deleted: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoException.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoException.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoException.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -1,44 +0,0 @@
-/*
- * *##%
- * Wao :: Business
- * Copyright (C) 2009 - 2010 Ifremer
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser 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>.
- * ##%*
- */
-
-package fr.ifremer.wao;
-
-/**
- * WaoException
- *
- * Created: 7 nov. 2009
- *
- * @author fdesbois
- * @version $Revision$
- *
- * Mise a jour: $Date$
- * par : $Author$
- */
-public class WaoException extends Exception {
-
- public WaoException(String msg) {
- super(msg);
- }
-
- public WaoException(String msg, Throwable cause) {
- super(msg, cause);
- }
-}
Copied: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoExceptionO.java (from rev 395, trunk/wao-business/src/main/java/fr/ifremer/wao/WaoException.java)
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoExceptionO.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoExceptionO.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,44 @@
+/*
+ * *##%
+ * Wao :: Business
+ * Copyright (C) 2009 - 2010 Ifremer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser 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>.
+ * ##%*
+ */
+
+package fr.ifremer.wao;
+
+/**
+ * WaoException
+ *
+ * Created: 7 nov. 2009
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public class WaoExceptionO extends Exception {
+
+ public WaoExceptionO(String msg) {
+ super(msg);
+ }
+
+ public WaoExceptionO(String msg, Throwable cause) {
+ super(msg, cause);
+ }
+}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoGlobal.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoGlobal.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoGlobal.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -50,12 +50,12 @@
*
* @throws WaoException
*/
- static void createDefaultAdmin() throws WaoException {
+ static void createDefaultAdmin() throws WaoExceptionO {
TopiaContext transaction = null;
try {
- transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ transaction = WaoContextO.getTopiaRootContext().beginTransaction();
- WaoUserDAO dao = WaoModelDAOHelper.getWaoUserDAO(transaction);
+ WaoUserDAO dao = WaoDAOHelper.getWaoUserDAO(transaction);
long nbUsers = dao.size();
@@ -65,7 +65,7 @@
if (nbUsers == 0) {
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
if (log.isInfoEnabled()) {
log.info("Create first admin : login=\"admin\" / password=\"password\"");
@@ -73,7 +73,7 @@
Company company = companyDAO.create(Company.ACTIVE, false, Company.NAME, "ADMIN");
- String password = WaoContext.encodeString("password");
+ String password = WaoContextO.encodeString("password");
WaoUser user = dao.create(
WaoUser.ROLE, UserRole.ADMIN.ordinal(),
@@ -89,9 +89,9 @@
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(null, "Error during database initialization", eee);
+ WaoContextO.serviceException(null, "Error during database initialization", eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
}
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoProperty.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoProperty.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoProperty.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,53 @@
+
+package fr.ifremer.wao;
+
+/**
+ * WaoProperty
+ *
+ * Created: 31 mars 2010
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public enum WaoProperty {
+ /** Path for log on activityCalendar import **/
+ FILENAME_LOG_ACTIVITY_IMPORT("wao.log.activityCalendar.import"),
+ /** Path for log on activityCalendar access **/
+ FILENAME_LOG_ACTIVITY_ACCESS("wao.log.activityCalendar.access"),
+ /** Host for email **/
+ EMAIL_HOST("wao.email.host"),
+ /** Port for email **/
+ EMAIL_PORT("wao.email.port"),
+ /** From for email **/
+ EMAIL_FROM("wao.email.from"),
+ /** App version **/
+ APP_VERSION("wao.version"),
+ /** Server path **/
+ SERVER_PATH("wao.server.path");
+
+ private String key;
+
+ private static WaoContext context;
+
+ WaoProperty(String key) {
+ this.key = key;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ public static void setContext(WaoContext context) {
+ WaoProperty.context = context;
+ }
+
+ public String getValue() {
+ if (context != null) {
+ return context.getProperty(this);
+ }
+ return WaoContextO.getProperty(key);
+ }
+}
Property changes on: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoProperty.java
___________________________________________________________________
Added: svn:keywords
+ "Author Date Id Revision HeadURL"
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoRunner.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoRunner.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoRunner.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -42,14 +42,14 @@
*
* @throws WaoException
*/
- void start() throws WaoException;
+ void start() throws WaoExceptionO;
/**
* Stop the application.
*
* @throws WaoException
*/
- void stop() throws WaoException;
+ void stop() throws WaoExceptionO;
/**
* Return the current date, depends on environment.
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoRunnerImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoRunnerImpl.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoRunnerImpl.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -53,14 +53,14 @@
}
@Override
- public void start() throws WaoException {
+ public void start() throws WaoExceptionO {
try {
configuration = new ApplicationConfig();
configuration.setAppName("wao");
configuration.setConfigFileName("Wao.properties");
configuration.parse(new String[]{});
configuration.setOption("topia.persistence.classes",
- WaoModelDAOHelper.getImplementationClassesAsString());
+ WaoDAOHelper.getImplementationClassesAsString());
// migration configuration
String callBackName = null;
@@ -75,13 +75,13 @@
if (callBackName != null) {
configuration.setOption(
ManualMigrationEngine.MIGRATION_APPLICATION_VERSION,
- WaoModelDAOHelper.getModelVersion());
+ WaoDAOHelper.getModelVersion());
configuration.setOption(
ManualMigrationEngine.MIGRATION_MAPPING_DIRECTORY,
"oldmappings");
configuration.setOption(
ManualMigrationEngine.MIGRATION_MODEL_NAME,
- WaoModelDAOHelper.getModelName());
+ WaoDAOHelper.getModelName());
configuration.setOption(
"topia.service.migration",
ManualMigrationEngine.class.getName());
@@ -99,22 +99,22 @@
I18n.init(Locale.FRANCE);
// Use the context to set the runner for default environment.
- WaoContext.setRunner(this);
+ WaoContextO.setRunner(this);
// Create the default admin in database
WaoGlobal.createDefaultAdmin();
} catch (Exception eee) {
- WaoContext.serviceException(null,
+ WaoContextO.serviceException(null,
"Error during loadConfiguration from " +
"'Wao.properties' file", eee);
}
}
@Override
- public void stop() throws WaoException {
+ public void stop() throws WaoExceptionO {
try {
- WaoContext.getTopiaRootContext().closeContext();
+ WaoContextO.getTopiaRootContext().closeContext();
} catch (TopiaException eee) {
- WaoContext.serviceException(null, "Error when closing Topia root context", eee);
+ WaoContextO.serviceException(null, "Error when closing Topia root context", eee);
}
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterImpl.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterImpl.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,7 +21,7 @@
package fr.ifremer.wao.bean;
-import fr.ifremer.wao.WaoContext;
+import fr.ifremer.wao.WaoContextO;
import fr.ifremer.wao.entity.FishingZone;
import fr.ifremer.wao.entity.SampleRow;
import java.util.Calendar;
@@ -95,7 +95,7 @@
// Only rows which are not finished will be kept
// Date current = WaoContext.getCurrentDate();
Calendar calendar = new GregorianCalendar();
- calendar.setTime(WaoContext.getCurrentDate());
+ calendar.setTime(WaoContextO.getCurrentDate());
calendar.add(Calendar.MONTH, getNbMonthFinishedFromToday());
query.add(main + "." + SampleRow.PERIOD_END, Op.GE, calendar.getTime());
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatImpl.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatImpl.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,9 +21,9 @@
package fr.ifremer.wao.entity;
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.WaoContext;
-import fr.ifremer.wao.WaoModelDAOHelper;
+import fr.ifremer.wao.WaoExceptionO;
+import fr.ifremer.wao.WaoContextO;
+import fr.ifremer.wao.WaoDAOHelper;
import fr.ifremer.wao.bean.ContactState;
import java.io.Serializable;
import java.util.Date;
@@ -60,16 +60,16 @@
* @see fr.ifremer.wao.bean.ContactState#isFinalState()
*/
@Override
- public boolean canCreateContact(Company company) throws WaoException {
+ public boolean canCreateContact(Company company) throws WaoExceptionO {
boolean result = true;
if (!getActive()) {
result = false;
} else {
TopiaContext transaction = null;
try {
- transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ transaction = WaoContextO.getTopiaRootContext().beginTransaction();
- ContactDAO dao = WaoModelDAOHelper.getContactDAO(transaction);
+ ContactDAO dao = WaoDAOHelper.getContactDAO(transaction);
Contact contact = dao.findByQuery(dao.createQueryLastContactForBoat(this, company));
if (contact != null) {
@@ -78,12 +78,12 @@
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible de récupérer les informations privées du navire lié à la société " +
"'" + company.getName() + "'",
eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
}
return result;
@@ -99,25 +99,25 @@
* @see fr.ifremer.wao.entity.ContactDAO#createQueryDoneContactsFromDate(Boat, Date)
*/
@Override
- public int getNbBoarding(Date fromDate) throws WaoException {
+ public int getNbBoarding(Date fromDate) throws WaoExceptionO {
TopiaContext transaction = null;
int result = 0;
try {
- transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ transaction = WaoContextO.getTopiaRootContext().beginTransaction();
- ContactDAO dao = WaoModelDAOHelper.getContactDAO(transaction);
+ ContactDAO dao = WaoDAOHelper.getContactDAO(transaction);
TopiaQuery query = dao.createQueryDoneContactsFromDate(this, fromDate);
result = query.executeCount(transaction);
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible de récupérer le nombre d'embarquements réels depuis le " +
"'" + fromDate + "'",
eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return result;
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatInfosImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatInfosImpl.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatInfosImpl.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,9 +21,9 @@
package fr.ifremer.wao.entity;
-import fr.ifremer.wao.WaoContext;
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.WaoModelDAOHelper;
+import fr.ifremer.wao.WaoContextO;
+import fr.ifremer.wao.WaoExceptionO;
+import fr.ifremer.wao.WaoDAOHelper;
import org.nuiton.topia.framework.TopiaQuery;
import java.io.Serializable;
import org.nuiton.topia.TopiaContext;
@@ -58,13 +58,13 @@
* @see fr.ifremer.wao.entity.ContactDAO#createQueryDoneContactsFromDate(Boat, Date)
*/
@Override
- public int getNbBoardingForCompany(Date fromDate) throws WaoException {
+ public int getNbBoardingForCompany(Date fromDate) throws WaoExceptionO {
TopiaContext transaction = null;
int result = 0;
try {
- transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ transaction = WaoContextO.getTopiaRootContext().beginTransaction();
- ContactDAO dao = WaoModelDAOHelper.getContactDAO(transaction);
+ ContactDAO dao = WaoDAOHelper.getContactDAO(transaction);
TopiaQuery query = dao.createQueryDoneContactsFromDate(getBoat(), fromDate);
query.add(Contact.OBSERVER + "." + WaoUser.COMPANY, getCompany());
@@ -73,12 +73,12 @@
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible de récupérer le nombre d'embarquements réels depuis le " +
"'" + fromDate + "' pour la société '" + getCompany().getName() + "'",
eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return result;
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/CompanyImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/CompanyImpl.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/CompanyImpl.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,7 +21,7 @@
package fr.ifremer.wao.entity;
-import fr.ifremer.wao.WaoContext;
+import fr.ifremer.wao.WaoContextO;
import java.io.Serializable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -50,6 +50,6 @@
*/
@Override
public String getId() {
- return WaoContext.convertId(getTopiaId());
+ return WaoContextO.convertId(getTopiaId());
}
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleMonthImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleMonthImpl.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleMonthImpl.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,9 +21,9 @@
package fr.ifremer.wao.entity;
-import fr.ifremer.wao.WaoContext;
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.WaoModelDAOHelper;
+import fr.ifremer.wao.WaoContextO;
+import fr.ifremer.wao.WaoExceptionO;
+import fr.ifremer.wao.WaoDAOHelper;
import java.io.Serializable;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
@@ -59,12 +59,12 @@
* @throws WaoException for saving problem
*/
@Override
- public void addRealTideTime(int nbDays) throws WaoException {
+ public void addRealTideTime(int nbDays) throws WaoExceptionO {
TopiaContext transaction = null;
try {
- transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ transaction = WaoContextO.getTopiaRootContext().beginTransaction();
- SampleMonthDAO dao = WaoModelDAOHelper.getSampleMonthDAO(transaction);
+ SampleMonthDAO dao = WaoDAOHelper.getSampleMonthDAO(transaction);
SampleMonth month = dao.findByTopiaId(getTopiaId());
int result = month.getRealTidesValue() + nbDays;
if (result < 0) {
@@ -79,11 +79,11 @@
transaction.commitTransaction();
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible d'enregistrer le nombre de marées réels pour le mois de " +
formatMonth() + " [ligne : " + this.getSampleRow().getCode() + "]", eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
}
@@ -97,7 +97,7 @@
@Override
public boolean isCurrentMonth() {
Calendar current = new GregorianCalendar();
- current.setTime(WaoContext.getCurrentDate());
+ current.setTime(WaoContextO.getCurrentDate());
Calendar calendar = new GregorianCalendar();
calendar.setTime(getPeriodDate());
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,9 +21,9 @@
package fr.ifremer.wao.entity;
-import fr.ifremer.wao.WaoContext;
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.WaoModelDAOHelper;
+import fr.ifremer.wao.WaoContextO;
+import fr.ifremer.wao.WaoExceptionO;
+import fr.ifremer.wao.WaoDAOHelper;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Calendar;
@@ -209,7 +209,7 @@
}
@Override
- public boolean addRealTideTime(Contact contact) throws WaoException {
+ public boolean addRealTideTime(Contact contact) throws WaoExceptionO {
if (contact.getTideEndDate() == null || contact.getTideBeginDate() == null) {
return false;
}
@@ -226,7 +226,7 @@
}
@Override
- public void removeRealTideTime(Contact contact) throws WaoException {
+ public void removeRealTideTime(Contact contact) throws WaoExceptionO {
if (contact.getTideEndDate() == null || contact.getTideBeginDate() == null) {
return;
}
@@ -247,14 +247,14 @@
@Override
public boolean isStarted() {
- Date current = WaoContext.getCurrentDate();
+ Date current = WaoContextO.getCurrentDate();
return current.after(getPeriodBegin()) || current.equals(getPeriodBegin());
}
@Override
public boolean isFinished(int nbMonths) {
Calendar calendar = new GregorianCalendar();
- calendar.setTime(WaoContext.getCurrentDate());
+ calendar.setTime(WaoContextO.getCurrentDate());
calendar.add(Calendar.MONTH, nbMonths);
return calendar.getTime().after(getPeriodEnd());
}
@@ -288,7 +288,7 @@
* @throws WaoException
*/
@Override
- public void saveSampleRowLog(SampleRowLog rowLog) throws WaoException {
+ public void saveSampleRowLog(SampleRowLog rowLog) throws WaoExceptionO {
TopiaContext transaction = null;
try {
if (log.isInfoEnabled()) {
@@ -298,10 +298,10 @@
" _ authorRole = " + author.getUserRole());
}
- transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ transaction = WaoContextO.getTopiaRootContext().beginTransaction();
SampleRowLogDAO logDAO =
- WaoModelDAOHelper.getSampleRowLogDAO(transaction);
+ WaoDAOHelper.getSampleRowLogDAO(transaction);
logDAO.create(rowLog);
@@ -311,11 +311,11 @@
// WaoContext.PROP_EMAIL_FROM
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible d'enregistrer le commentaire écrit par "
+ rowLog.getAuthor().getFullName(), eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,7 +21,7 @@
package fr.ifremer.wao.entity;
-import fr.ifremer.wao.WaoContext;
+import fr.ifremer.wao.WaoContextO;
import fr.ifremer.wao.bean.UserRole;
import java.io.Serializable;
import org.slf4j.Logger;
@@ -64,7 +64,7 @@
*/
@Override
public String getId() {
- return WaoContext.convertId(getTopiaId());
+ return WaoContextO.convertId(getTopiaId());
}
@Override
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/ImportHelper.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/ImportHelper.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/ImportHelper.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -94,7 +94,7 @@
time.setTime(timeFormat.parse(code));
} else {
// Use current date with no time as a reference if no code is set
- time.setTime(WaoContext.getCurrentDate());
+ time.setTime(WaoContextO.getCurrentDate());
time.set(Calendar.HOUR_OF_DAY, 0);
time.set(Calendar.MINUTE, 0);
time.set(Calendar.SECOND, 0);
@@ -110,14 +110,14 @@
result.set(Calendar.SECOND, time.get(Calendar.SECOND));
result.set(Calendar.MILLISECOND, time.get(Calendar.MILLISECOND));
} else {
- result.setTime(WaoContext.getCurrentDate());
+ result.setTime(WaoContextO.getCurrentDate());
}
return result.getTime();
}
public static String readSampleRowCode(CsvReader reader) throws IOException {
String code = read(reader, SAMPLING.PLAN_CODE);
- return WaoContext.prepareSampleRowCode(code);
+ return WaoContextO.prepareSampleRowCode(code);
}
/**
Deleted: trunk/wao-business/src/main/java/fr/ifremer/wao/mock/ServiceNewsMock.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/mock/ServiceNewsMock.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/mock/ServiceNewsMock.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -1,113 +0,0 @@
-/*
- * *##%
- * Wao :: Business
- * Copyright (C) 2009 - 2010 Ifremer
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser 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>.
- * ##%*
- */
-
-package fr.ifremer.wao.mock;
-
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.entity.News;
-import fr.ifremer.wao.entity.NewsImpl;
-import fr.ifremer.wao.service.ServiceNews;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * ServiceNewsMock
- *
- * Created: 7 nov. 2009
- *
- * @author fdesbois
- * @version $Revision$
- *
- * Mise a jour: $Date$
- * par : $Author$
- */
-public class ServiceNewsMock implements ServiceNews {
-
- private static final Logger log = LoggerFactory.getLogger(ServiceNewsMock.class);
-
- @Override
- public List<News> getNews() throws WaoException {
- List<News> results = new ArrayList<News>();
-
- Integer[] tab = new Integer[12];
-
- News news = new NewsImpl();
- news.setTopiaCreateDate(new Date());
- news.setTitle("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent mattis sapien sed nisi consequat tempus");
- news.setContent("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent mattis sapien sed nisi consequat tempus. " +
- "Donec interdum egestas erat, varius viverra nisi sollicitudin ut. Aenean viverra luctus urna. Fusce et erat " +
- "ut sem ornare pretium. Phasellus sit amet est erat. Donec fringilla auctor elit ac aliquet. Maecenas quis orci " +
- "dolor, et semper turpis. Suspendisse sit amet euismod libero. Duis in lorem augue, at feugiat est. Aliquam " +
- "ultricies adipiscing tempor. Donec enim mi, sollicitudin et cursus et, tristique vitae odio. Aenean adipiscing, " +
- "diam ullamcorper scelerisque commodo, neque nisi congue ante, ut dignissim dolor mi id est. Ut sed fringilla " +
- "turpis. Integer accumsan vehicula turpis sit amet luctus. Integer ac nunc purus. Phasellus id bibendum quam. " +
- "Curabitur eu dolor mauris. Phasellus sed nunc felis, nec commodo urna.<br />" +
- "Mauris non purus dui, sit amet lacinia eros. Mauris dictum lectus sed dolor pulvinar porttitor vitae " +
- "vel quam. Etiam non nibh a mauris tincidunt eleifend. Cum sociis natoque penatibus et magnis dis parturient" +
- " montes, nascetur ridiculus mus. Curabitur odio dui, hendrerit feugiat malesuada et, interdum eu odio. Aenean" +
- " tincidunt, dui nec egestas malesuada, risus urna pharetra risus, quis hendrerit massa est at elit. Quisque porttitor" +
- " malesuada arcu in tempor. Nunc quis dolor dui, ac laoreet mi. Donec suscipit nunc vel tellus pellentesque consequat." +
- " Maecenas eget nunc mi, at porttitor enim. Morbi ornare, magna at faucibus consequat, mauris tellus commodo ante, a dictum" +
- " risus arcu eu turpis. Nam lacinia, enim sit amet consectetur gravida, quam nibh porttitor mauris, ut euismod neque nisi" +
- " eu nunc. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus sem libero," +
- " blandit vel posuere eget, iaculis viverra mi. Aenean sit amet lobortis lorem. Nullam non enim ante. ");
-
- results.add(news);
-
- news = new NewsImpl();
- news.setTopiaCreateDate(new Date());
- news.setTitle("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent mattis sapien sed nisi consequat tempus");
- news.setContent("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent mattis sapien sed nisi consequat tempus. " +
- "Donec interdum egestas erat, varius viverra nisi sollicitudin ut. Aenean viverra luctus urna. Fusce et erat " +
- "ut sem ornare pretium. Phasellus sit amet est erat. Donec fringilla auctor elit ac aliquet. Maecenas quis orci " +
- "dolor, et semper turpis. Suspendisse sit amet euismod libero. Duis in lorem augue, at feugiat est. Aliquam " +
- "ultricies adipiscing tempor. Donec enim mi, sollicitudin et cursus et, tristique vitae odio. Aenean adipiscing, " +
- "diam ullamcorper scelerisque commodo, neque nisi congue ante, ut dignissim dolor mi id est. Ut sed fringilla " +
- "turpis. Integer accumsan vehicula turpis sit amet luctus. Integer ac nunc purus. Phasellus id bibendum quam. " +
- "Curabitur eu dolor mauris. Phasellus sed nunc felis, nec commodo urna.<br />" +
- "Mauris non purus dui, sit amet lacinia eros. Mauris dictum lectus sed dolor pulvinar porttitor vitae " +
- "vel quam. Etiam non nibh a mauris tincidunt eleifend. Cum sociis natoque penatibus et magnis dis parturient" +
- " montes, nascetur ridiculus mus. Curabitur odio dui, hendrerit feugiat malesuada et, interdum eu odio. Aenean" +
- " tincidunt, dui nec egestas malesuada, risus urna pharetra risus, quis hendrerit massa est at elit. Quisque porttitor" +
- " malesuada arcu in tempor. Nunc quis dolor dui, ac laoreet mi. Donec suscipit nunc vel tellus pellentesque consequat." +
- " Maecenas eget nunc mi, at porttitor enim. Morbi ornare, magna at faucibus consequat, mauris tellus commodo ante, a dictum" +
- " risus arcu eu turpis. Nam lacinia, enim sit amet consectetur gravida, quam nibh porttitor mauris, ut euismod neque nisi" +
- " eu nunc. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus sem libero," +
- " blandit vel posuere eget, iaculis viverra mi. Aenean sit amet lobortis lorem. Nullam non enim ante. ");
-
- results.add(news);
-
- if (log.isDebugEnabled()) {
- log.debug("nb news : " + results.size());
- }
-
- return results;
- }
-
- @Override
- public void saveNews(News news, boolean delete) throws WaoException {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
-}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ActivityCalendarImport.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ActivityCalendarImport.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ActivityCalendarImport.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -42,7 +42,6 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.Writer;
-import java.nio.charset.Charset;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@@ -70,6 +69,8 @@
*/
public class ActivityCalendarImport implements Runnable {
+ private WaoContextImplementor context;
+
private InputStream input;
private Writer writer;
@@ -120,11 +121,12 @@
}
}
- public ActivityCalendarImport(InputStream input) throws IOException {
+ public ActivityCalendarImport(WaoContextImplementor context,
+ InputStream input) throws IOException {
super();
+ this.context = context;
this.input = input;
- String filename = WaoContext.getProperty(
- WaoContext.PROP_FILENAME_LOG_ACTIVITY_IMPORT);
+ String filename = WaoProperty.FILENAME_LOG_ACTIVITY_IMPORT.getValue();
File file = new File(filename);
file.getParentFile().mkdirs();
if (file.exists()) {
@@ -137,12 +139,12 @@
@Override
public void run() {
TopiaContext transaction = null;
- WaoContext.setActivityCalendarImport(true);
+ context.setActivityCalendarImportRun(true);
int currRow = 1;
try {
- transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ transaction = context.beginTransaction();
- CsvReader reader = new CsvReader(input, WaoContext.getCsvCharset());
+ CsvReader reader = new CsvReader(input, context.getCsvCharset());
long startTime = System.currentTimeMillis();
@@ -156,11 +158,11 @@
Map<ActivityCalendarKey, ActivityCalendar> availableCalendars = new HashMap<ActivityCalendarKey, ActivityCalendar>();
- BoatDAO boatDAO = WaoModelDAOHelper.getBoatDAO(transaction);
- ActivityCalendarDAO calendarDAO = WaoModelDAOHelper.getActivityCalendarDAO(transaction);
- ActivityMonthDAO monthDAO = WaoModelDAOHelper.getActivityMonthDAO(transaction);
- ActivityProfessionDAO professionDAO = WaoModelDAOHelper.getActivityProfessionDAO(transaction);
- ActivityZoneDAO zoneDAO = WaoModelDAOHelper.getActivityZoneDAO(transaction);
+ BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
+ ActivityCalendarDAO calendarDAO = WaoDAOHelper.getActivityCalendarDAO(transaction);
+ ActivityMonthDAO monthDAO = WaoDAOHelper.getActivityMonthDAO(transaction);
+ ActivityProfessionDAO professionDAO = WaoDAOHelper.getActivityProfessionDAO(transaction);
+ ActivityZoneDAO zoneDAO = WaoDAOHelper.getActivityZoneDAO(transaction);
while(reader.readRecord()) {
currRow++;
@@ -334,7 +336,7 @@
}
} finally {
IOUtils.closeQuietly(writer);
- WaoContext.setActivityCalendarImport(false);
+ context.setActivityCalendarImportRun(false);
try {
transaction.closeContext();
} catch (TopiaException te) {
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -25,9 +25,9 @@
import com.csvreader.CsvWriter;
import fr.ifremer.wao.WaoBusinessException;
import fr.ifremer.wao.WaoBusinessException.Type;
-import fr.ifremer.wao.WaoContext;
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.WaoModelDAOHelper;
+import fr.ifremer.wao.WaoContextO;
+import fr.ifremer.wao.WaoDAOHelper;
+import fr.ifremer.wao.WaoProperty;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.framework.TopiaQuery;
import org.nuiton.topia.framework.TopiaQuery.Op;
@@ -45,15 +45,14 @@
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.nio.charset.Charset;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.lang.StringUtils;
-import org.apache.commons.lang.time.DurationFormatUtils;
import org.nuiton.topia.TopiaContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -69,29 +68,30 @@
* Mise a jour: $Date$
* par : $Author$
*/
-public class ServiceBoatImpl implements ServiceBoat {
+public class ServiceBoatImpl extends ServiceBoatAbstract {
private static final Logger log = LoggerFactory.getLogger(ServiceBoatImpl.class);
- protected TopiaContext rootContext;
+// protected TopiaContext rootContext;
+//
+// public ServiceBoatImpl() throws WaoExceptionO {
+// rootContext = WaoContextO.getTopiaRootContext();
+// }
- public ServiceBoatImpl() throws WaoException {
- rootContext = WaoContext.getTopiaRootContext();
- }
-
@Override
- public Map<Integer, Boat> getBoatsByFilter(BoatFilter filter) throws WaoException {
- TopiaContext transaction = null;
- Map<Integer, Boat> results = new HashMap<Integer, Boat>();
- try {
- long startTime = 0;
- if (log.isDebugEnabled()) {
- startTime = System.currentTimeMillis();
- }
+ public Map<Integer, Boat> executeGetBoatsByFilter(TopiaContext transaction,
+ List<Object> errorArgs, BoatFilter filter) throws TopiaException {
+// TopiaContext transaction = null;
+// Map<Integer, Boat> results = new HashMap<Integer, Boat>();
+// try {
+// long startTime = 0;
+// if (log.isDebugEnabled()) {
+// startTime = System.currentTimeMillis();
+// }
+//
+// transaction = rootContext.beginTransaction();
- transaction = rootContext.beginTransaction();
-
- BoatDAO dao = WaoModelDAOHelper.getBoatDAO(transaction);
+ BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
TopiaQuery query = dao.createQuery("B");
query = createQueryForBoatFilter(query, filter);
@@ -106,55 +106,56 @@
log.debug("Query : " + query);
}
- results = dao.findAllMappedByQuery(query, Boat.IMMATRICULATION, Integer.class);
+ return dao.findAllMappedByQuery(query, Boat.IMMATRICULATION, Integer.class);
- if (log.isDebugEnabled()) {
- long stopTime = System.currentTimeMillis();
- log.debug("W:[ getBoatsByFilter ] Time = " +
- DurationFormatUtils.formatDurationHMS(
- stopTime - startTime));
- }
-
- } catch (Exception eee) {
- WaoContext.serviceException(transaction, "Impossible de filtrer la liste des navires", eee);
- } finally {
- WaoContext.closeTransaction(transaction);
- }
- return results;
+// if (log.isDebugEnabled()) {
+// long stopTime = System.currentTimeMillis();
+// log.debug("W:[ getBoatsByFilter ] Time = " +
+// DurationFormatUtils.formatDurationHMS(
+// stopTime - startTime));
+// }
+//
+// } catch (Exception eee) {
+// WaoContextO.serviceException(transaction, "Impossible de filtrer la liste des navires", eee);
+// } finally {
+// WaoContextO.closeTransaction(transaction);
+// }
+// return results;
}
@Override
- public int getNbBoatsByFilter(BoatFilter filter) throws WaoException {
- TopiaContext transaction = null;
- int result = 0;
- try {
- long startTime = 0;
- if (log.isDebugEnabled()) {
- startTime = System.currentTimeMillis();
- }
-
- transaction = rootContext.beginTransaction();
+ public int executeGetNbBoatsByFilter(TopiaContext transaction,
+ List<Object> errorArgs, BoatFilter filter) throws TopiaException {
+// TopiaContext transaction = null;
+// int result = 0;
+// try {
+// long startTime = 0;
+// if (log.isDebugEnabled()) {
+// startTime = System.currentTimeMillis();
+// }
+//
+// transaction = rootContext.beginTransaction();
- BoatDAO dao = WaoModelDAOHelper.getBoatDAO(transaction);
+ BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
TopiaQuery query = dao.createQuery("B");
query = createQueryForBoatFilter(query, filter);
- result = query.executeCount();
+ return query.executeCount();
- if (log.isDebugEnabled()) {
- long stopTime = System.currentTimeMillis();
- log.debug("W:[ getNbBoatsByFilter ] Time = " +
- DurationFormatUtils.formatDurationHMS(
- stopTime - startTime));
- }
-
- } catch (Exception eee) {
- WaoContext.serviceException(transaction, "Impossible de filtrer la liste des navires", eee);
- } finally {
- WaoContext.closeTransaction(transaction);
- }
- return result;
+// if (log.isDebugEnabled()) {
+// long stopTime = System.currentTimeMillis();
+// log.debug("W:[ getNbBoatsByFilter ] Time = " +
+// DurationFormatUtils.formatDurationHMS(
+// stopTime - startTime));
+// }
+//
+// } catch (Exception eee) {
+// WaoContextO.serviceException(transaction, "Impossible de filtrer la liste des navires", eee);
+// } finally {
+// WaoContextO.closeTransaction(transaction);
+// }
+// return result;
}
protected TopiaQuery createQueryForBoatFilter(TopiaQuery query, BoatFilter filter) throws TopiaException {
@@ -193,35 +194,43 @@
* The ElligibleBoat entity contains the SampleRow and attributes useful
* to know if the link is active or specific for the company.
*
+ * @param transaction
* @param boatImmatriculation immatriculation of the boat
+ * @param errorArgs
* @param company the Company to filter the ElligibleBoats
* @return an ElligibleBoatsCompany wich contains the map of ElligibleBoat,
* the company and an empty list for deleted elements.
+ * @throws TopiaException
*/
@Override
- public CompanyBoatInfos getCompanyBoatInfos(int boatImmatriculation, Company company)
- throws WaoException {
+ public CompanyBoatInfos executeGetCompanyBoatInfos(TopiaContext transaction,
+ List<Object> errorArgs, int boatImmatriculation, Company company)
+ throws TopiaException {
- Map<String, ElligibleBoat> elligibleBoats = new HashMap<String, ElligibleBoat>();
+ errorArgs.add(boatImmatriculation);
+ errorArgs.add(company.getName());
+
+ Map<String, ElligibleBoat> elligibleBoats =
+ new HashMap<String, ElligibleBoat>();
CompanyBoatInfos result = new CompanyBoatInfosImpl();
result.setCompany(company);
result.setElligibleBoats(elligibleBoats);
result.setDeletedElligibleBoats(new ArrayList<ElligibleBoat>());
- TopiaContext transaction = null;
- try {
- long startTime = 0;
- if (log.isDebugEnabled()) {
- startTime = System.currentTimeMillis();
- }
-
- transaction = rootContext.beginTransaction();
+// TopiaContext transaction = null;
+// try {
+// long startTime = 0;
+// if (log.isDebugEnabled()) {
+// startTime = System.currentTimeMillis();
+// }
+//
+// transaction = rootContext.beginTransaction();
- BoatDAO dao = WaoModelDAOHelper.getBoatDAO(transaction);
+ BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
Boat boat = dao.findByImmatriculation(boatImmatriculation);
- BoatInfosDAO boatInfosDAO = WaoModelDAOHelper.getBoatInfosDAO(transaction);
+ BoatInfosDAO boatInfosDAO = WaoDAOHelper.getBoatInfosDAO(transaction);
BoatInfos boatInfos = boatInfosDAO.findByProperties(
BoatInfos.BOAT, boat, BoatInfos.COMPANY, company);
if (boatInfos == null) {
@@ -253,7 +262,7 @@
}
// Last contact
- ContactDAO contactDAO = WaoModelDAOHelper.getContactDAO(transaction);
+ ContactDAO contactDAO = WaoDAOHelper.getContactDAO(transaction);
TopiaQuery query = contactDAO.createQueryLastContactForBoat(boat, company).
addLoad(Contact.SAMPLE_ROW, Contact.OBSERVER);
@@ -263,46 +272,52 @@
result.setLastContact(contact);
}
- if (log.isDebugEnabled()) {
- long stopTime = System.currentTimeMillis();
- log.debug("W:[ getCompanyBoatInfos ] Time = " +
- DurationFormatUtils.formatDurationHMS(
- stopTime - startTime));
- }
-
-// transaction.closeContext();
- } catch (Exception eee) {
- WaoContext.serviceException(transaction,
- "Impossible de récupérer les informations du navire " +
- "immatriculé '" + boatImmatriculation + "'" +
- " pour la société '" + company.getName() + "'", eee);
- } finally {
- WaoContext.closeTransaction(transaction);
- }
+// if (log.isDebugEnabled()) {
+// long stopTime = System.currentTimeMillis();
+// log.debug("W:[ getCompanyBoatInfos ] Time = " +
+// DurationFormatUtils.formatDurationHMS(
+// stopTime - startTime));
+// }
+//
+//// transaction.closeContext();
+// } catch (Exception eee) {
+// WaoContextO.serviceException(transaction,
+// "Impossible de récupérer les informations du navire " +
+// "immatriculé '" + boatImmatriculation + "'" +
+// " pour la société '" + company.getName() + "'", eee);
+// } finally {
+// WaoContextO.closeTransaction(transaction);
+// }
return result;
}
@Override
- public void createUpdateCompanyBoatInfos(CompanyBoatInfos companyBoatInfos)
- throws WaoException {
- TopiaContext transaction = null;
- try {
- long startTime = 0;
- if (log.isDebugEnabled()) {
- startTime = System.currentTimeMillis();
- }
- transaction = rootContext.beginTransaction();
+ public void executeCreateUpdateCompanyBoatInfos(TopiaContext transaction,
+ List<Object> errorArgs,
+ CompanyBoatInfos companyBoatInfos) throws TopiaException {
+// TopiaContext transaction = null;
+// try {
+// long startTime = 0;
+// if (log.isDebugEnabled()) {
+// startTime = System.currentTimeMillis();
+// }
+// transaction = rootContext.beginTransaction();
- BoatInfosDAO dao = WaoModelDAOHelper.getBoatInfosDAO(transaction);
+ Boat boat = companyBoatInfos.getBoatInfos().getBoat();
+ Company company = companyBoatInfos.getCompany();
+ errorArgs.add(boat.getImmatriculation());
+ errorArgs.add(company.getName());
+ BoatInfosDAO dao = WaoDAOHelper.getBoatInfosDAO(transaction);
+
BoatInfos boatInfos = companyBoatInfos.getBoatInfos();
- WaoContext.prepareTopiaId(BoatInfos.class, boatInfos);
+ context.prepareTopiaId(BoatInfos.class, boatInfos);
dao.update(boatInfos);
- ElligibleBoatDAO elligibleDAO = WaoModelDAOHelper.getElligibleBoatDAO(transaction);
+ ElligibleBoatDAO elligibleDAO = WaoDAOHelper.getElligibleBoatDAO(transaction);
for (ElligibleBoat elligible : companyBoatInfos.getElligibleBoatsValues()) {
- WaoContext.prepareTopiaId(ElligibleBoat.class, elligible);
+ context.prepareTopiaId(ElligibleBoat.class, elligible);
elligibleDAO.update(elligible);
}
@@ -313,39 +328,42 @@
transaction.commitTransaction();
- if (log.isDebugEnabled()) {
- long stopTime = System.currentTimeMillis();
- log.debug("W:[ createUpdateCompanyBoatInfos ] Time = " +
- DurationFormatUtils.formatDurationHMS(
- stopTime - startTime));
- }
- //transaction.closeContext();
- } catch (Exception eee) {
- Boat boat = companyBoatInfos.getBoatInfos().getBoat();
- Company company = companyBoatInfos.getCompany();
- WaoContext.serviceException(transaction,
- "Impossible de créer ou modifier les informations liés au navire " +
- boat.getImmatriculation() + " pour la société " + company.getName(), eee);
- } finally {
- WaoContext.closeTransaction(transaction);
- }
+// if (log.isDebugEnabled()) {
+// long stopTime = System.currentTimeMillis();
+// log.debug("W:[ createUpdateCompanyBoatInfos ] Time = " +
+// DurationFormatUtils.formatDurationHMS(
+// stopTime - startTime));
+// }
+// //transaction.closeContext();
+// } catch (Exception eee) {
+// Boat boat = companyBoatInfos.getBoatInfos().getBoat();
+// Company company = companyBoatInfos.getCompany();
+// WaoContextO.serviceException(transaction,
+// "Impossible de créer ou modifier les informations liés au navire " +
+// boat.getImmatriculation() + " pour la société " + company.getName(), eee);
+// } finally {
+// WaoContextO.closeTransaction(transaction);
+// }
}
@Override
- public List<Boat> getBoatsByImmatriculations(String immatriculations) throws WaoException {
+ public List<Boat> executeGetBoatsByImmatriculations(
+ TopiaContext transaction, List<Object> errorArgs,
+ String immatriculations)
+ throws TopiaException, WaoBusinessException {
List<Boat> boats = new ArrayList<Boat>();
- TopiaContext transaction = null;
+// TopiaContext transaction = null;
if (StringUtils.isEmpty(immatriculations)) {
return boats;
}
- try {
- long startTime = 0;
- if (log.isDebugEnabled()) {
- startTime = System.currentTimeMillis();
- }
- transaction = rootContext.beginTransaction();
+// try {
+// long startTime = 0;
+// if (log.isDebugEnabled()) {
+// startTime = System.currentTimeMillis();
+// }
+// transaction = rootContext.beginTransaction();
- BoatDAO dao = WaoModelDAOHelper.getBoatDAO(transaction);
+ BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
Pattern pattern = Pattern.compile("\\d{6}");
Matcher matcher = pattern.matcher(immatriculations);
@@ -354,93 +372,99 @@
int immatriculation = Integer.parseInt(res);
Boat boat = dao.findByImmatriculation(immatriculation);
if (boat == null) {
- throw new WaoBusinessException(Type.NOT_EXISTS, ServiceBoat.class,
- "Immatriculation " + immatriculation + " incorrect, ne référence aucun navire");
+ throw new WaoBusinessException(Type.NOT_EXISTS,
+ ServiceBoat.class,
+ "Immatriculation " + immatriculation +
+ " incorrect, ne référence aucun navire");
}
boats.add(boat);
}
- if (log.isDebugEnabled()) {
- long stopTime = System.currentTimeMillis();
- log.debug("W:[ getBoatsByImmatriculations ] Time = " +
- DurationFormatUtils.formatDurationHMS(
- stopTime - startTime));
- }
-
- //transaction.closeContext();
- } catch (Exception eee) {
- WaoContext.serviceException(transaction,
- "La chaîne d'immatriculations est incorrect ! Chaque immatriculation doit posséder 6 chiffres", eee);
- } finally {
- WaoContext.closeTransaction(transaction);
- }
+// if (log.isDebugEnabled()) {
+// long stopTime = System.currentTimeMillis();
+// log.debug("W:[ getBoatsByImmatriculations ] Time = " +
+// DurationFormatUtils.formatDurationHMS(
+// stopTime - startTime));
+// }
+//
+// //transaction.closeContext();
+// } catch (Exception eee) {
+// WaoContextO.serviceException(transaction,
+// "La chaîne d'immatriculations est incorrect ! Chaque immatriculation doit posséder 6 chiffres", eee);
+// } finally {
+// WaoContextO.closeTransaction(transaction);
+// }
return boats;
}
@Override
- public Boat getBoat(String boatId) throws WaoException {
- TopiaContext transaction = null;
- Boat result = null;
- try {
- long startTime = 0;
- if (log.isDebugEnabled()) {
- startTime = System.currentTimeMillis();
- }
- transaction = rootContext.beginTransaction();
+ public Boat executeGetBoat(TopiaContext transaction, List<Object> errorArgs,
+ String boatId) throws TopiaException {
+// TopiaContext transaction = null;
+// Boat result = null;
+// try {
+// long startTime = 0;
+// if (log.isDebugEnabled()) {
+// startTime = System.currentTimeMillis();
+// }
+// transaction = rootContext.beginTransaction();
- BoatDAO dao = WaoModelDAOHelper.getBoatDAO(transaction);
+ BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
- result = dao.findByTopiaId(boatId);
+ return dao.findByTopiaId(boatId);
- if (log.isDebugEnabled()) {
- long stopTime = System.currentTimeMillis();
- log.debug("W:[ getBoat ] Time = " +
- DurationFormatUtils.formatDurationHMS(
- stopTime - startTime));
- }
-
- //transaction.closeContext();
- } catch (Exception eee) {
- WaoContext.serviceException(transaction, "Impossible de charger le navire", eee);
- } finally {
- WaoContext.closeTransaction(transaction);
- }
- return result;
+// if (log.isDebugEnabled()) {
+// long stopTime = System.currentTimeMillis();
+// log.debug("W:[ getBoat ] Time = " +
+// DurationFormatUtils.formatDurationHMS(
+// stopTime - startTime));
+// }
+//
+// //transaction.closeContext();
+// } catch (Exception eee) {
+// WaoContextO.serviceException(transaction, "Impossible de charger le navire", eee);
+// } finally {
+// WaoContextO.closeTransaction(transaction);
+// }
+// return result;
}
@Override
- public List<String> getBoatNamesStartWith(String input) throws WaoException {
- TopiaContext transaction = null;
- List<String> results = new ArrayList<String>();
- try {
- long startTime = 0;
- if (log.isDebugEnabled()) {
- startTime = System.currentTimeMillis();
- }
- transaction = rootContext.beginTransaction();
+ public List<String> executeGetBoatNamesStartWith(TopiaContext transaction,
+ List<Object> errorArgs, String input) throws TopiaException {
+// TopiaContext transaction = null;
+// List<String> results = new ArrayList<String>();
+// try {
+// long startTime = 0;
+// if (log.isDebugEnabled()) {
+// startTime = System.currentTimeMillis();
+// }
+// transaction = rootContext.beginTransaction();
input = StringUtils.upperCase(input);
- BoatDAO dao = WaoModelDAOHelper.getBoatDAO(transaction);
+ errorArgs.add(input);
- results = dao.createQuery().addDistinct().setSelect(Boat.NAME).
+ BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
+
+ return dao.createQuery().addDistinct().setSelect(Boat.NAME).
add(Boat.NAME, Op.LIKE, input + "%").execute();
- if (log.isDebugEnabled()) {
- long stopTime = System.currentTimeMillis();
- log.debug("W:[ getBoatNamesStartWith ] Time = " +
- DurationFormatUtils.formatDurationHMS(
- stopTime - startTime));
- }
-
- //transaction.closeContext();
- } catch (Exception eee) {
- WaoContext.serviceException(transaction,
- "Impossible de récupérer les navires avec un nom commencant par '" + input + "'", eee);
- } finally {
- WaoContext.closeTransaction(transaction);
- }
- return results;
+// if (log.isDebugEnabled()) {
+// long stopTime = System.currentTimeMillis();
+// log.debug("W:[ getBoatNamesStartWith ] Time = " +
+// DurationFormatUtils.formatDurationHMS(
+// stopTime - startTime));
+// }
+//
+// //transaction.closeContext();
+// } catch (Exception eee) {
+// WaoContextO.serviceException(transaction,
+// "Impossible de récupérer les navires avec un nom commencant par '" + input + "'", eee);
+// } finally {
+// WaoContextO.closeTransaction(transaction);
+// }
+// return results;
}
/**
@@ -450,48 +474,67 @@
* QUARTIER_IMMA,PER_COD, PER_NOM,PER_PRENOM.
* Existing boats (with same immatriculation) are updated.
*
+ * @param transaction
* @param input Stream corresponding to Csv file
* @return an array with two int : the first corresponding to total number
* of boats imported and the second corresponding only to new boats added.
- * @throws WaoException
+ * @throws TopiaException
+ * @throws IOException
+ * @throws WaoBusinessException
* @see com.csvreader.CsvReader
*/
@Override
- public int[] importBoatCsv(InputStream input) throws WaoException {
- TopiaContext transaction = null;
+ public int[] executeImportBoatCsv(TopiaContext transaction, InputStream input)
+ throws TopiaException, IOException, WaoBusinessException {
+// TopiaContext transaction = null;
int[] result = new int[]{0,0};
- try {
- transaction = rootContext.beginTransaction();
+// try {
+// transaction = rootContext.beginTransaction();
+// long startTime = System.currentTimeMillis();
- CsvReader reader = new CsvReader(input, WaoContext.getCsvCharset());
+ CsvReader reader = new CsvReader(input, context.getCsvCharset());
reader.readHeaders();
-
- long startTime = System.currentTimeMillis();
long tic;
- BoatDAO boatDAO = WaoModelDAOHelper.getBoatDAO(transaction);
- ShipOwnerDAO shipOwnerDAO = WaoModelDAOHelper.getShipOwnerDAO(transaction);
+ BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
+ ShipOwnerDAO shipOwnerDAO = WaoDAOHelper.getShipOwnerDAO(transaction);
Map<String, ShipOwner> availableShipOwners = new HashMap<String, ShipOwner>();
tic = System.currentTimeMillis();
+ Pattern pattern = Pattern.compile("\\d{6}");
while(reader.readRecord()) {
result[0]++;
-// if (log.isTraceEnabled()) {
-// log.trace(" " + Arrays.asList(reader.getValues()));
-// }
+ if (log.isDebugEnabled()) {
+ log.debug(" " + Arrays.asList(reader.getValues()));
+ }
+ String imma = ImportHelper.read(reader, BOAT.NAVS_COD);
+ Matcher matcher = pattern.matcher(imma);
+ if (!matcher.find()) {
+ throw new WaoBusinessException(Type.SYNTAX,
+ ServiceBoat.class,
+ "L'immatriculation ne comporte pas 6 chiffres");
+ }
- int immatriculation = ImportHelper.readInt(reader, BOAT.NAVS_COD);
- String boatName = ImportHelper.read(reader, BOAT.CARN_NOM);
- int boatLength = ImportHelper.readInt(reader, BOAT.CARN_LONGUEUR_HT);
- int buildYear = ImportHelper.readInt(reader, BOAT.CARN_ANNEE);
- String districtCode = ImportHelper.read(reader, BOAT.QUARTIER_IMMA);
- String shipOwnerCode = ImportHelper.read(reader, BOAT.PER_COD);
- String shipOwnerLastName = ImportHelper.read(reader, BOAT.PER_NOM);
- String shipOwnerFirstName = ImportHelper.read(reader, BOAT.PER_PRENOM);
- //String activeStr = reader.get(BOAT.NAVS_ACTIVE.name()).trim();
+ int immatriculation = Integer.parseInt(imma);
+
+ String boatName =
+ ImportHelper.read(reader, BOAT.CARN_NOM);
+ int boatLength =
+ ImportHelper.readInt(reader, BOAT.CARN_LONGUEUR_HT);
+ int buildYear =
+ ImportHelper.readInt(reader, BOAT.CARN_ANNEE);
+ String districtCode =
+ ImportHelper.read(reader, BOAT.QUARTIER_IMMA);
+ String shipOwnerCode =
+ ImportHelper.read(reader, BOAT.PER_COD);
+ String shipOwnerLastName =
+ ImportHelper.read(reader, BOAT.PER_NOM);
+ String shipOwnerFirstName =
+ ImportHelper.read(reader, BOAT.PER_PRENOM);
+
String activeStr = ImportHelper.read(reader, BOAT.NAVS_ACTIVE);
boolean active = !activeStr.equals(BOAT.getBoatInactiveCode());
@@ -503,7 +546,8 @@
Boat boat = boatDAO.findByImmatriculation(immatriculation);
if (boat == null) {
- boat = boatDAO.create(Boat.IMMATRICULATION, immatriculation);
+ boat = boatDAO.create(
+ Boat.IMMATRICULATION, immatriculation);
result[1]++;
}
boat.setName(boatName);
@@ -513,18 +557,16 @@
boat.setActive(active);
// Find existing shipOwner with code
- //ShipOwner shipOwner = shipOwnerDAO.findByCode(shipOwnerCode);
-
ShipOwner shipOwner = availableShipOwners.get(shipOwnerCode);
// If not available, select it from database
if (shipOwner == null) {
- //shipOwner = new TopiaQuery(ShipOwner.class).add(ShipOwner.CODE, shipOwnerCode).executeToEntity(transaction);
shipOwner = shipOwnerDAO.findByCode(shipOwnerCode);
// If not exist yet, create it
if (shipOwner == null) {
- shipOwner = shipOwnerDAO.create(ShipOwner.CODE, shipOwnerCode);
+ shipOwner = shipOwnerDAO.create(
+ ShipOwner.CODE, shipOwnerCode);
}
availableShipOwners.put(shipOwnerCode, shipOwner);
@@ -533,55 +575,57 @@
shipOwner.setLastName(shipOwnerLastName);
boat.setShipOwner(shipOwner);
- //transaction.commitTransaction();
if (result[0] % 1000 == 0) {
availableShipOwners.clear();
transaction.commitTransaction();
- tic = ImportHelper.logTimeAndMemory(log, tic, "navires ligne " + result[0]);
+ tic = ImportHelper.logTimeAndMemory(
+ log, tic, "navires ligne " + result[0]);
}
}
// For the last rows
transaction.commitTransaction();
- long stopTime = System.currentTimeMillis();
-
- String execTime = DurationFormatUtils.formatDurationHMS(stopTime - startTime);
-
- if (log.isInfoEnabled()) {
- log.info("Durée de l'import : " + execTime);
- }
-
- //transaction.closeContext();
- } catch (Exception eee) {
- WaoContext.serviceException(transaction,
- "Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier : [ NAVS_COD,CARN_NOM," +
- "CARN_LONGUEUR_HT,CARN_ANNEE,QUARTIER_IMMA,PER_COD,PER_NOM,PER_PRENOM,NAVS_ACTIVE ]"/* et l'encodage [ UTF-8 ] */ +
- " Voir documentation pour plus de détails.",
- eee);
- } finally {
- WaoContext.closeTransaction(transaction);
- }
+// long stopTime = System.currentTimeMillis();
+//
+// String execTime = DurationFormatUtils.formatDurationHMS(stopTime - startTime);
+//
+// if (log.isInfoEnabled()) {
+// log.info("Durée de l'import : " + execTime);
+// }
+//
+// //transaction.closeContext();
+// } catch (Exception eee) {
+// WaoContextO.serviceException(transaction,
+// "Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier : [ NAVS_COD,CARN_NOM," +
+// "CARN_LONGUEUR_HT,CARN_ANNEE,QUARTIER_IMMA,PER_COD,PER_NOM,PER_PRENOM,NAVS_ACTIVE ]"/* et l'encodage [ UTF-8 ] */ +
+// " Voir documentation pour plus de détails.",
+// eee);
+// } finally {
+// WaoContextO.closeTransaction(transaction);
+// }
return result;
}
@Override
- public InputStream exportBoatCsv(BoatFilter filter) throws WaoException {
- TopiaContext transaction = null;
+ public InputStream executeExportBoatCsv(TopiaContext transaction,
+ BoatFilter filter) throws Exception {
+// TopiaContext transaction = null;
InputStream result = null;
CsvWriter writer = null;
try {
- transaction = rootContext.beginTransaction();
+// transaction = rootContext.beginTransaction();
File file = File.createTempFile("wao-boats-", ".csv");
file.deleteOnExit();
FileOutputStream output = new FileOutputStream(file);
- writer = new CsvWriter(output, ',', WaoContext.getCsvCharset());
+ writer = new CsvWriter(output, ',', context.getCsvCharset());
- ExportHelper<BOAT> export = new ExportHelper<BOAT>(writer, BOAT.getTotalHeaders()) {
+ ExportHelper<BOAT> export =
+ new ExportHelper<BOAT>(writer, BOAT.getTotalHeaders()) {
@Override
public String getHeaderValue(int index) throws IOException {
return WaoCsvHeader.getHeaderForBoatCsv(index);
@@ -596,7 +640,7 @@
export.writeHeaders();
// Get boats from database filterd by filter in argument
- BoatDAO dao = WaoModelDAOHelper.getBoatDAO(transaction);
+ BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
TopiaQuery query = dao.createQuery("B");
query = createQueryForBoatFilter(query, filter);
@@ -612,27 +656,39 @@
export.newRecord();
if (log.isTraceEnabled()) {
- log.trace("add boat : " + boat.getName() + " (" + boat.getImmatriculation() + ")");
+ log.trace("add boat : " + boat.getName() + " (" +
+ boat.getImmatriculation() + ")");
}
- export.record(BOAT.NAVS_COD, String.valueOf(boat.getImmatriculation()));
+ export.record(BOAT.NAVS_COD,
+ String.valueOf(boat.getImmatriculation()));
export.record(BOAT.CARN_NOM, boat.getName());
- export.record(BOAT.CARN_LONGUEUR_HT, String.valueOf(boat.getBoatLength()));
- export.record(BOAT.CARN_ANNEE, String.valueOf(boat.getBuildYear()));
+ export.record(BOAT.CARN_LONGUEUR_HT,
+ String.valueOf(boat.getBoatLength()));
+ export.record(BOAT.CARN_ANNEE,
+ String.valueOf(boat.getBuildYear()));
export.record(BOAT.QUARTIER_IMMA, boat.getDistrictCode());
- export.record(BOAT.NAVS_ACTIVE, (!boat.getActive() ? BOAT.getBoatInactiveCode() : ""));
+ export.record(BOAT.NAVS_ACTIVE,
+ (!boat.getActive() ? BOAT.getBoatInactiveCode() : ""));
if (filter.getCompany() != null) {
- BoatInfos boatInfos = boat.getCompanyBoatInfos(filter.getCompany());
+ BoatInfos boatInfos =
+ boat.getCompanyBoatInfos(filter.getCompany());
if (boatInfos != null) {
- export.record(BOAT.CONT_PRENOM, boatInfos.getContactFirstName());
- export.record(BOAT.CONT_NOM, boatInfos.getContactLastName());
- export.record(BOAT.CONT_EMAIL, boatInfos.getContactEmail());
- export.record(BOAT.CONT_TEL, boatInfos.getContactPhoneNumber());
- export.record(BOAT.NAVS_DUP, String.valueOf(boatInfos.getDup()));
- export.record(BOAT.NAVS_COMMENT, boatInfos.getComment());
+ export.record(BOAT.CONT_PRENOM,
+ boatInfos.getContactFirstName());
+ export.record(BOAT.CONT_NOM,
+ boatInfos.getContactLastName());
+ export.record(BOAT.CONT_EMAIL,
+ boatInfos.getContactEmail());
+ export.record(BOAT.CONT_TEL,
+ boatInfos.getContactPhoneNumber());
+ export.record(BOAT.NAVS_DUP,
+ String.valueOf(boatInfos.getDup()));
+ export.record(BOAT.NAVS_COMMENT,
+ boatInfos.getComment());
}
}
@@ -642,42 +698,51 @@
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
- "Impossible d'exporter les navires sélectionnés", eee);
+ throw eee;
+// WaoContextO.serviceException(transaction,
+// "Impossible d'exporter les navires sélectionnés", eee);
} finally {
if (writer != null) {
writer.close();
}
- WaoContext.closeTransaction(transaction);
+// WaoContextO.closeTransaction(transaction);
}
return result;
}
@Override
- public void importActivityCalendarCsv(InputStream input) throws WaoException {
- if (!WaoContext.isActivityCalendarImportRun()) {
- try {
- ActivityCalendarImport calendarImport = new ActivityCalendarImport(input);
+ public void executeImportActivityCalendarCsv(InputStream input)
+ throws IOException {
+ if (!context.isActivityCalendarImportRun()) {
+// try {
+ ActivityCalendarImport calendarImport =
+ new ActivityCalendarImport(context, input);
new Thread(calendarImport).start();
- } catch (IOException eee) {
- WaoContext.serviceException(null,
- "Problème d'import du fichier CSV des calendriers d'activité", eee);
- }
+// } catch (IOException eee) {
+// WaoContextO.serviceException(null,
+// "Problème d'import du fichier CSV des calendriers d'activité", eee);
+// }
}
}
@Override
- public ActivityCalendar getLastActivityCalendar(WaoUser user, Boat boat) throws WaoException {
- TopiaContext transaction = null;
+ public ActivityCalendar executeGetLastActivityCalendar(
+ TopiaContext transaction, List<Object> errorArgs,
+ WaoUser user, Boat boat) throws TopiaException, IOException {
+
+ errorArgs.add(boat.getName());
+ errorArgs.add(boat.getImmatriculation());
+
+// TopiaContext transaction = null;
ActivityCalendar result = null;
- try {
- long startTime = 0;
- if (log.isDebugEnabled()) {
- startTime = System.currentTimeMillis();
- }
- transaction = rootContext.beginTransaction();
+// try {
+// long startTime = 0;
+// if (log.isDebugEnabled()) {
+// startTime = System.currentTimeMillis();
+// }
+// transaction = rootContext.beginTransaction();
- ActivityCalendarDAO dao = WaoModelDAOHelper.getActivityCalendarDAO(transaction);
+ ActivityCalendarDAO dao = WaoDAOHelper.getActivityCalendarDAO(transaction);
TopiaQuery query = dao.createQuery("A").
add("A." + ActivityCalendar.BOAT, boat);
@@ -705,43 +770,45 @@
// Log ActivityCalendar access only for non admin user
if (!user.isAdmin()) {
Company company = user.getCompany();
- WaoContext.addActivityCalendarAccessLog(
+ // FIXME-FD20100401 Find a way to avoid using old context for
+ // logging access on ActivityCalendar
+ WaoContextO.addActivityCalendarAccessLog(
"Calendrier " + result.getYear() + " du navire " +
boat.getName() + " (" + boat.getImmatriculation() + ") vu " +
"par " + user.getFullName() + " de la société " +
company.getName());
}
- if (log.isDebugEnabled()) {
- long stopTime = System.currentTimeMillis();
- log.debug("W:[ getLastActivityCalendar ] Time = " +
- DurationFormatUtils.formatDurationHMS(
- stopTime - startTime));
- }
-
- //transaction.closeContext();
- } catch (Exception eee) {
- WaoContext.serviceException(transaction,
- "Impossible de charger le dernier calendrier d'activité du navire " +
- boat.getName() + " (" + boat.getImmatriculation() + ")", eee);
- } finally {
- WaoContext.closeTransaction(transaction);
- }
+// if (log.isDebugEnabled()) {
+// long stopTime = System.currentTimeMillis();
+// log.debug("W:[ getLastActivityCalendar ] Time = " +
+// DurationFormatUtils.formatDurationHMS(
+// stopTime - startTime));
+// }
+//
+// //transaction.closeContext();
+// } catch (Exception eee) {
+// WaoContextO.serviceException(transaction,
+// "Impossible de charger le dernier calendrier d'activité du navire " +
+// boat.getName() + " (" + boat.getImmatriculation() + ")", eee);
+// } finally {
+// WaoContextO.closeTransaction(transaction);
+// }
return result;
}
@Override
- public InputStream getActivityCalendarLogFile() throws FileNotFoundException {
- String filename = WaoContext.getProperty(
- WaoContext.PROP_FILENAME_LOG_ACTIVITY_IMPORT);
+ public InputStream executeGetActivityCalendarLogFile()
+ throws FileNotFoundException {
+ String filename = WaoProperty.FILENAME_LOG_ACTIVITY_IMPORT.getValue();
File file = new File(filename);
return new FileInputStream(file);
}
@Override
- public InputStream getActivityCalendarLogAccessFile() throws FileNotFoundException {
- String filename = WaoContext.getProperty(
- WaoContext.PROP_FILENAME_LOG_ACTIVITY_ACCESS);
+ public InputStream executeGetActivityCalendarLogAccessFile()
+ throws FileNotFoundException {
+ String filename = WaoProperty.FILENAME_LOG_ACTIVITY_ACCESS.getValue();
File file = new File(filename);
return new FileInputStream(file);
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -27,9 +27,9 @@
import fr.ifremer.wao.io.ImportHelper.*;
import fr.ifremer.wao.WaoBusinessException;
import fr.ifremer.wao.WaoBusinessException.Type;
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.WaoModelDAOHelper;
-import fr.ifremer.wao.WaoContext;
+import fr.ifremer.wao.WaoExceptionO;
+import fr.ifremer.wao.WaoDAOHelper;
+import fr.ifremer.wao.WaoContextO;
import fr.ifremer.wao.bean.ContactState;
import java.io.IOException;
import java.io.InputStream;
@@ -95,12 +95,12 @@
protected TopiaContext rootContext;
- public ServiceContactImpl() throws WaoException {
- rootContext = WaoContext.getTopiaRootContext();
+ public ServiceContactImpl() throws WaoExceptionO {
+ rootContext = WaoContextO.getTopiaRootContext();
}
@Override
- public Map<String, Contact> getContacts(ContactFilter filter) throws WaoException {
+ public Map<String, Contact> getContacts(ContactFilter filter) throws WaoExceptionO {
Map<String, Contact> results = new HashMap<String, Contact>();
TopiaContext transaction = null;
try {
@@ -110,7 +110,7 @@
}
transaction = rootContext.beginTransaction();
- ContactDAO dao = WaoModelDAOHelper.getContactDAO(transaction);
+ ContactDAO dao = WaoDAOHelper.getContactDAO(transaction);
TopiaQuery query = dao.createQuery("C").addDistinct();
@@ -134,16 +134,16 @@
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible de filtrer la liste des contacts", eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return results;
}
@Override
- public int getNbContacts(ContactFilter filter) throws WaoException {
+ public int getNbContacts(ContactFilter filter) throws WaoExceptionO {
TopiaContext transaction = null;
int result = 0;
try {
@@ -153,7 +153,7 @@
}
transaction = rootContext.beginTransaction();
- ContactDAO dao = WaoModelDAOHelper.getContactDAO(transaction);
+ ContactDAO dao = WaoDAOHelper.getContactDAO(transaction);
TopiaQuery query = dao.createQuery("C");
query = filter.prepareQueryForContact(query);
@@ -168,10 +168,10 @@
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible de compter le nombre de contacts filtrés", eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return result;
}
@@ -187,7 +187,7 @@
}
@Override
- public void saveContact(Contact contact, boolean delete) throws WaoException {
+ public void saveContact(Contact contact, boolean delete) throws WaoExceptionO {
TopiaContext transaction = null;
try {
long startTime = 0;
@@ -196,13 +196,13 @@
}
transaction = rootContext.beginTransaction();
- ContactDAO dao = WaoModelDAOHelper.getContactDAO(transaction);
+ ContactDAO dao = WaoDAOHelper.getContactDAO(transaction);
if (log.isDebugEnabled()) {
log.debug("Create date : " + contact.getTopiaCreateDate());
}
- WaoContext.prepareTopiaId(Contact.class, contact);
+ WaoContextO.prepareTopiaId(Contact.class, contact);
if (delete) {
dao.delete(contact);
} else {
@@ -219,16 +219,16 @@
}
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible de sauvegarder le contact", eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
}
@Override
public InputStream exportContactCsv(ContactFilter filter)
- throws WaoException {
+ throws WaoExceptionO {
TopiaContext transaction = null;
InputStream result = null;
CsvWriter writer = null;
@@ -243,7 +243,7 @@
}
FileOutputStream output = new FileOutputStream(file);
- writer = new CsvWriter(output, ',', WaoContext.getCsvCharset());
+ writer = new CsvWriter(output, ',', WaoContextO.getCsvCharset());
ExportHelper<ContactHeader> export = new ExportHelper<ContactHeader>(writer, CONTACT.getTotalHeaders()) {
@@ -266,7 +266,7 @@
DateFormat dateFormat = CONTACT.getDateFormat();
// Get contacts from database
- ContactDAO dao = WaoModelDAOHelper.getContactDAO(transaction);
+ ContactDAO dao = WaoDAOHelper.getContactDAO(transaction);
TopiaQuery query = dao.createQuery("C");
query.addOrderDesc("C." + TopiaEntity.TOPIA_CREATE_DATE);
@@ -351,19 +351,19 @@
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible d'exporter les contacts", eee);
} finally {
if (writer != null) {
writer.close();
}
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return result;
}
@Override
- public ImportResults importContactCsv(WaoUser user, InputStream input) throws WaoException {
+ public ImportResults importContactCsv(WaoUser user, InputStream input) throws WaoExceptionO {
TopiaContext transaction = null;
ImportResults result = new ImportResultsImpl();
int currRow = 1;
@@ -371,14 +371,14 @@
try {
transaction = rootContext.beginTransaction();
- reader = new CsvReader(input, WaoContext.getCsvCharset());
+ reader = new CsvReader(input, WaoContextO.getCsvCharset());
reader.readHeaders();
- ContactDAO dao = WaoModelDAOHelper.getContactDAO(transaction);
- WaoUserDAO userDAO = WaoModelDAOHelper.getWaoUserDAO(transaction);
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
- SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
- BoatDAO boatDAO = WaoModelDAOHelper.getBoatDAO(transaction);
+ ContactDAO dao = WaoDAOHelper.getContactDAO(transaction);
+ WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
+ CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
+ BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
long tic;
tic = System.currentTimeMillis();
@@ -424,7 +424,7 @@
if (boat != null) {
- ElligibleBoatDAO elligibleDAO = WaoModelDAOHelper.getElligibleBoatDAO(transaction);
+ ElligibleBoatDAO elligibleDAO = WaoDAOHelper.getElligibleBoatDAO(transaction);
ElligibleBoat elligible = elligibleDAO.findByProperties(
ElligibleBoat.BOAT, boat, ElligibleBoat.SAMPLE_ROW, row);
@@ -550,7 +550,7 @@
//transaction.closeContext();
} catch (ParseException eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Erreur ligne " + currRow + " : " +
"Le format des dates est incorrect, il doit être de la forme : JJ/MM/AAAA", eee);
} catch (Exception eee) {
@@ -561,10 +561,10 @@
log.error("Reader error", ex);
}
}
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible d'importer les contacts", eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return result;
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceNewsImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceNewsImpl.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceNewsImpl.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,15 +21,12 @@
package fr.ifremer.wao.service;
-import fr.ifremer.wao.WaoContext;
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.WaoModelDAOHelper;
+import fr.ifremer.wao.WaoDAOHelper;
import fr.ifremer.wao.entity.News;
import fr.ifremer.wao.entity.NewsDAO;
-import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.lang.time.DurationFormatUtils;
import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaEntity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -45,82 +42,88 @@
* Mise a jour: $Date$
* par : $Author$
*/
-public class ServiceNewsImpl implements ServiceNews {
+public class ServiceNewsImpl extends ServiceNewsAbstract {
- private static final Logger log = LoggerFactory.getLogger(ServiceNewsImpl.class);
+ private static final Logger logger =
+ LoggerFactory.getLogger(ServiceNewsImpl.class);
- protected TopiaContext rootContext;
+// protected TopiaContext rootContext;
+//
+// public ServiceNewsImpl() throws WaoExceptionO {
+// rootContext = WaoContextO.getTopiaRootContext();
+// }
- public ServiceNewsImpl() throws WaoException {
- rootContext = WaoContext.getTopiaRootContext();
- }
-
@Override
- public List<News> getNews() throws WaoException {
- TopiaContext transaction = null;
- List<News> results = new ArrayList<News>();
- try {
- long startTime = 0;
- if (log.isDebugEnabled()) {
- startTime = System.currentTimeMillis();
- }
- transaction = rootContext.beginTransaction();
+ public List<News> executeGetNews(TopiaContext transaction) throws TopiaException {
+// TopiaContext transaction = null;
+// List<News> results = new ArrayList<News>();
+// try {
+// long startTime = 0;
+// if (log.isDebugEnabled()) {
+// startTime = System.currentTimeMillis();
+// }
+// transaction = rootContext.beginTransaction();
- NewsDAO dao = WaoModelDAOHelper.getNewsDAO(transaction);
+ NewsDAO dao = WaoDAOHelper.getNewsDAO(transaction);
- results = dao.findAllWithOrder(TopiaEntity.TOPIA_CREATE_DATE + " DESC");
+ return dao.findAllWithOrder(TopiaEntity.TOPIA_CREATE_DATE +
+ " DESC");
- if (log.isDebugEnabled()) {
- long stopTime = System.currentTimeMillis();
- log.debug("W:[ getNews ] Time = " +
- DurationFormatUtils.formatDurationHMS(
- stopTime - startTime));
- }
-
- //transaction.closeContext();
- } catch (Exception eee) {
- WaoContext.serviceException(transaction,
- "Impossible de récupérer l'ensemble des news", eee);
- } finally {
- WaoContext.closeTransaction(transaction);
- }
- return results;
+// if (log.isDebugEnabled()) {
+// long stopTime = System.currentTimeMillis();
+// log.debug("W:[ getNews ] Time = " +
+// DurationFormatUtils.formatDurationHMS(
+// stopTime - startTime));
+// }
+//
+// //transaction.closeContext();
+// } catch (Exception eee) {
+// WaoContextO.serviceException(transaction,
+// "Impossible de récupérer l'ensemble des news", eee);
+// } finally {
+// WaoContextO.closeTransaction(transaction);
+// }
+// return results;
}
@Override
- public void saveNews(News news, boolean delete) throws WaoException {
- TopiaContext transaction = null;
- try {
- long startTime = 0;
- if (log.isDebugEnabled()) {
- startTime = System.currentTimeMillis();
- }
- transaction = rootContext.beginTransaction();
+ public void executeSaveNews(TopiaContext transaction,
+ List<Object> errorArgs, News news, boolean delete)
+ throws TopiaException {
+// TopiaContext transaction = null;
+// try {
+// long startTime = 0;
+// if (log.isDebugEnabled()) {
+// startTime = System.currentTimeMillis();
+// }
+// transaction = rootContext.beginTransaction();
- NewsDAO dao = WaoModelDAOHelper.getNewsDAO(transaction);
+ errorArgs.add(news.getTitle());
+ NewsDAO dao = WaoDAOHelper.getNewsDAO(transaction);
+
if (delete) {
dao.delete(news);
} else {
- WaoContext.prepareTopiaId(News.class, news);
+ context.prepareTopiaId(News.class, news);
dao.update(news);
}
transaction.commitTransaction();
- if (log.isDebugEnabled()) {
- long stopTime = System.currentTimeMillis();
- log.debug("W:[ saveNews ] Time = " +
- DurationFormatUtils.formatDurationHMS(
- stopTime - startTime));
- }
- //transaction.closeContext();
- } catch (Exception eee) {
- WaoContext.serviceException(transaction,
- "Impossible de récupérer l'ensemble des news", eee);
- } finally {
- WaoContext.closeTransaction(transaction);
- }
+// if (log.isDebugEnabled()) {
+// long stopTime = System.currentTimeMillis();
+// log.debug("W:[ saveNews ] Time = " +
+// DurationFormatUtils.formatDurationHMS(
+// stopTime - startTime));
+// }
+// //transaction.closeContext();
+// } catch (Exception eee) {
+// WaoContextO.serviceException(transaction,
+// "Impossible de récupérer l'ensemble des news", eee);
+// } finally {
+// WaoContextO.closeTransaction(transaction);
+// }
}
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -22,9 +22,7 @@
package fr.ifremer.wao.service;
import com.csvreader.CsvReader;
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.WaoModelDAOHelper;
-import fr.ifremer.wao.WaoContext;
+import fr.ifremer.wao.WaoDAOHelper;
import fr.ifremer.wao.bean.SamplingFilter;
import fr.ifremer.wao.entity.FishingZone;
import fr.ifremer.wao.entity.FishingZoneDAO;
@@ -33,12 +31,11 @@
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.io.ImportHelper;
import fr.ifremer.wao.io.WaoCsvHeader.FISHING_ZONE;
+import java.io.IOException;
import java.io.InputStream;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.apache.commons.lang.StringUtils;
-import org.apache.commons.lang.time.DurationFormatUtils;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.framework.TopiaQuery;
@@ -56,62 +53,65 @@
* Mise a jour: $Date$
* par : $Author$
*/
-public class ServiceReferentialImpl implements ServiceReferential {
+public class ServiceReferentialImpl extends ServiceReferentialAbstract {
private static final Logger log = LoggerFactory.getLogger(ServiceReferentialImpl.class);
- protected TopiaContext rootContext;
+// protected TopiaContext rootContext;
+//
+// public ServiceReferentialImpl() throws WaoExceptionO {
+// rootContext = WaoContextO.getTopiaRootContext();
+// }
- public ServiceReferentialImpl() throws WaoException {
- rootContext = WaoContext.getTopiaRootContext();
- }
-
@Override
- public List<String> getFacades(SamplingFilter filter) throws WaoException {
- TopiaContext transaction = null;
- List<String> results = new ArrayList<String>();
- try {
- long startTime = 0;
- if (log.isDebugEnabled()) {
- startTime = System.currentTimeMillis();
- }
- transaction = rootContext.beginTransaction();
+ public List<String> executeGetFacades(TopiaContext transaction,
+ SamplingFilter filter) throws TopiaException {
+// TopiaContext transaction = null;
+// List<String> results = new ArrayList<String>();
+// try {
+// long startTime = 0;
+// if (log.isDebugEnabled()) {
+// startTime = System.currentTimeMillis();
+// }
+// transaction = rootContext.beginTransaction();
- FishingZoneDAO dao = WaoModelDAOHelper.getFishingZoneDAO(transaction);
+ FishingZoneDAO dao = WaoDAOHelper.getFishingZoneDAO(transaction);
TopiaQuery query = dao.createQuery("F");
query = prepareQueryForFishingZoneFilter(query, filter);
- results = (List<String>)query.setSelect("DISTINCT F." + FishingZone.FACADE_NAME).execute();
+ return (List<String>)query.addDistinct().
+ setSelect("F." + FishingZone.FACADE_NAME).execute();
- if (log.isDebugEnabled()) {
- long stopTime = System.currentTimeMillis();
- log.debug("W:[ getFacades ] Time = " +
- DurationFormatUtils.formatDurationHMS(
- stopTime - startTime));
- }
-
- //transaction.closeContext();
- } catch (Exception eee) {
- WaoContext.serviceException(transaction, "Impossible de charger la liste des facades", eee);
- } finally {
- WaoContext.closeTransaction(transaction);
- }
- return results;
+// if (log.isDebugEnabled()) {
+// long stopTime = System.currentTimeMillis();
+// log.debug("W:[ getFacades ] Time = " +
+// DurationFormatUtils.formatDurationHMS(
+// stopTime - startTime));
+// }
+//
+// //transaction.closeContext();
+// } catch (Exception eee) {
+// WaoContextO.serviceException(transaction, "Impossible de charger la liste des facades", eee);
+// } finally {
+// WaoContextO.closeTransaction(transaction);
+// }
+// return results;
}
@Override
- public List<String> getSectors(SamplingFilter filter) throws WaoException {
- TopiaContext transaction = null;
- List<String> results = new ArrayList<String>();
- try {
- long startTime = 0;
- if (log.isDebugEnabled()) {
- startTime = System.currentTimeMillis();
- }
- transaction = rootContext.beginTransaction();
+ public List<String> executeGetSectors(TopiaContext transaction,
+ SamplingFilter filter) throws TopiaException {
+// TopiaContext transaction = null;
+// List<String> results = new ArrayList<String>();
+// try {
+// long startTime = 0;
+// if (log.isDebugEnabled()) {
+// startTime = System.currentTimeMillis();
+// }
+// transaction = rootContext.beginTransaction();
- FishingZoneDAO dao = WaoModelDAOHelper.getFishingZoneDAO(transaction);
+ FishingZoneDAO dao = WaoDAOHelper.getFishingZoneDAO(transaction);
TopiaQuery query = dao.createQuery("F");
query = prepareQueryForFishingZoneFilter(query, filter);
@@ -120,22 +120,23 @@
query.add("F." + FishingZone.FACADE_NAME, filter.getFacadeName());
}
- results = (List<String>)query.setSelect("DISTINCT F." + FishingZone.SECTOR_NAME).execute();
+ return (List<String>)query.addDistinct().
+ setSelect("F." + FishingZone.SECTOR_NAME).execute();
- if (log.isDebugEnabled()) {
- long stopTime = System.currentTimeMillis();
- log.debug("W:[ getSectors ] Time = " +
- DurationFormatUtils.formatDurationHMS(
- stopTime - startTime));
- }
-
- //transaction.closeContext();
- } catch (Exception eee) {
- WaoContext.serviceException(transaction, "Impossible de charger la liste des secteurs de pêche", eee);
- } finally {
- WaoContext.closeTransaction(transaction);
- }
- return results;
+// if (log.isDebugEnabled()) {
+// long stopTime = System.currentTimeMillis();
+// log.debug("W:[ getSectors ] Time = " +
+// DurationFormatUtils.formatDurationHMS(
+// stopTime - startTime));
+// }
+//
+// //transaction.closeContext();
+// } catch (Exception eee) {
+// WaoContextO.serviceException(transaction, "Impossible de charger la liste des secteurs de pêche", eee);
+// } finally {
+// WaoContextO.closeTransaction(transaction);
+// }
+// return results;
}
protected TopiaQuery prepareQueryForFishingZoneFilter(TopiaQuery query, SamplingFilter filter) throws TopiaException {
@@ -156,89 +157,95 @@
}
@Override
- public List<Profession> getProfessions() throws WaoException {
- TopiaContext transaction = null;
- List<Profession> results = new ArrayList<Profession>();
- try {
- long startTime = 0;
- if (log.isDebugEnabled()) {
- startTime = System.currentTimeMillis();
- }
- transaction = rootContext.beginTransaction();
+ public List<Profession> executeGetProfessions(TopiaContext transaction)
+ throws TopiaException {
+// TopiaContext transaction = null;
+// List<Profession> results = new ArrayList<Profession>();
+// try {
+// long startTime = 0;
+// if (log.isDebugEnabled()) {
+// startTime = System.currentTimeMillis();
+// }
+// transaction = rootContext.beginTransaction();
- ProfessionDAO dao = WaoModelDAOHelper.getProfessionDAO(transaction);
+ ProfessionDAO dao = WaoDAOHelper.getProfessionDAO(transaction);
- results = dao.findAll();
+ return dao.findAll();
- if (log.isDebugEnabled()) {
- long stopTime = System.currentTimeMillis();
- log.debug("W:[ getProfessions ] Time = " +
- DurationFormatUtils.formatDurationHMS(
- stopTime - startTime));
- }
-
- //transaction.closeContext();
- } catch (Exception eee) {
- WaoContext.serviceException(transaction,
- "Impossible de charger la liste des métiers", eee);
- } finally {
- WaoContext.closeTransaction(transaction);
- }
- return results;
+// if (log.isDebugEnabled()) {
+// long stopTime = System.currentTimeMillis();
+// log.debug("W:[ getProfessions ] Time = " +
+// DurationFormatUtils.formatDurationHMS(
+// stopTime - startTime));
+// }
+//
+// //transaction.closeContext();
+// } catch (Exception eee) {
+// WaoContextO.serviceException(transaction,
+// "Impossible de charger la liste des métiers", eee);
+// } finally {
+// WaoContextO.closeTransaction(transaction);
+// }
+// return results;
}
@Override
- public List<FishingZone> getFishingZones() throws WaoException {
- TopiaContext transaction = null;
- List<FishingZone> results = new ArrayList<FishingZone>();
- try {
- long startTime = 0;
- if (log.isDebugEnabled()) {
- startTime = System.currentTimeMillis();
- }
- transaction = rootContext.beginTransaction();
+ public List<FishingZone> executeGetFishingZones(TopiaContext transaction)
+ throws TopiaException {
+// TopiaContext transaction = null;
+// List<FishingZone> results = new ArrayList<FishingZone>();
+// try {
+// long startTime = 0;
+// if (log.isDebugEnabled()) {
+// startTime = System.currentTimeMillis();
+// }
+// transaction = rootContext.beginTransaction();
- FishingZoneDAO dao = WaoModelDAOHelper.getFishingZoneDAO(transaction);
+ FishingZoneDAO dao = WaoDAOHelper.getFishingZoneDAO(transaction);
- results = dao.findAll();
+ return dao.findAll();
- if (log.isDebugEnabled()) {
- long stopTime = System.currentTimeMillis();
- log.debug("W:[ getFishingZones ] Time = " +
- DurationFormatUtils.formatDurationHMS(
- stopTime - startTime));
- }
-
- //transaction.closeContext();
- } catch (Exception eee) {
- WaoContext.serviceException(transaction,
- "Impossible de charger la liste des zones de pêche", eee);
- } finally {
- WaoContext.closeTransaction(transaction);
- }
- return results;
+// if (log.isDebugEnabled()) {
+// long stopTime = System.currentTimeMillis();
+// log.debug("W:[ getFishingZones ] Time = " +
+// DurationFormatUtils.formatDurationHMS(
+// stopTime - startTime));
+// }
+//
+// //transaction.closeContext();
+// } catch (Exception eee) {
+// WaoContextO.serviceException(transaction,
+// "Impossible de charger la liste des zones de pêche", eee);
+// } finally {
+// WaoContextO.closeTransaction(transaction);
+// }
+// return results;
}
@Override
- public int importFishingZoneCsv(InputStream input) throws WaoException {
- TopiaContext transaction = null;
+ public int executeImportFishingZoneCsv(TopiaContext transaction,
+ InputStream input) throws TopiaException, IOException {
+// TopiaContext transaction = null;
int result = 0;
- try {
- transaction = rootContext.beginTransaction();
+// try {
+// transaction = rootContext.beginTransaction();
- CsvReader reader = new CsvReader(input, WaoContext.getCsvCharset());
+ CsvReader reader = new CsvReader(input, context.getCsvCharset());
reader.readHeaders();
- FishingZoneDAO dao = WaoModelDAOHelper.getFishingZoneDAO(transaction);
+ FishingZoneDAO dao = WaoDAOHelper.getFishingZoneDAO(transaction);
while(reader.readRecord()) {
if (log.isTraceEnabled()) {
log.trace(" " + Arrays.asList(reader.getValues()));
}
- String facadeName = ImportHelper.read(reader, FISHING_ZONE.PECHE_FACADE);
- String sectorName = ImportHelper.read(reader, FISHING_ZONE.PECHE_ZONE);
- String districtCode = ImportHelper.read(reader, FISHING_ZONE.PECHE_DIVISION);
+ String facadeName =
+ ImportHelper.read(reader, FISHING_ZONE.PECHE_FACADE);
+ String sectorName =
+ ImportHelper.read(reader, FISHING_ZONE.PECHE_ZONE);
+ String districtCode =
+ ImportHelper.read(reader, FISHING_ZONE.PECHE_DIVISION);
FishingZone zone = dao.findByDistrictCode(districtCode);
@@ -251,15 +258,15 @@
}
transaction.commitTransaction();
- //transaction.closeContext();
- } catch (Exception eee) {
- WaoContext.serviceException(transaction,
- "Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier : [ PECHE_DIVISION," +
- "PECHE_ZONE,PECHE_FACADE ]. Voir documentation pour plus de détails.",
- eee);
- } finally {
- WaoContext.closeTransaction(transaction);
- }
+// //transaction.closeContext();
+// } catch (Exception eee) {
+// WaoContextO.serviceException(transaction,
+// "Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier : [ PECHE_DIVISION," +
+// "PECHE_ZONE,PECHE_FACADE ]. Voir documentation pour plus de détails.",
+// eee);
+// } finally {
+// WaoContextO.closeTransaction(transaction);
+// }
return result;
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -26,9 +26,9 @@
import fr.ifremer.wao.io.ImportHelper;
import fr.ifremer.wao.WaoBusinessException;
import fr.ifremer.wao.WaoBusinessException.Type;
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.WaoModelDAOHelper;
-import fr.ifremer.wao.WaoContext;
+import fr.ifremer.wao.WaoExceptionO;
+import fr.ifremer.wao.WaoDAOHelper;
+import fr.ifremer.wao.WaoContextO;
import fr.ifremer.wao.bean.FacadeRow;
import fr.ifremer.wao.bean.FacadeRowImpl;
import fr.ifremer.wao.bean.ImportResults;
@@ -86,13 +86,13 @@
protected TopiaContext rootContext;
- public ServiceSamplingImpl() throws WaoException {
- rootContext = WaoContext.getTopiaRootContext();
+ public ServiceSamplingImpl() throws WaoExceptionO {
+ rootContext = WaoContextO.getTopiaRootContext();
prepareBinderForProfession();
}
@Override
- public void createUpdateSampleRow(SampleRow row, List<Boat> boats, SampleRowLog rowLog) throws WaoException {
+ public void createUpdateSampleRow(SampleRow row, List<Boat> boats, SampleRowLog rowLog) throws WaoExceptionO {
TopiaContext transaction = null;
TopiaContext transaction2 = null;
try {
@@ -102,11 +102,11 @@
}
transaction = rootContext.beginTransaction();
- SampleRowLogDAO logDAO = WaoModelDAOHelper.getSampleRowLogDAO(transaction);
- WaoContext.prepareTopiaId(SampleRowLog.class, rowLog);
+ SampleRowLogDAO logDAO = WaoDAOHelper.getSampleRowLogDAO(transaction);
+ WaoContextO.prepareTopiaId(SampleRowLog.class, rowLog);
logDAO.update(rowLog);
- boolean newRow = WaoContext.prepareTopiaId(SampleRow.class, row);
+ boolean newRow = WaoContextO.prepareTopiaId(SampleRow.class, row);
if (log.isDebugEnabled()) {
log.debug("new sampleRow : " + newRow);
@@ -125,7 +125,7 @@
// UPDATE
if (!newRow) {
// Prepare data for logging or deleting oldMonths
- SampleRowDAO oldDAO = WaoModelDAOHelper.getSampleRowDAO(transaction2);
+ SampleRowDAO oldDAO = WaoDAOHelper.getSampleRowDAO(transaction2);
oldRow = oldDAO.findByTopiaId(row.getTopiaId());
oldCompany = oldRow.getCompany();
oldProfession = oldRow.getProfession();
@@ -160,13 +160,13 @@
rowLog.addChangePeriod(oldPeriod, newPeriod, pattern);
// Save Profession
- ProfessionDAO professionDAO = WaoModelDAOHelper.getProfessionDAO(transaction);
- WaoContext.prepareTopiaId(Profession.class, row.getProfession());
+ ProfessionDAO professionDAO = WaoDAOHelper.getProfessionDAO(transaction);
+ WaoContextO.prepareTopiaId(Profession.class, row.getProfession());
rowLog.addChangeProfession(oldProfession, row.getProfession());
professionDAO.update(row.getProfession());
// Save sampleMonth
- SampleMonthDAO monthDAO = WaoModelDAOHelper.getSampleMonthDAO(transaction);
+ SampleMonthDAO monthDAO = WaoDAOHelper.getSampleMonthDAO(transaction);
// Delete oldMonths
List<SampleMonth> newMonths = row.getSampleMonth();
@@ -181,7 +181,7 @@
}
// Create or update months
for (SampleMonth month : newMonths) {
- boolean monthCreated = WaoContext.prepareTopiaId(SampleMonth.class, month);
+ boolean monthCreated = WaoContextO.prepareTopiaId(SampleMonth.class, month);
String date = dateFormat.format(month.getPeriodDate());
if (monthCreated) {
// log create month
@@ -200,7 +200,7 @@
// Remove no longer elligibleBoats
row.removeNoLongerElligibleBoats(boats);
// Save new elligibleBoats
- ElligibleBoatDAO dao = WaoModelDAOHelper.getElligibleBoatDAO(transaction);
+ ElligibleBoatDAO dao = WaoDAOHelper.getElligibleBoatDAO(transaction);
for (Boat boat : boats) {
if (!row.hasElligibleBoat(boat)) {
ElligibleBoat elligibleBoat = dao.create();
@@ -220,7 +220,7 @@
List<FishingZone> newZones = row.getFishingZone();
for (FishingZone oldZone : oldZones) {
if (!newZones.contains(oldZone)) {
- updateFishingZones(transaction, oldZone.getTopiaId(), row, true);
+// updateFishingZones(transaction, oldZone.getTopiaId(), row, true);
rowLog.addChange("La zone de pêche " + oldZone.getCode() + " a été dissociée de la ligne");
}
}
@@ -228,13 +228,13 @@
// ConcurrentModificationException ????
for (FishingZone zone : new ArrayList<FishingZone>(newZones)) {
if (!oldZones.contains(zone)) {
- updateFishingZones(transaction, zone.getTopiaId(), row, false);
+// updateFishingZones(transaction, zone.getTopiaId(), row, false);
rowLog.addChange("La zone de pêche " + zone.getCode() + " a été associée à la ligne");
}
}
// Save sampleRow : create or update
- SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
if (log.isDebugEnabled()) {
log.debug("update row : " + row);
}
@@ -255,7 +255,7 @@
}
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible de sauvegarder la ligne d'échantillon", eee);
} finally {
try {
@@ -263,22 +263,22 @@
} catch (TopiaException eee) {
log.error("Error closing transaction", eee);
}
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
}
- protected void updateFishingZones(TopiaContext transaction, String zoneId, SampleRow row, boolean delete) throws TopiaException {
- // FIXME find a way to avoid saving links from FishingZone instead of SampleRow :
- // variable inverse="true" in hibernate mapping of FishingZone, how to set this variable to SampleRow instead
- FishingZoneDAO fishingZoneDAO = WaoModelDAOHelper.getFishingZoneDAO(transaction);
- FishingZone zoneFromDB = fishingZoneDAO.findByTopiaId(zoneId);
- if (delete) {
- zoneFromDB.removeSampleRow(row);
- } else {
- zoneFromDB.addSampleRow(row);
- }
- fishingZoneDAO.update(zoneFromDB);
- }
+// protected void updateFishingZones(TopiaContext transaction, String zoneId, SampleRow row, boolean delete) throws TopiaException {
+// // FIXME find a way to avoid saving links from FishingZone instead of SampleRow :
+// // variable inverse="true" in hibernate mapping of FishingZone, how to set this variable to SampleRow instead
+// FishingZoneDAO fishingZoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
+// FishingZone zoneFromDB = fishingZoneDAO.findByTopiaId(zoneId);
+// if (delete) {
+// zoneFromDB.removeSampleRow(row);
+// } else {
+// zoneFromDB.addSampleRow(row);
+// }
+// fishingZoneDAO.update(zoneFromDB);
+// }
// @Override
// public List<SampleRowLog> getSampleRowLogs(SampleRow sampleRow) throws WaoException {
@@ -287,7 +287,7 @@
// try {
// transaction = rootContext.beginTransaction();
//
-// SampleRowLogDAO dao = WaoModelDAOHelper.getSampleRowLogDAO(transaction);
+// SampleRowLogDAO dao = WaoDAOHelper.getSampleRowLogDAO(transaction);
// results = dao.createQuery().add(SampleRowLog.SAMPLE_ROW, sampleRow).addOrderDesc(TopiaEntity.TOPIA_CREATE_DATE).executeToEntityList();
//
// transaction.closeContext();
@@ -299,7 +299,7 @@
// }
@Override
- public FacadeRow getSampleRowsOrderedByFishingZone(PeriodDates period, Company company) throws WaoException {
+ public FacadeRow getSampleRowsOrderedByFishingZone(PeriodDates period, Company company) throws WaoExceptionO {
TopiaContext transaction = null;
FacadeRow result = new FacadeRowImpl();
try {
@@ -312,7 +312,7 @@
}
transaction = rootContext.beginTransaction();
- SampleRowDAO dao = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO dao = WaoDAOHelper.getSampleRowDAO(transaction);
TopiaQuery query = dao.createQuery("S").addDistinct().
addFrom(FishingZone.class.getName() + " F").
@@ -362,16 +362,16 @@
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible de récupérer la liste des lignes du plan d'échantillonnage", eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return result;
}
@Override
- public List<String> getPrograms(Company company) throws WaoException {
+ public List<String> getPrograms(Company company) throws WaoExceptionO {
TopiaContext transaction = null;
List<String> results = new ArrayList<String>();
try {
@@ -381,7 +381,7 @@
}
transaction = rootContext.beginTransaction();
- SampleRowDAO dao = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO dao = WaoDAOHelper.getSampleRowDAO(transaction);
TopiaQuery query = dao.createQuery();
if (company != null) {
@@ -399,16 +399,16 @@
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible de charger la liste des programmes", eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return results;
}
@Override
- public List<SampleRow> getSampleRowsByFilter(SamplingFilter filter) throws WaoException {
+ public List<SampleRow> getSampleRowsByFilter(SamplingFilter filter) throws WaoExceptionO {
TopiaContext transaction = null;
List<SampleRow> results = new ArrayList<SampleRow>();
try {
@@ -418,7 +418,7 @@
}
transaction = rootContext.beginTransaction();
- SampleRowDAO dao = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO dao = WaoDAOHelper.getSampleRowDAO(transaction);
TopiaQuery query = dao.createQuery("S").addDistinct().addOrder("S." + SampleRow.CODE);
@@ -448,16 +448,16 @@
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible de récupérer la liste des lignes du plan d'échantillonnage", eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return results;
}
@Override
- public SampleRow getSampleRow(String sampleRowId) throws WaoException {
+ public SampleRow getSampleRow(String sampleRowId) throws WaoExceptionO {
TopiaContext transaction = null;
SampleRow result = null;
try {
@@ -467,7 +467,7 @@
}
transaction = rootContext.beginTransaction();
- SampleRowDAO dao = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO dao = WaoDAOHelper.getSampleRowDAO(transaction);
result = dao.findByTopiaId(sampleRowId);
@@ -483,19 +483,19 @@
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible de charger la ligne d'échantillon ayant pour" +
" identifiant : " + sampleRowId,
eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return result;
}
@Override
public SampleRow getSampleRowByCode(WaoUser user, String sampleRowCode)
- throws WaoException {
+ throws WaoExceptionO {
TopiaContext transaction = null;
SampleRow result = null;
try {
@@ -509,7 +509,7 @@
}
transaction = rootContext.beginTransaction();
- SampleRowDAO dao = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO dao = WaoDAOHelper.getSampleRowDAO(transaction);
TopiaQuery query = dao.createQuery().
add(SampleRow.CODE, sampleRowCode);
@@ -535,18 +535,18 @@
}
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible de charger la ligne " +
"d'échantillon ayant pour code : " + sampleRowCode,
eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return result;
}
@Override
- public void deleteSampleRow(SampleRow sampleRow) throws WaoException {
+ public void deleteSampleRow(SampleRow sampleRow) throws WaoExceptionO {
TopiaContext transaction = null;
try {
long startTime = 0;
@@ -555,7 +555,7 @@
}
transaction = rootContext.beginTransaction();
- SampleRowDAO dao = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO dao = WaoDAOHelper.getSampleRowDAO(transaction);
SampleRow row = dao.findByTopiaId(sampleRow.getTopiaId());
@@ -571,16 +571,16 @@
}
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible de supprimer la ligne d'échantillon : " + sampleRow.getCode(),
eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
}
@Override
- public String getNewSampleRowCode(Date beginDate) throws WaoException {
+ public String getNewSampleRowCode(Date beginDate) throws WaoExceptionO {
TopiaContext transaction = null;
String result = null;
if (beginDate == null) {
@@ -597,7 +597,7 @@
begin.setTime(beginDate);
int year = begin.get(Calendar.YEAR);
- SampleRowDAO dao = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO dao = WaoDAOHelper.getSampleRowDAO(transaction);
TopiaQuery query = dao.createQuery().add(SampleRow.CODE, Op.LIKE, year + "_%");
String maxCode = query.executeToString("MAX(" + SampleRow.CODE + ")");
@@ -623,11 +623,11 @@
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible de récupérer un nouveau code pour une ligne d'échantillonnage",
eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return result;
}
@@ -690,7 +690,7 @@
}
@Override
- public InputStream exportSamplingPlanCsv(WaoUser user, PeriodDates period) throws WaoException {
+ public InputStream exportSamplingPlanCsv(WaoUser user, PeriodDates period) throws WaoExceptionO {
TopiaContext transaction = null;
InputStream result = null;
CsvWriter writer = null;
@@ -701,7 +701,7 @@
file.deleteOnExit();
FileOutputStream output = new FileOutputStream(file);
- writer = new CsvWriter(output, ',', WaoContext.getCsvCharset());
+ writer = new CsvWriter(output, ',', WaoContextO.getCsvCharset());
// Get min and max dates to have the biggest period
// Date min = (Date)query.executeToObject("MIN(S." + SampleRow.PERIOD_BEGIN + ")");
@@ -717,7 +717,7 @@
// Get sampleRows from database filtered by company if needed
// (only for user) and period
- SampleRowDAO dao = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO dao = WaoDAOHelper.getSampleRowDAO(transaction);
TopiaQuery query = dao.createQuery("S");
if (!user.isAdmin()) {
@@ -810,7 +810,7 @@
} catch (Exception eee) {
DateFormat dateFormat = SAMPLING.getDateFormat();
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible d'exporter le plan d'échantillonnage sur la période du " +
dateFormat.format(period.getFromDate()) + " au " +
dateFormat.format(period.getThruDate()), eee);
@@ -818,13 +818,13 @@
if (writer != null) {
writer.close();
}
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return result;
}
@Override
- public ImportResults importSamplingPlanCsv(InputStream input) throws WaoException {
+ public ImportResults importSamplingPlanCsv(InputStream input) throws WaoExceptionO {
TopiaContext transaction = null;
ImportResults result = new ImportResultsImpl();
//int[] result = new int[3];
@@ -833,10 +833,10 @@
try {
transaction = rootContext.beginTransaction();
- CsvReader reader = new CsvReader(input, WaoContext.getCsvCharset());
+ CsvReader reader = new CsvReader(input, WaoContextO.getCsvCharset());
reader.readHeaders();
- SampleRowDAO dao = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO dao = WaoDAOHelper.getSampleRowDAO(transaction);
//int nbImported = 0;
//int nbRefused = 0;
@@ -874,7 +874,7 @@
// Create link with company if set in file
if (!StringUtils.isEmpty(companyName)) {
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
Company company = companyDAO.findByName(companyName);
if (company == null) {
throw new WaoBusinessException(Type.IMPORT_ERROR, this.getClass(),
@@ -902,19 +902,19 @@
//transaction.closeContext();
} catch (NumberFormatException eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Erreur à la ligne " + currRow + " [CODE = " + row.getCode() + "] : " +
"Le format de la durée moyenne des marées est incorrect, il doit être de la forme : 1.9 ", eee);
} catch (ParseException eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Erreur à la ligne " + currRow + " [CODE = " + row.getCode() + "] : " +
"Le format des dates est incorrect, il doit être de la forme : MM/AAAA", eee);
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Erreur à la ligne " + currRow + " [CODE = " + row.getCode() + "]",
eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return result;
}
@@ -940,7 +940,7 @@
String libelle = ImportHelper.read(reader, SAMPLING.METIER_LIBELLE);
String especes = ImportHelper.read(reader, SAMPLING.METIER_ESPECES);
- ProfessionDAO dao = WaoModelDAOHelper.getProfessionDAO(transaction);
+ ProfessionDAO dao = WaoDAOHelper.getProfessionDAO(transaction);
// Map<String, Object> existParams = new HashMap<String, Object>();
// existParams.put(Profession.CODE_DCF5, codeDCF5);
// existParams.put(Profession.MESH_SIZE, maillage);
@@ -979,9 +979,9 @@
* @throws WaoException if a FishingZone doesn't exist.
*/
protected void importFishingZones(TopiaContext transaction, String districts, int currRow, SampleRow row)
- throws TopiaException, WaoException {
+ throws TopiaException, WaoExceptionO {
- FishingZoneDAO dao = WaoModelDAOHelper.getFishingZoneDAO(transaction);
+ FishingZoneDAO dao = WaoDAOHelper.getFishingZoneDAO(transaction);
List<String> districtList = new ArrayList<String>(Arrays.asList(districts.split(FISHING_ZONE.getDistrictCodeSeparator())));
@@ -1083,7 +1083,7 @@
if (monthValue != null && DateUtils.between(monthDate,
sampleRow.getPeriodBegin(), sampleRow.getPeriodEnd())) {
SampleMonthDAO dao =
- WaoModelDAOHelper.getSampleMonthDAO(transaction);
+ WaoDAOHelper.getSampleMonthDAO(transaction);
SampleMonth month = sampleRow.getSampleMonth(monthDate);
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,9 +21,9 @@
package fr.ifremer.wao.service;
-import fr.ifremer.wao.WaoContext;
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.WaoModelDAOHelper;
+import fr.ifremer.wao.WaoContextO;
+import fr.ifremer.wao.WaoExceptionO;
+import fr.ifremer.wao.WaoDAOHelper;
import fr.ifremer.wao.bean.ContactAverageReactivityImpl;
import fr.ifremer.wao.bean.ContactAverageReactivity;
import fr.ifremer.wao.bean.BoardingResult;
@@ -78,12 +78,12 @@
protected TopiaContext rootContext;
- public ServiceSynthesisImpl() throws WaoException {
- rootContext = WaoContext.getTopiaRootContext();
+ public ServiceSynthesisImpl() throws WaoExceptionO {
+ rootContext = WaoContextO.getTopiaRootContext();
}
@Override
- public List<SortedMap<Date, Integer>> getDataSampling(SamplingFilter filter) throws WaoException {
+ public List<SortedMap<Date, Integer>> getDataSampling(SamplingFilter filter) throws WaoExceptionO {
TopiaContext transaction = null;
List<SortedMap<Date, Integer>> results = new ArrayList<SortedMap<Date, Integer>>();
try {
@@ -112,7 +112,7 @@
serie2.put(month, 0);
}
- SampleMonthDAO dao = WaoModelDAOHelper.getSampleMonthDAO(transaction);
+ SampleMonthDAO dao = WaoDAOHelper.getSampleMonthDAO(transaction);
String periodDate = "M." + SampleMonth.PERIOD_DATE;
TopiaQuery query = dao.createQuery("M").
setSelect(periodDate).
@@ -151,10 +151,10 @@
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible de récupérer les données pour le graphique dynamique des efforts de marées", eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return results;
}
@@ -175,7 +175,7 @@
*/
@Override
public BoardingResult getBoardingBoats(Company company, Date fromDate)
- throws WaoException {
+ throws WaoExceptionO {
TopiaContext transaction = null;
Map<String, Integer> map = new LinkedHashMap<String, Integer>();
BoardingResult result = new BoardingResultImpl();
@@ -199,7 +199,7 @@
map.put(maxBoardingsKey, 0);
ContactDAO dao =
- WaoModelDAOHelper.getContactDAO(transaction);
+ WaoDAOHelper.getContactDAO(transaction);
// The number of boardings is the number of finished contacts
// Use fromDate to filter contacts finished from this date
// No need to use boat filter for this method
@@ -264,17 +264,17 @@
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible de récupérer les données pour le graphique " +
"dynamique des efforts de marées", eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return result;
}
@Override
- public Map<String, Double> getNonComplianceBoardingIndicator(Company company) throws WaoException {
+ public Map<String, Double> getNonComplianceBoardingIndicator(Company company) throws WaoExceptionO {
TopiaContext transaction = null;
// Carefull with results, the company may not be present in the map :
// only if there is no unfinished sampleRow or no contact done
@@ -286,7 +286,7 @@
}
transaction = rootContext.beginTransaction();
- ContactDAO dao = WaoModelDAOHelper.getContactDAO(transaction);
+ ContactDAO dao = WaoDAOHelper.getContactDAO(transaction);
// Only for done contacts with no constraint
TopiaQuery query =
@@ -298,7 +298,7 @@
String companyName = companyProp + "." + Company.NAME;
// Only for unfinished sampleRows
- Date current = WaoContext.getCurrentDate();
+ Date current = WaoContextO.getCurrentDate();
query.add(sampleRow + "." + SampleRow.PERIOD_END, Op.GE, current);
if (company != null) {
@@ -365,17 +365,17 @@
if (company != null) {
msgEnd = " pour la société " + company.getName();
}
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible de récupérer l'indicateur de non respect du " +
"nombre d'observateurs embarqués" + msgEnd, eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return results;
}
@Override
- public Collection<ContactStateStatistics> getContactStateStatistics(Company company, PeriodDates period) throws WaoException {
+ public Collection<ContactStateStatistics> getContactStateStatistics(Company company, PeriodDates period) throws WaoExceptionO {
TopiaContext transaction = null;
Map<String, ContactStateStatistics> results = new HashMap<String, ContactStateStatistics>();
try {
@@ -385,7 +385,7 @@
}
transaction = rootContext.beginTransaction();
- ContactDAO dao = WaoModelDAOHelper.getContactDAO(transaction);
+ ContactDAO dao = WaoDAOHelper.getContactDAO(transaction);
// Only for contacts not refused by the program
String contact = "C";
@@ -456,17 +456,17 @@
if (company != null) {
msgEnd = " pour la société " + company.getName();
}
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible de récupérer les statistiques sur les états des " +
"contacts " + msgEnd, eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return results.values();
}
@Override
- public Collection<ContactAverageReactivity> getContactDataInputDateReactivity(Company company, PeriodDates period) throws WaoException {
+ public Collection<ContactAverageReactivity> getContactDataInputDateReactivity(Company company, PeriodDates period) throws WaoExceptionO {
TopiaContext transaction = null;
// Carefull with results, the company may not be present in the map :
// only if there is no unfinished sampleRow or no contact done
@@ -479,7 +479,7 @@
}
transaction = rootContext.beginTransaction();
- ContactDAO dao = WaoModelDAOHelper.getContactDAO(transaction);
+ ContactDAO dao = WaoDAOHelper.getContactDAO(transaction);
// String contact = "C";
// TopiaQuery query = dao.createQuery(contact);
@@ -546,11 +546,11 @@
if (company != null) {
msgEnd = " pour la société " + company.getName();
}
- WaoContext.serviceException(transaction,
+ WaoContextO.serviceException(transaction,
"Impossible de récupérer l'indicateur de réactivité sur " +
"les dates de saisies dans Allegro" + msgEnd, eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return results.values();
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -23,9 +23,10 @@
import fr.ifremer.wao.WaoBusinessException;
import fr.ifremer.wao.WaoBusinessException.Type;
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.WaoModelDAOHelper;
-import fr.ifremer.wao.WaoContext;
+import fr.ifremer.wao.WaoExceptionO;
+import fr.ifremer.wao.WaoDAOHelper;
+import fr.ifremer.wao.WaoContextO;
+import fr.ifremer.wao.WaoProperty;
import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.CompanyDAO;
@@ -61,12 +62,12 @@
protected TopiaContext rootContext;
- public ServiceUserImpl() throws WaoException {
- rootContext = WaoContext.getTopiaRootContext();
+ public ServiceUserImpl() throws WaoExceptionO {
+ rootContext = WaoContextO.getTopiaRootContext();
}
@Override
- public WaoUser connect(String login, String password) throws WaoException {
+ public WaoUser connect(String login, String password) throws WaoExceptionO {
TopiaContext transaction = null;
WaoUser user = null;
try {
@@ -76,9 +77,9 @@
}
transaction = rootContext.beginTransaction();
- WaoUserDAO dao = WaoModelDAOHelper.getWaoUserDAO(transaction);
+ WaoUserDAO dao = WaoDAOHelper.getWaoUserDAO(transaction);
- String passwordEncoded = WaoContext.encodeString(password);
+ String passwordEncoded = WaoContextO.encodeString(password);
user = dao.findByProperties(WaoUser.LOGIN, login, WaoUser.PASSWORD, passwordEncoded);
if (user != null && user.getActive()) {
@@ -101,15 +102,15 @@
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction, "Une erreur est survenue lors de la demande de connexion", eee);
+ WaoContextO.serviceException(transaction, "Une erreur est survenue lors de la demande de connexion", eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return user;
}
@Override
- public void forgetPassword(String login) throws WaoException {
+ public void forgetPassword(String login) throws WaoExceptionO {
TopiaContext transaction = null;
try {
long startTime = 0;
@@ -123,7 +124,7 @@
transaction = rootContext.beginTransaction();
- WaoUserDAO dao = WaoModelDAOHelper.getWaoUserDAO(transaction);
+ WaoUserDAO dao = WaoDAOHelper.getWaoUserDAO(transaction);
WaoUser user = dao.findByLogin(login);
if (user == null) {
@@ -131,8 +132,8 @@
"L'email '" + login + "' n'est pas référencé dans l'application.");
}
- String password = WaoContext.createRandomString(8);
- String passwordEncoded = WaoContext.encodeString(password);
+ String password = WaoContextO.createRandomString(8);
+ String passwordEncoded = WaoContextO.encodeString(password);
user.setPassword(passwordEncoded);
String subject = "[WAO] Mot de passe oublié";
@@ -140,11 +141,11 @@
"\tUn nouveau mot de passe a été généré pour votre identifiant " + login + " :\n" +
"\t\t * mot de passe = " + password + "\n\n" +
"Vous pouvez modifier votre password en accédant à la page de gestion de votre profile utilisateur :\n\n" +
- "\t\thttp://" + WaoContext.getProperty(WaoContext.PROP_SERVER) + "\n\n" +
+ "\t\thttp://" + WaoProperty.SERVER_PATH.getValue() + "\n\n" +
"Cordialement,\n\n" +
"L'Equipe WAO";
- WaoContext.sendEmail(user.getLogin(), subject, msg);
+ WaoContextO.sendEmail(user.getLogin(), subject, msg);
if (log.isDebugEnabled()) {
log.debug("send email to : " + user.getLogin());
}
@@ -159,14 +160,14 @@
}
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction, "Impossible de créer ou de mettre à jour l'utilisateur", eee);
+ WaoContextO.serviceException(transaction, "Impossible de créer ou de mettre à jour l'utilisateur", eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
}
@Override
- public void createUpdateUser(WaoUser user, boolean generatePassword) throws WaoException {
+ public void createUpdateUser(WaoUser user, boolean generatePassword) throws WaoExceptionO {
TopiaContext transaction = null;
try {
long startTime = 0;
@@ -179,9 +180,9 @@
transaction = rootContext.beginTransaction();
- WaoUserDAO dao = WaoModelDAOHelper.getWaoUserDAO(transaction);
+ WaoUserDAO dao = WaoDAOHelper.getWaoUserDAO(transaction);
- boolean newUser = WaoContext.prepareTopiaId(WaoUser.class, user);
+ boolean newUser = WaoContextO.prepareTopiaId(WaoUser.class, user);
// Check for a new user if login already exists
if (newUser) {
@@ -195,7 +196,7 @@
String password = user.getPassword();
if (generatePassword) {
- password = WaoContext.createRandomString(8);
+ password = WaoContextO.createRandomString(8);
user.setPasswordChanged(true);
// if (log.isDebugEnabled()) {
// log.debug("show generated password : " + password);
@@ -203,7 +204,7 @@
}
// For a password set manually by user or generated
if (user.isPasswordChanged()) {
- String passwordEncoded = WaoContext.encodeString(password);
+ String passwordEncoded = WaoContextO.encodeString(password);
user.setPassword(passwordEncoded);
}
@@ -220,7 +221,7 @@
"\t\t * identifiant = " + user.getLogin() + "\n" +
"\t\t * mot de passe = " + password + "\n\n" +
"Vous pouvez modifier votre mot de passe en accédant à la page de gestion de votre profil utilisateur:\n\n" +
- "\t\thttp://" + WaoContext.getProperty(WaoContext.PROP_SERVER) + "\n\n";
+ "\t\thttp://" + WaoProperty.SERVER_PATH.getValue() + "\n\n";
} else {
subject += "Modification de votre compte";
if (generatePassword) {
@@ -235,7 +236,7 @@
msg += "Cordialement,\n\n" +
"L'Equipe WAO";
- WaoContext.sendEmail(user.getLogin(), subject, msg);
+ WaoContextO.sendEmail(user.getLogin(), subject, msg);
// if (log.isDebugEnabled()) {
// log.debug("send email to : " + user.getLogin());
// }
@@ -251,14 +252,14 @@
}
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction, "Impossible de créer ou de mettre à jour l'utilisateur", eee);
+ WaoContextO.serviceException(transaction, "Impossible de créer ou de mettre à jour l'utilisateur", eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
}
@Override
- public void deleteUser(WaoUser user) throws WaoException {
+ public void deleteUser(WaoUser user) throws WaoExceptionO {
TopiaContext transaction = null;
try {
long startTime = 0;
@@ -279,7 +280,7 @@
if (user.isAdmin() || isCoordinator) {
SampleRowLogDAO logDAO =
- WaoModelDAOHelper.getSampleRowLogDAO(transaction);
+ WaoDAOHelper.getSampleRowLogDAO(transaction);
List<SampleRowLog> results = logDAO.findAllByAuthor(user);
if (!results.isEmpty()) {
@@ -297,7 +298,7 @@
} else {
ContactDAO contactDAO =
- WaoModelDAOHelper.getContactDAO(transaction);
+ WaoDAOHelper.getContactDAO(transaction);
List<Contact> results = contactDAO.findAllByObserver(user);
if (!results.isEmpty()) {
@@ -309,7 +310,7 @@
}
- WaoUserDAO dao = WaoModelDAOHelper.getWaoUserDAO(transaction);
+ WaoUserDAO dao = WaoDAOHelper.getWaoUserDAO(transaction);
dao.delete(user);
@@ -323,15 +324,15 @@
}
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction, "Impossible de créer ou" +
+ WaoContextO.serviceException(transaction, "Impossible de créer ou" +
" de mettre à jour l'utilisateur", eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
}
@Override
- public void createUpdateCompany(Company company) throws WaoException {
+ public void createUpdateCompany(Company company) throws WaoExceptionO {
TopiaContext transaction = null;
try {
long startTime = 0;
@@ -344,9 +345,9 @@
transaction = rootContext.beginTransaction();
- CompanyDAO dao = WaoModelDAOHelper.getCompanyDAO(transaction);
+ CompanyDAO dao = WaoDAOHelper.getCompanyDAO(transaction);
- WaoContext.prepareTopiaId(Company.class, company);
+ WaoContextO.prepareTopiaId(Company.class, company);
dao.update(company);
transaction.commitTransaction();
@@ -359,14 +360,14 @@
}
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction, "Impossible de créer ou de mettre à jour la société", eee);
+ WaoContextO.serviceException(transaction, "Impossible de créer ou de mettre à jour la société", eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
}
@Override
- public List<Company> getCompanies(boolean activeOnly) throws WaoException {
+ public List<Company> getCompanies(boolean activeOnly) throws WaoExceptionO {
TopiaContext transaction = null;
List<Company> results = new ArrayList<Company>();
try {
@@ -376,7 +377,7 @@
}
transaction = rootContext.beginTransaction();
- CompanyDAO dao = WaoModelDAOHelper.getCompanyDAO(transaction);
+ CompanyDAO dao = WaoDAOHelper.getCompanyDAO(transaction);
if (activeOnly) {
results = dao.findAllByActive(activeOnly);
@@ -391,15 +392,15 @@
stopTime - startTime));
}
} catch (Exception eee) {
- WaoContext.serviceException(transaction, "Impossible de récupérer la liste des sociétés", eee);
+ WaoContextO.serviceException(transaction, "Impossible de récupérer la liste des sociétés", eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return results;
}
@Override
- public List<WaoUser> getUsersByCompany(Company company) throws WaoException {
+ public List<WaoUser> getUsersByCompany(Company company) throws WaoExceptionO {
TopiaContext transaction = null;
List<WaoUser> results = new ArrayList<WaoUser>();
try {
@@ -409,7 +410,7 @@
}
transaction = rootContext.beginTransaction();
- WaoUserDAO dao = WaoModelDAOHelper.getWaoUserDAO(transaction);
+ WaoUserDAO dao = WaoDAOHelper.getWaoUserDAO(transaction);
TopiaQuery query = dao.createQuery().
@@ -425,17 +426,17 @@
stopTime - startTime));
}
} catch (Exception eee) {
- WaoContext.serviceException(transaction, "Impossible de récupérer " +
+ WaoContextO.serviceException(transaction, "Impossible de récupérer " +
"la liste des utilisateurs de la société " +
company.getName(), eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return results;
}
@Override
- public List<WaoUser> getObservers(boolean activeOnly) throws WaoException {
+ public List<WaoUser> getObservers(boolean activeOnly) throws WaoExceptionO {
TopiaContext transaction = null;
List<WaoUser> results = new ArrayList<WaoUser>();
try {
@@ -445,7 +446,7 @@
}
transaction = rootContext.beginTransaction();
- WaoUserDAO dao = WaoModelDAOHelper.getWaoUserDAO(transaction);
+ WaoUserDAO dao = WaoDAOHelper.getWaoUserDAO(transaction);
TopiaQuery query = dao.createQuery().
add(WaoUser.ROLE, UserRole.OBSERVER.ordinal(),
UserRole.COORDINATOR.ordinal());
@@ -463,9 +464,9 @@
stopTime - startTime));
}
} catch (Exception eee) {
- WaoContext.serviceException(transaction, "Impossible de récupérer la liste des observateurs", eee);
+ WaoContextO.serviceException(transaction, "Impossible de récupérer la liste des observateurs", eee);
} finally {
- WaoContext.closeTransaction(transaction);
+ WaoContextO.closeTransaction(transaction);
}
return results;
}
Added: trunk/wao-business/src/main/resources/i18n/wao-business-en_GB.properties
===================================================================
--- trunk/wao-business/src/main/resources/i18n/wao-business-en_GB.properties (rev 0)
+++ trunk/wao-business/src/main/resources/i18n/wao-business-en_GB.properties 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,26 @@
+wao.error.context.close=
+wao.error.context.getRootContext=
+wao.error.context.parse=
+wao.error.context.rollback=
+wao.error.context.start=
+wao.error.context.stop=
+wao.error.serviceBoat.createUpdateCompanyBoatInfos=
+wao.error.serviceBoat.exportBoatCsv=
+wao.error.serviceBoat.getActivityCalendarLogAccessFile=
+wao.error.serviceBoat.getActivityCalendarLogFile=
+wao.error.serviceBoat.getBoat=
+wao.error.serviceBoat.getBoatNamesStartWith=
+wao.error.serviceBoat.getBoatsByFilter=
+wao.error.serviceBoat.getBoatsByImmatriculations=
+wao.error.serviceBoat.getCompanyBoatInfos=
+wao.error.serviceBoat.getLastActivityCalendar=
+wao.error.serviceBoat.getNbBoatsByFilter=
+wao.error.serviceBoat.importActivityCalendarCsv=
+wao.error.serviceBoat.importBoatCsv=
+wao.error.serviceNews.getNews=
+wao.error.serviceNews.saveNews=
+wao.error.serviceReferential.getFacades=
+wao.error.serviceReferential.getFishingZones=
+wao.error.serviceReferential.getProfessions=
+wao.error.serviceReferential.getSectors=
+wao.error.serviceReferential.importFishingZoneCsv=
Added: trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties
===================================================================
--- trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties (rev 0)
+++ trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,26 @@
+wao.error.context.close=
+wao.error.context.getRootContext=
+wao.error.context.parse=
+wao.error.context.rollback=
+wao.error.context.start=
+wao.error.context.stop=
+wao.error.serviceBoat.createUpdateCompanyBoatInfos=
+wao.error.serviceBoat.exportBoatCsv=
+wao.error.serviceBoat.getActivityCalendarLogAccessFile=
+wao.error.serviceBoat.getActivityCalendarLogFile=
+wao.error.serviceBoat.getBoat=
+wao.error.serviceBoat.getBoatNamesStartWith=
+wao.error.serviceBoat.getBoatsByFilter=
+wao.error.serviceBoat.getBoatsByImmatriculations=
+wao.error.serviceBoat.getCompanyBoatInfos=
+wao.error.serviceBoat.getLastActivityCalendar=
+wao.error.serviceBoat.getNbBoatsByFilter=
+wao.error.serviceBoat.importActivityCalendarCsv=
+wao.error.serviceBoat.importBoatCsv=
+wao.error.serviceNews.getNews=
+wao.error.serviceNews.saveNews=
+wao.error.serviceReferential.getFacades=
+wao.error.serviceReferential.getFishingZones=
+wao.error.serviceReferential.getProfessions=
+wao.error.serviceReferential.getSectors=
+wao.error.serviceReferential.importFishingZoneCsv=
Added: trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ActivityCalendarImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ActivityCalendarImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ActivityCalendarImpl.hbm.xml 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.ActivityCalendarImpl" table="activityCalendar" node="fr.ifremer.wao.entity.ActivityCalendarImpl" abstract="false" proxy="fr.ifremer.wao.entity.ActivityCalendar" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="year" type="int" access="field" column="year" node="year"/>
+ <property name="fiability" type="int" access="field" column="fiability" node="fiability"/>
+ <bag name="activityMonth" inverse="true" order-by="month" lazy="true" cascade="all,delete-orphan" node="activityMonth" embed-xml="false">
+ <key column="activityCalendar"/>
+ <one-to-many class="fr.ifremer.wao.entity.ActivityMonthImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ <many-to-one name="boat" class="fr.ifremer.wao.entity.BoatImpl" column="boat" node="boat/@topiaId" embed-xml="false"/>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ActivityMonthImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ActivityMonthImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ActivityMonthImpl.hbm.xml 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.ActivityMonthImpl" table="activityMonth" node="fr.ifremer.wao.entity.ActivityMonthImpl" abstract="false" proxy="fr.ifremer.wao.entity.ActivityMonth" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="harbourLibelle" type="text" access="field" column="harbourLibelle" node="harbourLibelle"/>
+ <property name="active" type="boolean" access="field" column="active" node="active"/>
+ <property name="nbBoardingPersons" type="java.lang.Integer" access="field" column="nbBoardingPersons" node="nbBoardingPersons"/>
+ <property name="nbSeaDays" type="java.lang.Integer" access="field" column="nbSeaDays" node="nbSeaDays"/>
+ <property name="nbFishingDays" type="java.lang.Integer" access="field" column="nbFishingDays" node="nbFishingDays"/>
+ <property name="month" type="int" access="field" column="month" node="month"/>
+ <property name="harbourCode" type="text" access="field" column="harbourCode" node="harbourCode"/>
+ <property name="harbourId" type="int" access="field" column="harbourId" node="harbourId"/>
+ <bag name="activityProfession" inverse="true" order-by="professionOrder" lazy="true" cascade="all,delete-orphan" node="activityProfession" embed-xml="false">
+ <key column="activityMonth"/>
+ <one-to-many class="fr.ifremer.wao.entity.ActivityProfessionImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ <many-to-one name="activityCalendar" class="fr.ifremer.wao.entity.ActivityCalendarImpl" column="activityCalendar" node="activityCalendar/@topiaId" embed-xml="false"/>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ActivityProfessionImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ActivityProfessionImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ActivityProfessionImpl.hbm.xml 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.ActivityProfessionImpl" table="activityProfession" node="fr.ifremer.wao.entity.ActivityProfessionImpl" abstract="false" proxy="fr.ifremer.wao.entity.ActivityProfession" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="code" type="text" access="field" column="code" node="code"/>
+ <property name="libelle" type="text" access="field" column="libelle" node="libelle"/>
+ <property name="id" type="int" access="field" column="id" node="id"/>
+ <property name="professionOrder" type="int" access="field" column="professionOrder" node="professionOrder"/>
+ <many-to-one name="activityMonth" class="fr.ifremer.wao.entity.ActivityMonthImpl" column="activityMonth" node="activityMonth/@topiaId" embed-xml="false"/>
+ <bag name="activityZone" inverse="true" order-by="zoneId" lazy="true" cascade="all,delete-orphan" node="activityZone" embed-xml="false">
+ <key column="activityProfession"/>
+ <one-to-many class="fr.ifremer.wao.entity.ActivityZoneImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ActivityZoneImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ActivityZoneImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ActivityZoneImpl.hbm.xml 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.ActivityZoneImpl" table="activityZone" node="fr.ifremer.wao.entity.ActivityZoneImpl" abstract="false" proxy="fr.ifremer.wao.entity.ActivityZone" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="zoneCode" type="text" access="field" column="zoneCode" node="zoneCode"/>
+ <property name="zoneLibelle" type="text" access="field" column="zoneLibelle" node="zoneLibelle"/>
+ <property name="zoneId" type="int" access="field" column="zoneId" node="zoneId"/>
+ <property name="gradiantCode" type="int" access="field" column="gradiantCode" node="gradiantCode"/>
+ <property name="gradiantLibelle" type="text" access="field" column="gradiantLibelle" node="gradiantLibelle"/>
+ <many-to-one name="activityProfession" class="fr.ifremer.wao.entity.ActivityProfessionImpl" column="activityProfession" node="activityProfession/@topiaId" embed-xml="false"/>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/BoatImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/BoatImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/BoatImpl.hbm.xml 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.BoatImpl" table="boat" node="fr.ifremer.wao.entity.BoatImpl" abstract="false" proxy="fr.ifremer.wao.entity.Boat" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="immatriculation" type="int" access="field" column="immatriculation" node="immatriculation" index="boat_immatriculation_idx" unique="true"/>
+ <property name="name" type="text" access="field" column="name" node="name"/>
+ <property name="districtCode" type="text" access="field" column="districtCode" node="districtCode"/>
+ <property name="boatLength" type="int" access="field" column="boatLength" node="boatLength"/>
+ <property name="buildYear" type="int" access="field" column="buildYear" node="buildYear"/>
+ <property name="active" type="boolean" access="field" column="active" node="active"/>
+ <many-to-one name="shipOwner" class="fr.ifremer.wao.entity.ShipOwnerImpl" column="shipOwner" lazy="false" node="shipOwner/@topiaId" embed-xml="false"/>
+ <bag name="companyBoatInfos" inverse="true" lazy="true" cascade="all,delete-orphan" node="companyBoatInfos" embed-xml="false">
+ <key column="boat"/>
+ <one-to-many class="fr.ifremer.wao.entity.BoatInfosImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ <bag name="activityCalendar" inverse="true" lazy="true" cascade="all,delete-orphan" node="activityCalendar" embed-xml="false">
+ <key column="boat"/>
+ <one-to-many class="fr.ifremer.wao.entity.ActivityCalendarImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ <bag name="elligibleBoat" inverse="true" order-by="companyActive" lazy="true" node="elligibleBoat" embed-xml="false">
+ <key column="boat"/>
+ <one-to-many class="fr.ifremer.wao.entity.ElligibleBoatImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/BoatInfosImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/BoatInfosImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/BoatInfosImpl.hbm.xml 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.BoatInfosImpl" table="boatInfos" node="fr.ifremer.wao.entity.BoatInfosImpl" abstract="false" proxy="fr.ifremer.wao.entity.BoatInfos" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="contactFirstName" type="text" access="field" column="contactFirstName" node="contactFirstName"/>
+ <property name="contactLastName" type="text" access="field" column="contactLastName" node="contactLastName"/>
+ <property name="contactEmail" type="text" access="field" column="contactEmail" node="contactEmail"/>
+ <property name="contactPhoneNumber" type="text" access="field" column="contactPhoneNumber" node="contactPhoneNumber"/>
+ <property name="dup" type="java.lang.Integer" access="field" column="dup" node="dup"/>
+ <property name="comment" type="text" access="field" column="comment" node="comment"/>
+ <many-to-one name="company" class="fr.ifremer.wao.entity.CompanyImpl" column="company" node="company/@topiaId" embed-xml="false" />
+ <many-to-one name="boat" class="fr.ifremer.wao.entity.BoatImpl" column="boat" node="boat/@topiaId" embed-xml="false" />
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/CompanyImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/CompanyImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/CompanyImpl.hbm.xml 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.CompanyImpl" table="company" node="fr.ifremer.wao.entity.CompanyImpl" abstract="false" proxy="fr.ifremer.wao.entity.Company" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="name" type="text" access="field" column="name" node="name"/>
+ <property name="phoneNumber" type="text" access="field" column="phoneNumber" node="phoneNumber"/>
+ <property name="address1" type="text" access="field" column="address1" node="address1"/>
+ <property name="address2" type="text" access="field" column="address2" node="address2"/>
+ <property name="active" type="boolean" access="field" column="active" node="active"/>
+ <property name="email" type="text" access="field" column="email" node="email"/>
+ <property name="city" type="text" access="field" column="city" node="city"/>
+ <property name="postalCode" type="int" access="field" column="postalCode" node="postalCode"/>
+ <bag name="waoUser" inverse="true" lazy="true" cascade="all,delete-orphan" node="waoUser" embed-xml="false">
+ <key column="company"/>
+ <one-to-many class="fr.ifremer.wao.entity.WaoUserImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ <bag name="boatBoatInfos" inverse="true" lazy="true" cascade="all,delete-orphan" node="boatBoatInfos" embed-xml="false">
+ <key column="company"/>
+ <one-to-many class="fr.ifremer.wao.entity.BoatInfosImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ContactImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ContactImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ContactImpl.hbm.xml 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.ContactImpl" table="contact" node="fr.ifremer.wao.entity.ContactImpl" abstract="false" proxy="fr.ifremer.wao.entity.Contact" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="tideBeginDate" type="java.util.Date" access="field" column="tideBeginDate" node="tideBeginDate"/>
+ <property name="tideEndDate" type="java.util.Date" access="field" column="tideEndDate" node="tideEndDate"/>
+ <property name="nbObservants" type="int" access="field" column="nbObservants" node="nbObservants"/>
+ <property name="mammalsObservation" type="boolean" access="field" column="mammalsObservation" node="mammalsObservation"/>
+ <property name="mammalsCapture" type="boolean" access="field" column="mammalsCapture" node="mammalsCapture"/>
+ <property name="validationProgram" type="java.lang.Boolean" access="field" column="validationProgram" node="validationProgram"/>
+ <property name="validationCompany" type="java.lang.Boolean" access="field" column="validationCompany" node="validationCompany"/>
+ <property name="dataInputDate" type="java.util.Date" access="field" column="dataInputDate" node="dataInputDate"/>
+ <property name="comment" type="text" access="field" column="comment" node="comment"/>
+ <property name="state" type="int" access="field" column="state" node="state"/>
+ <property name="tideNbDays" type="int" access="field" column="tideNbDays" node="tideNbDays"/>
+ <many-to-one name="observer" class="fr.ifremer.wao.entity.WaoUserImpl" column="observer" node="observer/@topiaId" embed-xml="false"/>
+ <many-to-one name="sampleRow" class="fr.ifremer.wao.entity.SampleRowImpl" column="sampleRow" lazy="false" node="sampleRow/@topiaId" embed-xml="false"/>
+ <many-to-one name="boat" class="fr.ifremer.wao.entity.BoatImpl" column="boat" lazy="false" node="boat/@topiaId" embed-xml="false"/>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ElligibleBoatImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ElligibleBoatImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ElligibleBoatImpl.hbm.xml 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.ElligibleBoatImpl" table="elligibleBoat" node="fr.ifremer.wao.entity.ElligibleBoatImpl" abstract="false" proxy="fr.ifremer.wao.entity.ElligibleBoat" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="globalActive" type="boolean" access="field" column="globalActive" node="globalActive"/>
+ <property name="companyActive" type="java.lang.Boolean" access="field" column="companyActive" node="companyActive"/>
+ <many-to-one name="boat" class="fr.ifremer.wao.entity.BoatImpl" column="boat" lazy="false" node="boat/@topiaId" embed-xml="false"/>
+ <many-to-one name="sampleRow" class="fr.ifremer.wao.entity.SampleRowImpl" column="sampleRow" node="sampleRow/@topiaId" embed-xml="false"/>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/FishingZoneImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/FishingZoneImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/FishingZoneImpl.hbm.xml 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.FishingZoneImpl" table="fishingZone" node="fr.ifremer.wao.entity.FishingZoneImpl" abstract="false" proxy="fr.ifremer.wao.entity.FishingZone" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="sectorName" type="text" access="field" column="sectorName" node="sectorName"/>
+ <property name="facadeName" type="text" access="field" column="facadeName" node="facadeName"/>
+ <property name="districtCode" type="text" access="field" column="districtCode" node="districtCode"/>
+ <bag name="sampleRow" table="fishingzone_samplerow" inverse="true" lazy="true" node="sampleRow" embed-xml="true">
+ <key column="fishingZone"/>
+ <many-to-many class="fr.ifremer.wao.entity.SampleRowImpl" column="sampleRow" order-by="code" node="topiaId"/>
+ </bag>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/NewsImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/NewsImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/NewsImpl.hbm.xml 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.NewsImpl" table="news" node="fr.ifremer.wao.entity.NewsImpl" abstract="false" proxy="fr.ifremer.wao.entity.News" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="title" type="text" access="field" column="title" node="title"/>
+ <property name="content" type="text" access="field" column="content" node="content"/>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ProfessionImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ProfessionImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ProfessionImpl.hbm.xml 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.ProfessionImpl" table="profession" node="fr.ifremer.wao.entity.ProfessionImpl" abstract="false" proxy="fr.ifremer.wao.entity.Profession" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="codeDCF5" type="text" access="field" column="codeDCF5" node="codeDCF5"/>
+ <property name="meshSize" type="text" access="field" column="meshSize" node="meshSize"/>
+ <property name="size" type="text" access="field" column="size" node="size"/>
+ <property name="other" type="text" access="field" column="other" node="other"/>
+ <property name="libelle" type="text" access="field" column="libelle" node="libelle"/>
+ <property name="species" type="text" access="field" column="species" node="species"/>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/SampleMonthImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/SampleMonthImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/SampleMonthImpl.hbm.xml 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.SampleMonthImpl" table="sampleMonth" node="fr.ifremer.wao.entity.SampleMonthImpl" abstract="false" proxy="fr.ifremer.wao.entity.SampleMonth" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="realTidesValue" type="int" access="field" column="realTidesValue" node="realTidesValue"/>
+ <property name="expectedTidesValue" type="int" access="field" column="expectedTidesValue" node="expectedTidesValue"/>
+ <property name="periodDate" type="java.util.Date" access="field" column="periodDate" node="periodDate"/>
+ <many-to-one name="sampleRow" class="fr.ifremer.wao.entity.SampleRowImpl" column="sampleRow" node="sampleRow/@topiaId" embed-xml="false"/>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/SampleRowImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/SampleRowImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/SampleRowImpl.hbm.xml 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.SampleRowImpl" table="sampleRow" node="fr.ifremer.wao.entity.SampleRowImpl" abstract="false" proxy="fr.ifremer.wao.entity.SampleRow" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="nbObservants" type="int" access="field" column="nbObservants" node="nbObservants"/>
+ <property name="averageTideTime" type="double" access="field" column="averageTideTime" node="averageTideTime"/>
+ <property name="code" type="text" access="field" column="code" node="code" index="sampleRow_code_idx" unique="true"/>
+ <property name="fishingZonesInfos" type="text" access="field" column="fishingZonesInfos" node="fishingZonesInfos"/>
+ <property name="comment" type="text" access="field" column="comment" node="comment"/>
+ <property name="programName" type="text" access="field" column="programName" node="programName"/>
+ <property name="periodBegin" type="java.util.Date" access="field" column="periodBegin" node="periodBegin"/>
+ <property name="periodEnd" type="java.util.Date" access="field" column="periodEnd" node="periodEnd"/>
+ <many-to-one name="profession" class="fr.ifremer.wao.entity.ProfessionImpl" column="profession" lazy="false" node="profession/@topiaId" embed-xml="false"/>
+ <bag name="sampleMonth" inverse="true" order-by="periodDate" lazy="true" cascade="all,delete-orphan" node="sampleMonth" embed-xml="false">
+ <key column="sampleRow"/>
+ <one-to-many class="fr.ifremer.wao.entity.SampleMonthImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ <many-to-one name="company" class="fr.ifremer.wao.entity.CompanyImpl" column="company" lazy="false" node="company/@topiaId" embed-xml="false"/>
+ <bag name="sampleRowLog" inverse="true" order-by="topiaCreateDate desc" lazy="true" cascade="all,delete-orphan" node="sampleRowLog" embed-xml="false">
+ <key column="sampleRow"/>
+ <one-to-many class="fr.ifremer.wao.entity.SampleRowLogImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ <bag name="elligibleBoat" inverse="true" order-by="companyActive" lazy="true" cascade="all,delete-orphan" node="elligibleBoat" embed-xml="false">
+ <key column="sampleRow"/>
+ <one-to-many class="fr.ifremer.wao.entity.ElligibleBoatImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ <bag name="fishingZone" table="fishingzone_samplerow" lazy="false" node="fishingZone" embed-xml="true">
+ <key column="sampleRow"/>
+ <many-to-many class="fr.ifremer.wao.entity.FishingZoneImpl" column="fishingZone" order-by="facadeName,sectorName,districtCode" node="topiaId"/>
+ </bag>
+ <bag name="contact" inverse="true" lazy="true" node="contact" embed-xml="false">
+ <key column="sampleRow"/>
+ <one-to-many class="fr.ifremer.wao.entity.ContactImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/SampleRowLogImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/SampleRowLogImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/SampleRowLogImpl.hbm.xml 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.SampleRowLogImpl" table="sampleRowLog" node="fr.ifremer.wao.entity.SampleRowLogImpl" abstract="false" proxy="fr.ifremer.wao.entity.SampleRowLog" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="logText" type="text" access="field" column="logText" node="logText"/>
+ <property name="comment" type="text" access="field" column="comment" node="comment"/>
+ <many-to-one name="sampleRow" class="fr.ifremer.wao.entity.SampleRowImpl" column="sampleRow" node="sampleRow/@topiaId" embed-xml="false"/>
+ <many-to-one name="author" class="fr.ifremer.wao.entity.WaoUserImpl" column="author" lazy="false" node="author/@topiaId" embed-xml="false"/>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ShipOwnerImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ShipOwnerImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/ShipOwnerImpl.hbm.xml 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.ShipOwnerImpl" table="shipOwner" node="fr.ifremer.wao.entity.ShipOwnerImpl" abstract="false" proxy="fr.ifremer.wao.entity.ShipOwner" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="code" type="text" access="field" column="code" node="code" index="shipOwner_code_idx" unique="true"/>
+ <property name="firstName" type="text" access="field" column="firstName" node="firstName"/>
+ <property name="lastName" type="text" access="field" column="lastName" node="lastName"/>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/WaoUserImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/WaoUserImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/Wao/1.1/fr/ifremer/wao/entity/WaoUserImpl.hbm.xml 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.WaoUserImpl" table="waoUser" node="fr.ifremer.wao.entity.WaoUserImpl" abstract="false" proxy="fr.ifremer.wao.entity.WaoUser" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="firstName" type="text" access="field" column="firstName" node="firstName"/>
+ <property name="lastName" type="text" access="field" column="lastName" node="lastName"/>
+ <property name="phoneNumber" type="text" access="field" column="phoneNumber" node="phoneNumber"/>
+ <property name="login" type="text" access="field" column="login" node="login"/>
+ <property name="password" type="text" access="field" column="password" node="password"/>
+ <property name="active" type="boolean" access="field" column="active" node="active"/>
+ <property name="role" type="int" access="field" column="role" node="role"/>
+ <property name="readOnly" type="boolean" access="field" column="readOnly" node="readOnly"/>
+ <many-to-one name="company" class="fr.ifremer.wao.entity.CompanyImpl" column="company" node="company/@topiaId" embed-xml="false"/>
+ <bag name="contact" inverse="true" lazy="true" node="contact" embed-xml="false">
+ <key column="observer"/>
+ <one-to-many class="fr.ifremer.wao.entity.ContactImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ </class>
+</hibernate-mapping>
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/ErrorDB1_0Test.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/ErrorDB1_0Test.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/ErrorDB1_0Test.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -49,7 +49,7 @@
@Ignore
public class ErrorDB1_0Test {
- private static WaoRunner runner;
+ private static TestManager manager;
private static final Logger log = LoggerFactory.getLogger(ErrorDB1_0Test.class);
@@ -58,7 +58,7 @@
private static Writer writerKos;
public ErrorDB1_0Test() {
- runner = new WaoRunnerImpl();
+ manager = new TestManager();
}
@BeforeClass
@@ -80,25 +80,25 @@
}
@Before
- public void setUp() throws WaoException, ArgumentsParserException {
- runner.start();
+ public void setUp() throws WaoExceptionO, ArgumentsParserException {
+ manager.start();
}
@After
- public void tearDown() throws WaoException, TopiaException {
- runner.stop();
+ public void tearDown() throws WaoExceptionO, TopiaException {
+ manager.stop();
}
@Test
public void testExecute() throws Exception {
TopiaContext transaction =
- WaoContext.getTopiaRootContext().beginTransaction();
+ manager.getContext().beginTransaction();
- ContactDAO dao = WaoModelDAOHelper.getContactDAO(transaction);
+ ContactDAO dao = WaoDAOHelper.getContactDAO(transaction);
- SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
DateFormat dateFormat = new SimpleDateFormat("MM/yyyy");
Deleted: trunk/wao-business/src/test/java/fr/ifremer/wao/ImportHelperTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/ImportHelperTest.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/ImportHelperTest.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -1,249 +0,0 @@
-/*
- * *##%
- * Wao :: Business
- * Copyright (C) 2009 - 2010 Ifremer
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser 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>.
- * ##%*
- */
-
-package fr.ifremer.wao;
-
-import com.csvreader.CsvReader;
-import fr.ifremer.wao.io.ImportHelper;
-import fr.ifremer.wao.io.WaoCsvHeader.CONTACT;
-import fr.ifremer.wao.io.WaoCsvHeader.SAMPLING;
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.charset.Charset;
-import java.text.DateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.Locale;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import static org.junit.Assert.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- *
- * @author fdesbois
- */
-public class ImportHelperTest {
-
- private static WaoRunner runner;
-
- private static final Logger log = LoggerFactory.getLogger(ImportHelperTest.class);
-
- private CsvReader reader;
-
- public ImportHelperTest() {
- runner = new WaoRunnerTest();
- }
-
- @BeforeClass
- public static void setUpClass() throws Exception {
-
- }
-
- @AfterClass
- public static void tearDownClass() throws Exception {
-
- }
-
- @Before
- public void setUp() throws WaoException, IOException {
- runner.start();
-
- InputStream input = getClass().getResourceAsStream("/import/misc.csv");
- reader = new CsvReader(input, Charset.forName("UTF-8"));
- reader.readHeaders();
- }
-
- @After
- public void tearDown() throws WaoException {
- reader.close();
-
- runner.stop();
- }
-
- /**
- * Test of getHeaderForContactCsv method, of class ImportHelper.
- */
- //@Test
- public void testGetHeaderForContactCsv() {
- System.out.println("getHeaderForContactCsv");
- }
-
- /**
- * Test of formatContactValidation method, of class ImportHelper.
- */
- //@Test
- public void testFormatContactValidation() {
- System.out.println("formatContactValidation");
- }
-
- /**
- * Test of formatContactMammals method, of class ImportHelper.
- */
- //@Test
- public void testFormatContactMammals() {
- System.out.println("formatContactMammals");
- }
-
- /**
- * Test of parseContactMammals method, of class ImportHelper.
- */
- //@Test
- public void testParseContactMammals() {
- System.out.println("parseContactMammals");
- }
-
- /**
- * Test of formatContactCode method, of class ImportHelper.
- */
- @Test
- public void testFormatContactCode() {
- log.info("formatContactCode");
- Date createDate = WaoContext.getCurrentDate();
- Calendar calendar = new GregorianCalendar(Locale.FRENCH);
- calendar.setTime(createDate);
- calendar.set(Calendar.HOUR_OF_DAY, 10);
- calendar.set(Calendar.MINUTE, 1);
- calendar.set(Calendar.SECOND, 50);
- calendar.set(Calendar.MILLISECOND, 260);
- String expResult = "100150260";
- DateFormat timeFormat = CONTACT.getTimeFormat();
- String result = timeFormat.format(calendar.getTime());
- assertEquals(expResult, result);
- }
-
- /**
- * Test of parseContactCreateDate method, of class ImportHelper.
- */
- @Test
- public void testParseContactCreateDate() throws Exception {
- System.out.println("parseContactCreateDate");
- String code = "101250718";
- Date createDate = WaoContext.getCurrentDate();
- Calendar calendar = new GregorianCalendar(Locale.FRENCH);
- calendar.setTime(createDate);
- calendar.set(Calendar.HOUR_OF_DAY, 10);
- calendar.set(Calendar.MINUTE, 12);
- calendar.set(Calendar.SECOND, 50);
- calendar.set(Calendar.MILLISECOND, 718);
- Date expResult = calendar.getTime();
- Date result = ImportHelper.parseContactCreateDate(code, "23/10/2009");
- assertEquals(expResult, result);
- }
-
- /**
- * Test of logTimeAndMemory method, of class ImportHelper.
- */
- //@Test
- public void testLogTimeAndMemory() {
- System.out.println("logTimeAndMemory");
- }
-
- /**
- * Test of parseContactValidation method, of class ImportHelper.
- */
- //@Test
- public void testParseContactValidation() throws Exception {
- System.out.println("parseContactValidation");
- }
-
- /**
- * Test of readSampleRowCode method, of class ImportHelper.
- */
- @Test
- public void testReadSampleRowCode() throws Exception {
- System.out.println("readSampleRowCode");
-
- reader.readRecord();
- String code = ImportHelper.readSampleRowCode(reader);
- assertEquals(code, "2009_0001");
-
- reader.readRecord();
- code = ImportHelper.readSampleRowCode(reader);
- assertEquals(code, "2009_0011");
-
- reader.readRecord();
- code = ImportHelper.readSampleRowCode(reader);
- assertEquals(code, "2009_0111");
-
- reader.readRecord();
- code = ImportHelper.readSampleRowCode(reader);
- assertEquals(code, "2009_1111");
- }
-
- /**
- * Test of getContactDateFormat method, of class ImportHelper.
- */
- //@Test
- public void testGetContactDateFormat() {
- System.out.println("getContactDateFormat");
- }
-
- /**
- * Test of read method, of class ImportHelper.
- */
- @Test
- public void testRead() throws Exception {
- log.info("read");
-
- reader.readRecord();
- String code = ImportHelper.read(reader, SAMPLING.PLAN_CODE);
- assertEquals(code, "2009_1");
- }
-
- /**
- * Test of readInt method, of class ImportHelper.
- */
- //@Test
- public void testReadInt() throws Exception {
- System.out.println("readInt");
- }
-
- /**
- * Test of readInteger method, of class ImportHelper.
- */
- //@Test
- public void testReadInteger() throws Exception {
- System.out.println("readInteger");
- }
-
- /**
- * Test of readPeriod method, of class ImportHelper.
- */
- //@Test
- public void testReadPeriod() throws Exception {
- System.out.println("readPeriod");
- }
-
- /**
- * Test of readDate method, of class ImportHelper.
- */
- //@Test
- public void testReadDate() throws Exception {
- System.out.println("readDate");
- }
-
-}
Copied: trunk/wao-business/src/test/java/fr/ifremer/wao/TestManager.java (from rev 395, trunk/wao-business/src/test/java/fr/ifremer/wao/WaoRunnerTest.java)
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/TestManager.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/TestManager.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,197 @@
+/*
+ * *##%
+ * Wao :: Business
+ * Copyright (C) 2009 - 2010 Ifremer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser 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>.
+ * ##%*
+ */
+
+package fr.ifremer.wao;
+
+import fr.ifremer.wao.service.ServiceBoat;
+import fr.ifremer.wao.service.ServiceBoatImpl;
+import fr.ifremer.wao.service.ServiceContact;
+import fr.ifremer.wao.service.ServiceContactImpl;
+import fr.ifremer.wao.service.ServiceNews;
+import fr.ifremer.wao.service.ServiceNewsImpl;
+import fr.ifremer.wao.service.ServiceReferential;
+import fr.ifremer.wao.service.ServiceReferentialImpl;
+import fr.ifremer.wao.service.ServiceSampling;
+import fr.ifremer.wao.service.ServiceSamplingImpl;
+import fr.ifremer.wao.service.ServiceSynthesis;
+import fr.ifremer.wao.service.ServiceSynthesisImpl;
+import fr.ifremer.wao.service.ServiceUser;
+import fr.ifremer.wao.service.ServiceUserImpl;
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+import java.util.Properties;
+import org.junit.Ignore;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.util.ApplicationConfig;
+import org.nuiton.util.Resource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * WaoRunnerTest
+ *
+ * Created: 23 nov. 2009
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+ at Ignore
+public class TestManager {
+
+ private static final Logger log = LoggerFactory.getLogger(TestManager.class);
+
+ private WaoContextImpl context;
+
+ public TestManager() {
+
+ }
+
+ public void start() throws WaoException {
+ if (log.isDebugEnabled()) {
+ log.debug("TEST START");
+ }
+ try {
+ context = new WaoContextImpl();
+ ApplicationConfig configuration = new ApplicationConfig();
+ configuration.setOptions(loadFileProperties("WaoTest.properties"));
+
+ context.loadConfiguration(configuration);
+
+ // Set currentDate to 23/10/2009
+ Calendar calendar = new GregorianCalendar(2009, 9, 23);
+ context.setCurrentDate(calendar.getTime());
+
+ WaoContextO.setContext(context);
+ } catch (Exception eee) {
+ context.doCatch(eee, "Error during loadConfiguration from " +
+ "'WaoTest.properties' file");
+ }
+ }
+
+ public void stop() throws WaoException {
+ if (log.isDebugEnabled()) {
+ log.debug("TEST STOP : clearContext");
+ }
+ try {
+ context.getTopiaRootContext().clear(true);
+ } catch (TopiaException eee) {
+ context.doCatch(eee, "Error during clear database");
+ }
+ }
+
+ public WaoContextImplementor getContext() {
+ return context;
+ }
+
+ protected Properties loadFileProperties(String filename)
+ throws URISyntaxException, IOException {
+ Properties props = new Properties();
+ URL url = Resource.getURL(filename);
+ if (log.isDebugEnabled()) {
+ log.debug(url.toString());
+ }
+ props.load(url.openStream());
+ return props;
+ }
+
+ public ServiceBoat getServiceBoat() {
+ ServiceBoatImpl instance = new ServiceBoatImpl();
+ instance.setContext(getContext());
+ return instance;
+ }
+
+ public ServiceReferential getServiceReferential() throws WaoExceptionO {
+ ServiceReferentialImpl instance = new ServiceReferentialImpl();
+ instance.setContext(getContext());
+ return instance;
+ }
+
+ public ServiceNews getServiceNews() {
+ ServiceNewsImpl instance = new ServiceNewsImpl();
+ instance.setContext(getContext());
+ return instance;
+ }
+
+ public ServiceSampling getServiceSampling() throws WaoExceptionO {
+ ServiceSamplingImpl instance = new ServiceSamplingImpl();
+// instance.setContext(context);
+ return instance;
+ }
+
+ public ServiceSynthesis getServiceSynthesis() throws WaoExceptionO {
+ ServiceSynthesisImpl instance = new ServiceSynthesisImpl();
+// instance.setContext(context);
+ return instance;
+ }
+
+ public ServiceUser getServiceUser() throws WaoExceptionO {
+ ServiceUserImpl instance = new ServiceUserImpl();
+// instance.setContext(context);
+ return instance;
+ }
+
+ public ServiceContact getServiceContact() throws WaoExceptionO {
+ ServiceContactImpl instance = new ServiceContactImpl();
+// instance.setContext(context);
+ return instance;
+ }
+
+// public void prepareData() throws WaoExceptionO {
+// ServiceBoat serviceBoat = new ServiceBoatImpl();
+// ServiceReferential serviceReferential = new ServiceReferentialImpl();
+// ServiceUser serviceUser = new ServiceUserImpl();
+// ServiceSampling serviceSampling = new ServiceSamplingImpl();
+// ServiceContact serviceContact = new ServiceContactImpl();
+//
+// Company company = new CompanyImpl();
+// company.setName("TARTANPION");
+// company.setActive(true);
+// serviceUser.createUpdateCompany(company);
+//
+// WaoUser observer = new WaoUserImpl();
+// observer.setCompany(company);
+// observer.setFirstName("Jean");
+// observer.setLastName("Michmuche");
+// observer.setLogin("jmichmuche");
+// observer.setActive(true);
+// serviceUser.createUpdateUser(observer, true);
+//
+// InputStream input = getClass().getResourceAsStream("/import/navires.csv");
+// serviceBoat.importBoatCsv(input);
+//
+// input = getClass().getResourceAsStream("/import/zonesPeche.csv");
+// serviceReferential.importFishingZoneCsv(input);
+//
+// input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+// serviceSampling.importSamplingPlanCsv(input);
+//
+// input = getClass().getResourceAsStream("/import/contacts.csv");
+// // user import : no activation
+// serviceContact.importContactCsv(observer, input);
+// }
+
+}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/WaoGlobalTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/WaoGlobalTest.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/WaoGlobalTest.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -48,12 +48,12 @@
*/
public class WaoGlobalTest {
- private static WaoRunner runner;
+ private static TestManager manager;
private static final Logger log = LoggerFactory.getLogger(WaoGlobalTest.class);
public WaoGlobalTest() {
- runner = new WaoRunnerTest();
+ manager = new TestManager();
}
@BeforeClass
@@ -67,13 +67,13 @@
}
@Before
- public void setUp() throws WaoException {
- runner.start();
+ public void setUp() throws WaoExceptionO {
+ manager.start();
}
@After
- public void tearDown() throws WaoException {
- runner.stop();
+ public void tearDown() throws WaoExceptionO {
+ manager.stop();
}
/**
Deleted: trunk/wao-business/src/test/java/fr/ifremer/wao/WaoRunnerTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/WaoRunnerTest.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/WaoRunnerTest.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -1,150 +0,0 @@
-/*
- * *##%
- * Wao :: Business
- * Copyright (C) 2009 - 2010 Ifremer
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser 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>.
- * ##%*
- */
-
-package fr.ifremer.wao;
-
-import fr.ifremer.wao.entity.Company;
-import fr.ifremer.wao.entity.CompanyImpl;
-import fr.ifremer.wao.entity.WaoUser;
-import fr.ifremer.wao.entity.WaoUserImpl;
-import fr.ifremer.wao.service.*;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.Properties;
-import org.junit.Ignore;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.util.ApplicationConfig;
-import org.nuiton.util.Resource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * WaoRunnerTest
- *
- * Created: 23 nov. 2009
- *
- * @author fdesbois
- * @version $Revision$
- *
- * Mise a jour: $Date$
- * par : $Author$
- */
- at Ignore
-public class WaoRunnerTest implements WaoRunner {
-
- private static final Logger log = LoggerFactory.getLogger(WaoRunnerTest.class);
-
- private ApplicationConfig _configuration;
-
- @Override
- public void start() throws WaoException {
- if (log.isDebugEnabled()) {
- log.debug("TEST START : loadConfiguration");
- }
- try {
- Properties options = loadFileProperties("WaoTest.properties");
- options.setProperty("topia.persistence.classes",
- WaoModelDAOHelper.getImplementationClassesAsString());
-
- _configuration = new ApplicationConfig();
- _configuration.setOptions(options);
-
- WaoContext.setRunner(this);
- } catch (Exception eee) {
- WaoContext.serviceException(null, "Error during loadConfiguration from " +
- "'WaoTest.properties' file", eee);
- }
- }
-
- @Override
- public void stop() throws WaoException {
- if (log.isDebugEnabled()) {
- log.debug("TEST STOP : clearContext");
- }
- try {
- WaoContext.getTopiaRootContext().clear(true);
- } catch (TopiaException eee) {
- WaoContext.serviceException(null, "Error during clear database", eee);
- }
- }
-
- private static Properties loadFileProperties(String filename)
- throws URISyntaxException, IOException {
- Properties props = new Properties();
- URL url = Resource.getURL(filename);
- if (log.isDebugEnabled()) {
- log.debug(url.toString());
- }
- props.load(url.openStream());
- return props;
- }
-
- @Override
- public Date getCurrentDate() {
- Calendar calendar = new GregorianCalendar(2009, 9, 23); // 23/10/2009
- return calendar.getTime();
- }
-
- @Override
- public ApplicationConfig getConfiguration() {
- return _configuration;
- }
-
- public void prepareData() throws WaoException {
- ServiceBoat serviceBoat = new ServiceBoatImpl();
- ServiceReferential serviceReferential = new ServiceReferentialImpl();
- ServiceUser serviceUser = new ServiceUserImpl();
- ServiceSampling serviceSampling = new ServiceSamplingImpl();
- ServiceContact serviceContact = new ServiceContactImpl();
-
- Company company = new CompanyImpl();
- company.setName("TARTANPION");
- company.setActive(true);
- serviceUser.createUpdateCompany(company);
-
- WaoUser observer = new WaoUserImpl();
- observer.setCompany(company);
- observer.setFirstName("Jean");
- observer.setLastName("Michmuche");
- observer.setLogin("jmichmuche");
- observer.setActive(true);
- serviceUser.createUpdateUser(observer, true);
-
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- serviceBoat.importBoatCsv(input);
-
- input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- serviceReferential.importFishingZoneCsv(input);
-
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- serviceSampling.importSamplingPlanCsv(input);
-
- input = getClass().getResourceAsStream("/import/contacts.csv");
- // user import : no activation
- serviceContact.importContactCsv(observer, input);
- }
-
-}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/WaoUtilsTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/WaoUtilsTest.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/WaoUtilsTest.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -45,12 +45,12 @@
*/
public class WaoUtilsTest {
- private static WaoRunner runner;
+ private static TestManager manager;
private static final Logger log = LoggerFactory.getLogger(WaoUtilsTest.class);
public WaoUtilsTest() {
- runner = new WaoRunnerTest();
+ manager = new TestManager();
}
@BeforeClass
@@ -64,13 +64,13 @@
}
@Before
- public void setUp() throws WaoException {
- runner.start();
+ public void setUp() throws WaoExceptionO {
+ manager.start();
}
@After
- public void tearDown() throws WaoException {
- runner.stop();
+ public void tearDown() throws WaoExceptionO {
+ manager.stop();
}
/**
@@ -130,7 +130,7 @@
Company company = new CompanyImpl();
- WaoContext.prepareTopiaId(Company.class, company);
+ manager.getContext().prepareTopiaId(Company.class, company);
assertNotNull(company.getTopiaId());
log.debug("topiaId for Company : " + company.getTopiaId());
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,12 +21,9 @@
package fr.ifremer.wao.entity;
-import fr.ifremer.wao.WaoContext;
-import fr.ifremer.wao.WaoModelDAOHelper;
-import fr.ifremer.wao.WaoRunner;
+import fr.ifremer.wao.WaoDAOHelper;
import fr.ifremer.wao.bean.ContactState;
-import fr.ifremer.wao.WaoRunnerTest;
-import fr.ifremer.wao.service.ServiceBoatImpl;
+import fr.ifremer.wao.TestManager;
import fr.ifremer.wao.service.ServiceContactImpl;
import fr.ifremer.wao.service.ServiceSamplingImpl;
import fr.ifremer.wao.service.ServiceUserImpl;
@@ -61,7 +58,7 @@
*/
public class BoatImplTest {
- private static WaoRunner runner;
+ private static TestManager manager;
private static final Logger log = LoggerFactory.getLogger(BoatImplTest.class);
@@ -70,7 +67,7 @@
@BeforeClass
public static void setUpClass() throws Exception {
- runner = new WaoRunnerTest();
+ manager = new TestManager();
}
@AfterClass
@@ -79,12 +76,12 @@
@Before
public void setUp() throws Exception {
- runner.start();
+ manager.start();
}
@After
public void tearDown() throws Exception {
- runner.stop();
+ manager.stop();
}
/**
@@ -110,14 +107,14 @@
serviceUser.createUpdateUser(user, true);
InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = new ServiceBoatImpl();
+ ServiceBoat serviceBoat = manager.getServiceBoat();
serviceBoat.importBoatCsv(input);
List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
Boat boat = boats.get(0);
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ TopiaContext transaction = manager.getContext().beginTransaction();
- FishingZoneDAO zoneDAO = WaoModelDAOHelper.getFishingZoneDAO(transaction);
+ FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
FishingZone zoneIId = zoneDAO.create(FishingZone.DISTRICT_CODE, "IId");
FishingZone zoneIV = zoneDAO.create(FishingZone.DISTRICT_CODE, "IV");
FishingZone zoneI = zoneDAO.create(FishingZone.DISTRICT_CODE, "I");
@@ -128,7 +125,7 @@
input = getClass().getResourceAsStream("/import/echantillonnage.csv");
serviceSampling.importSamplingPlanCsv(input);
- SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
SampleRow row = rowDAO.findByCode("2010_0001");
row.getCompany();
row.getProfession();
@@ -188,18 +185,18 @@
/** PREPARE DATA **/
InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = new ServiceBoatImpl();
+ ServiceBoat serviceBoat = manager.getServiceBoat();
serviceBoat.importBoatCsv(input);
List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
Boat boat = boats.get(0);
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ TopiaContext transaction = manager.getContext().beginTransaction();
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
Company company = companyDAO.create(Company.NAME, "TARTANPION");
Company company2 = companyDAO.create(Company.NAME, "BIS");
- WaoUserDAO userDAO = WaoModelDAOHelper.getWaoUserDAO(transaction);
+ WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
WaoUser user = userDAO.create(WaoUser.FIRST_NAME,"Jean", WaoUser.LAST_NAME, "Michmuche",
WaoUser.COMPANY, company);
company.addWaoUser(user);
@@ -207,7 +204,7 @@
WaoUser.COMPANY, company2);
company2.addWaoUser(user2);
-// BoatInfosDAO boatInfosDAO = WaoModelDAOHelper.getBoatInfosDAO(transaction);
+// BoatInfosDAO boatInfosDAO = WaoDAOHelper.getBoatInfosDAO(transaction);
// BoatInfos boatInfos = boatInfosDAO.create(BoatInfos.BOAT, boat, BoatInfos.COMPANY, company);
transaction.commitTransaction();
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatInfosImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatInfosImplTest.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatInfosImplTest.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -22,9 +22,7 @@
package fr.ifremer.wao.entity;
import fr.ifremer.wao.WaoRunner;
-import fr.ifremer.wao.WaoRunnerTest;
-import fr.ifremer.wao.service.ServiceBoatImpl;
-import fr.ifremer.wao.service.ServiceContactImpl;
+import fr.ifremer.wao.TestManager;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
@@ -46,7 +44,7 @@
*/
public class BoatInfosImplTest {
- private static WaoRunner runner;
+ private static TestManager manager;
private static final Logger log = LoggerFactory.getLogger(BoatInfosImplTest.class);
@@ -55,7 +53,7 @@
@BeforeClass
public static void setUpClass() throws Exception {
- runner = new WaoRunnerTest();
+ manager = new TestManager();
}
@AfterClass
@@ -64,12 +62,12 @@
@Before
public void setUp() throws Exception {
- runner.start();
+ manager.start();
}
@After
public void tearDown() throws Exception {
- runner.stop();
+ manager.stop();
}
/**
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/entity/SampleRowImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/entity/SampleRowImplTest.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/entity/SampleRowImplTest.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,11 +21,11 @@
package fr.ifremer.wao.entity;
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.WaoModelDAOHelper;
+import fr.ifremer.wao.WaoExceptionO;
+import fr.ifremer.wao.WaoDAOHelper;
import fr.ifremer.wao.WaoRunner;
-import fr.ifremer.wao.WaoContext;
-import fr.ifremer.wao.WaoRunnerTest;
+import fr.ifremer.wao.WaoContextO;
+import fr.ifremer.wao.TestManager;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
@@ -54,7 +54,7 @@
*/
public class SampleRowImplTest {
- private static WaoRunner runner;
+ private static TestManager manager;
private static final Logger log = LoggerFactory.getLogger(SampleRowImplTest.class);
@@ -63,7 +63,7 @@
@BeforeClass
public static void setUpClass() throws Exception {
- runner = new WaoRunnerTest();
+ manager = new TestManager();
}
@AfterClass
@@ -72,23 +72,23 @@
@Before
public void setUp() throws Exception {
- runner.start();
+ manager.start();
}
@After
public void tearDown() throws Exception {
- runner.stop();
+ manager.stop();
}
- private SampleRow prepareData() throws WaoException, TopiaException {
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ private SampleRow prepareData() throws WaoExceptionO, TopiaException {
+ TopiaContext transaction = manager.getContext().beginTransaction();
- SampleRowDAO dao = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO dao = WaoDAOHelper.getSampleRowDAO(transaction);
SampleRow row = dao.create();
row.setCode("2010_1");
- SampleMonthDAO monthDAO = WaoModelDAOHelper.getSampleMonthDAO(transaction);
+ SampleMonthDAO monthDAO = WaoDAOHelper.getSampleMonthDAO(transaction);
SampleMonth month = monthDAO.create(SampleMonth.SAMPLE_ROW, row);
Calendar calendar = new GregorianCalendar(2009, 3, 1);
@@ -103,9 +103,9 @@
return myRow;
}
- private SampleRow getRowFromContext() throws WaoException, TopiaException {
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
- SampleRowDAO dao = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ private SampleRow getRowFromContext() throws WaoExceptionO, TopiaException {
+ TopiaContext transaction = manager.getContext().beginTransaction();
+ SampleRowDAO dao = WaoDAOHelper.getSampleRowDAO(transaction);
SampleRow resultRow = dao.findByCode("2010_1");
resultRow.sizeElligibleBoat();
resultRow.sizeSampleMonth();
Deleted: trunk/wao-business/src/test/java/fr/ifremer/wao/io/ImportHelperTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/io/ImportHelperTest.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/io/ImportHelperTest.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -1,201 +0,0 @@
-
-package fr.ifremer.wao.io;
-
-import com.csvreader.CsvReader;
-import fr.ifremer.wao.io.WaoCsvHeader.DatedHeader;
-import java.io.InputStream;
-import java.nio.charset.Charset;
-import java.util.Date;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.nuiton.util.DateUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- *
- * @author fdesbois
- */
-public class ImportHelperTest {
-
- private static final Logger logger =
- LoggerFactory.getLogger(ImportHelperTest.class);
-
- public ImportHelperTest() {
- }
-
- @BeforeClass
- public static void setUpClass() throws Exception {
- }
-
- @AfterClass
- public static void tearDownClass() throws Exception {
- }
-
- @Before
- public void setUp() {
- }
-
- @After
- public void tearDown() {
- }
-
- /**
- * Test of parseContactValidation method, of class ImportHelper.
- */
- //@Test
- public void testParseContactValidation() throws Exception {
- System.out.println("parseContactValidation");
- }
-
- /**
- * Test of parseContactMammals method, of class ImportHelper.
- */
- //@Test
- public void testParseContactMammals() throws Exception {
- System.out.println("parseContactMammals");
- }
-
- /**
- * Test of parseContactCreateDate method, of class ImportHelper.
- */
- //@Test
- public void testParseContactCreateDate() throws Exception {
- System.out.println("parseContactCreateDate");
- }
-
- /**
- * Test of readSampleRowCode method, of class ImportHelper.
- */
- //@Test
- public void testReadSampleRowCode() throws Exception {
- System.out.println("readSampleRowCode");
- }
-
- /**
- * Test of read method, of class ImportHelper.
- */
- //@Test
- public void testRead() throws Exception {
- System.out.println("read");
- }
-
- /**
- * Test of readInt method, of class ImportHelper.
- */
- //@Test
- public void testReadInt() throws Exception {
- System.out.println("readInt");
- }
-
- /**
- * Test of readInteger method, of class ImportHelper.
- */
- //@Test
- public void testReadInteger() throws Exception {
- System.out.println("readInteger");
- }
-
- /**
- * Test of readPeriod method, of class ImportHelper.
- */
- //@Test
- public void testReadPeriod() throws Exception {
- System.out.println("readPeriod");
- }
-
- /**
- * Test of readDate method, of class ImportHelper.
- */
- @Test
- public void testReadDate() throws Exception {
- logger.info("readDate");
-
- InputStream stream =
- getClass().getResourceAsStream("/import/dates.csv");
- CsvReader reader = new CsvReader(stream, Charset.forName("UTF-8"));
- reader.readHeaders();
-
- reader.readRecord();
-
- // TEST1 : Date like JJ/MM/AAAA
- // normal pattern : dd/MM/yyyy
- DatedHeader header1 = new DatedHeader() {
-
- @Override
- public String datePattern() {
- return "dd/MM/yyyy";
- }
-
- @Override
- public String name() {
- return "DATE_1";
- }
- };
-
- Date res = ImportHelper.readDate(reader, header1);
- Date ref = DateUtils.createDate(10, 2, 2010);
- Assert.assertEquals(ref, res);
-
- // TEST2 : Date like JJ/MM/AA
- // same pattern as header1 : dd/MM/yyyy
- DatedHeader header2 = new DatedHeader() {
-
- @Override
- public String datePattern() {
- return "dd/MM/yyyy";
- }
-
- @Override
- public String name() {
- return "DATE_2";
- }
- };
-
- res = ImportHelper.readDate(reader, header2);
- Assert.assertEquals(ref, res);
-
- // TEST3: date like MM/AAAA
- // pattern without day : MM/yyyy
- DatedHeader header3 = new DatedHeader() {
-
- @Override
- public String datePattern() {
- return "MM/yyyy";
- }
-
- @Override
- public String name() {
- return "DATE_3";
- }
- };
-
- res = ImportHelper.readDate(reader, header3);
- Date ref2 = DateUtils.createDate(1, 2, 2010);
- Assert.assertEquals(ref2, res);
-
- // TEST4: date like JJ/MM/AA
- // same pattern as header3 : MM/yyyy
- DatedHeader header4 = new DatedHeader() {
-
- @Override
- public String datePattern() {
- return "MM/yyyy";
- }
-
- @Override
- public String name() {
- return "DATE_4";
- }
- };
-
- res = ImportHelper.readDate(reader, header4);
- Assert.assertEquals(ref2, res);
-
- }
-
-}
\ No newline at end of file
Copied: trunk/wao-business/src/test/java/fr/ifremer/wao/io/ImportHelperTest.java (from rev 395, trunk/wao-business/src/test/java/fr/ifremer/wao/ImportHelperTest.java)
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/io/ImportHelperTest.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/io/ImportHelperTest.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -0,0 +1,334 @@
+/*
+ * *##%
+ * Wao :: Business
+ * Copyright (C) 2009 - 2010 Ifremer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser 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>.
+ * ##%*
+ */
+
+package fr.ifremer.wao.io;
+
+import fr.ifremer.wao.*;
+import com.csvreader.CsvReader;
+import fr.ifremer.wao.io.WaoCsvHeader.CONTACT;
+import fr.ifremer.wao.io.WaoCsvHeader.DatedHeader;
+import fr.ifremer.wao.io.WaoCsvHeader.SAMPLING;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.Charset;
+import java.text.DateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.Locale;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.nuiton.util.DateUtils;
+import static org.junit.Assert.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ *
+ * @author fdesbois
+ */
+public class ImportHelperTest {
+
+ private static TestManager manager;
+
+ private static final Logger log = LoggerFactory.getLogger(ImportHelperTest.class);
+
+ private CsvReader reader;
+
+ public ImportHelperTest() {
+ manager = new TestManager();
+ }
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception {
+
+ }
+
+ @Before
+ public void setUp() throws WaoExceptionO, IOException {
+ manager.start();
+
+ InputStream input = getClass().getResourceAsStream("/import/misc.csv");
+ reader = new CsvReader(input, Charset.forName("UTF-8"));
+ reader.readHeaders();
+ }
+
+ @After
+ public void tearDown() throws WaoExceptionO {
+ reader.close();
+
+ manager.stop();
+ }
+
+ /**
+ * Test of getHeaderForContactCsv method, of class ImportHelper.
+ */
+ //@Test
+ public void testGetHeaderForContactCsv() {
+ System.out.println("getHeaderForContactCsv");
+ }
+
+ /**
+ * Test of formatContactValidation method, of class ImportHelper.
+ */
+ //@Test
+ public void testFormatContactValidation() {
+ System.out.println("formatContactValidation");
+ }
+
+ /**
+ * Test of formatContactMammals method, of class ImportHelper.
+ */
+ //@Test
+ public void testFormatContactMammals() {
+ System.out.println("formatContactMammals");
+ }
+
+ /**
+ * Test of parseContactMammals method, of class ImportHelper.
+ */
+ //@Test
+ public void testParseContactMammals() {
+ System.out.println("parseContactMammals");
+ }
+
+ /**
+ * Test of formatContactCode method, of class ImportHelper.
+ */
+ @Test
+ public void testFormatContactCode() {
+ log.info("formatContactCode");
+ Date createDate = manager.getContext().getCurrentDate();
+ Calendar calendar = new GregorianCalendar(Locale.FRENCH);
+ calendar.setTime(createDate);
+ calendar.set(Calendar.HOUR_OF_DAY, 10);
+ calendar.set(Calendar.MINUTE, 1);
+ calendar.set(Calendar.SECOND, 50);
+ calendar.set(Calendar.MILLISECOND, 260);
+ String expResult = "100150260";
+ DateFormat timeFormat = CONTACT.getTimeFormat();
+ String result = timeFormat.format(calendar.getTime());
+ assertEquals(expResult, result);
+ }
+
+ /**
+ * Test of parseContactCreateDate method, of class ImportHelper.
+ */
+ @Test
+ public void testParseContactCreateDate() throws Exception {
+ System.out.println("parseContactCreateDate");
+ String code = "101250718";
+ Date createDate = manager.getContext().getCurrentDate();
+ Calendar calendar = new GregorianCalendar(Locale.FRENCH);
+ calendar.setTime(createDate);
+ calendar.set(Calendar.HOUR_OF_DAY, 10);
+ calendar.set(Calendar.MINUTE, 12);
+ calendar.set(Calendar.SECOND, 50);
+ calendar.set(Calendar.MILLISECOND, 718);
+ Date expResult = calendar.getTime();
+ Date result = ImportHelper.parseContactCreateDate(code, "23/10/2009");
+ assertEquals(expResult, result);
+ }
+
+ /**
+ * Test of logTimeAndMemory method, of class ImportHelper.
+ */
+ //@Test
+ public void testLogTimeAndMemory() {
+ System.out.println("logTimeAndMemory");
+ }
+
+ /**
+ * Test of parseContactValidation method, of class ImportHelper.
+ */
+ //@Test
+ public void testParseContactValidation() throws Exception {
+ System.out.println("parseContactValidation");
+ }
+
+ /**
+ * Test of readSampleRowCode method, of class ImportHelper.
+ */
+ @Test
+ public void testReadSampleRowCode() throws Exception {
+ System.out.println("readSampleRowCode");
+
+ reader.readRecord();
+ String code = ImportHelper.readSampleRowCode(reader);
+ assertEquals(code, "2009_0001");
+
+ reader.readRecord();
+ code = ImportHelper.readSampleRowCode(reader);
+ assertEquals(code, "2009_0011");
+
+ reader.readRecord();
+ code = ImportHelper.readSampleRowCode(reader);
+ assertEquals(code, "2009_0111");
+
+ reader.readRecord();
+ code = ImportHelper.readSampleRowCode(reader);
+ assertEquals(code, "2009_1111");
+ }
+
+ /**
+ * Test of getContactDateFormat method, of class ImportHelper.
+ */
+ //@Test
+ public void testGetContactDateFormat() {
+ System.out.println("getContactDateFormat");
+ }
+
+ /**
+ * Test of read method, of class ImportHelper.
+ */
+ @Test
+ public void testRead() throws Exception {
+ log.info("read");
+
+ reader.readRecord();
+ String code = ImportHelper.read(reader, SAMPLING.PLAN_CODE);
+ assertEquals(code, "2009_1");
+ }
+
+ /**
+ * Test of readInt method, of class ImportHelper.
+ */
+ //@Test
+ public void testReadInt() throws Exception {
+ System.out.println("readInt");
+ }
+
+ /**
+ * Test of readInteger method, of class ImportHelper.
+ */
+ //@Test
+ public void testReadInteger() throws Exception {
+ System.out.println("readInteger");
+ }
+
+ /**
+ * Test of readPeriod method, of class ImportHelper.
+ */
+ //@Test
+ public void testReadPeriod() throws Exception {
+ System.out.println("readPeriod");
+ }
+
+ /**
+ * Test of readDate method, of class ImportHelper.
+ */
+ @Test
+ public void testReadDate() throws Exception {
+ log.info("readDate");
+
+ InputStream stream =
+ getClass().getResourceAsStream("/import/dates.csv");
+ reader = new CsvReader(stream, Charset.forName("UTF-8"));
+ reader.readHeaders();
+
+ reader.readRecord();
+
+ // TEST1 : Date like JJ/MM/AAAA
+ // normal pattern : dd/MM/yyyy
+ DatedHeader header1 = new DatedHeader() {
+
+ @Override
+ public String datePattern() {
+ return "dd/MM/yyyy";
+ }
+
+ @Override
+ public String name() {
+ return "DATE_1";
+ }
+ };
+
+ Date res = ImportHelper.readDate(reader, header1);
+ Date ref = DateUtils.createDate(10, 2, 2010);
+ Assert.assertEquals(ref, res);
+
+ // TEST2 : Date like JJ/MM/AA
+ // same pattern as header1 : dd/MM/yyyy
+ DatedHeader header2 = new DatedHeader() {
+
+ @Override
+ public String datePattern() {
+ return "dd/MM/yyyy";
+ }
+
+ @Override
+ public String name() {
+ return "DATE_2";
+ }
+ };
+
+ res = ImportHelper.readDate(reader, header2);
+ Assert.assertEquals(ref, res);
+
+ // TEST3: date like MM/AAAA
+ // pattern without day : MM/yyyy
+ DatedHeader header3 = new DatedHeader() {
+
+ @Override
+ public String datePattern() {
+ return "MM/yyyy";
+ }
+
+ @Override
+ public String name() {
+ return "DATE_3";
+ }
+ };
+
+ res = ImportHelper.readDate(reader, header3);
+ Date ref2 = DateUtils.createDate(1, 2, 2010);
+ Assert.assertEquals(ref2, res);
+
+ // TEST4: date like JJ/MM/AA
+ // same pattern as header3 : MM/yyyy
+ DatedHeader header4 = new DatedHeader() {
+
+ @Override
+ public String datePattern() {
+ return "MM/yyyy";
+ }
+
+ @Override
+ public String name() {
+ return "DATE_4";
+ }
+ };
+
+ res = ImportHelper.readDate(reader, header4);
+ Assert.assertEquals(ref2, res);
+
+ }
+
+}
Property changes on: trunk/wao-business/src/test/java/fr/ifremer/wao/io/ImportHelperTest.java
___________________________________________________________________
Added: svn:keywords
+ "Author Date Id Revision HeadURL"
Added: svn:mergeinfo
+
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ActivityCalendarImportTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ActivityCalendarImportTest.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ActivityCalendarImportTest.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,10 +21,9 @@
package fr.ifremer.wao.service;
-import fr.ifremer.wao.WaoContext;
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.WaoRunner;
-import fr.ifremer.wao.WaoRunnerTest;
+import fr.ifremer.wao.WaoExceptionO;
+import fr.ifremer.wao.WaoProperty;
+import fr.ifremer.wao.TestManager;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
@@ -54,7 +53,7 @@
*/
public class ActivityCalendarImportTest {
- private static WaoRunner runner;
+ private static TestManager manager;
private static final Logger log = LoggerFactory.getLogger(ActivityCalendarImportTest.class);
@@ -63,7 +62,7 @@
@BeforeClass
public static void setUpClass() throws Exception {
- runner = new WaoRunnerTest();
+ manager = new TestManager();
}
@AfterClass
@@ -71,37 +70,37 @@
}
@Before
- public void setUp() throws WaoException {
- runner.start();
+ public void setUp() throws WaoExceptionO {
+ manager.start();
}
@After
- public void tearDown() throws WaoException {
- runner.stop();
+ public void tearDown() throws WaoExceptionO {
+ manager.stop();
}
/**
* Test of run method, of class ActivityCalendarImport.
*/
@Test
- public void testRun() throws IOException, InterruptedException, WaoException {
+ public void testRun() throws IOException, InterruptedException, WaoExceptionO {
log.info("run");
- ServiceBoat serviceBoat = new ServiceBoatImpl();
+ ServiceBoat serviceBoat = manager.getServiceBoat();
InputStream input = getClass().getResourceAsStream("/import/navires.csv");
serviceBoat.importBoatCsv(input);
input = getClass().getResourceAsStream("/import/activity.csv.gz");
input = new GZIPInputStream(input);
- ActivityCalendarImport instance = new ActivityCalendarImport(input);
+ ActivityCalendarImport instance =
+ new ActivityCalendarImport(manager.getContext(), input);
Thread t = new Thread(instance);
t.start();
t.join();
- String filename = WaoContext.getProperty(
- WaoContext.PROP_FILENAME_LOG_ACTIVITY_IMPORT);
+ String filename = WaoProperty.FILENAME_LOG_ACTIVITY_IMPORT.getValue();
File file = new File(filename);
Assert.assertTrue(file.exists());
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,12 +21,11 @@
package fr.ifremer.wao.service;
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.WaoModelDAOHelper;
-import fr.ifremer.wao.WaoRunner;
-import fr.ifremer.wao.WaoContext;
+import fr.ifremer.wao.WaoExceptionO;
+import fr.ifremer.wao.WaoDAOHelper;
+import fr.ifremer.wao.WaoProperty;
import fr.ifremer.wao.bean.BoatFilterImpl;
-import fr.ifremer.wao.WaoRunnerTest;
+import fr.ifremer.wao.TestManager;
import fr.ifremer.wao.bean.BoatFilter;
import fr.ifremer.wao.bean.CompanyBoatInfos;
import fr.ifremer.wao.bean.ContactState;
@@ -72,18 +71,18 @@
*/
public class ServiceBoatImplTest {
- private static WaoRunner runner;
+ private static TestManager manager;
private static final Logger log = LoggerFactory.getLogger(ServiceBoatImplTest.class);
- private ServiceBoatImpl service;
+ private ServiceBoat service;
public ServiceBoatImplTest() {
}
@BeforeClass
public static void setUpClass() throws Exception {
- runner = new WaoRunnerTest();
+ manager = new TestManager();
}
@AfterClass
@@ -92,13 +91,13 @@
@Before
public void setUp() throws Exception {
- runner.start();
- service = new ServiceBoatImpl();
+ manager.start();
+ service = manager.getServiceBoat();
}
@After
public void tearDown() throws Exception {
- runner.stop();
+ manager.stop();
}
/**
@@ -112,7 +111,7 @@
InputStream input = getClass().getResourceAsStream("/import/navires.csv");
service.importBoatCsv(input);
- ServiceUser serviceUser = new ServiceUserImpl();
+ ServiceUser serviceUser = manager.getServiceUser();
Company company = new CompanyImpl();
company.setName("TARTANPION");
serviceUser.createUpdateCompany(company);
@@ -205,25 +204,25 @@
}
private List<SampleRow> prepareSampleRows(Company company)
- throws WaoException, TopiaException {
- ServiceReferential serviceReferential = new ServiceReferentialImpl();
+ throws WaoExceptionO, TopiaException {
+ ServiceReferential serviceReferential = manager.getServiceReferential();
InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
serviceReferential.importFishingZoneCsv(input);
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ TopiaContext transaction = manager.getContext().beginTransaction();
// Create a company
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
- WaoContext.prepareTopiaId(Company.class, company);
+ CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
+ manager.getContext().prepareTopiaId(Company.class, company);
companyDAO.update(company);
companyDAO.create(Company.NAME, "BIS");
transaction.commitTransaction();
- ServiceSampling serviceSampling = new ServiceSamplingImpl();
+ ServiceSampling serviceSampling = manager.getServiceSampling();
input = getClass().getResourceAsStream("/import/echantillonnage.csv");
serviceSampling.importSamplingPlanCsv(input);
// Get two SampleRows : 2009_3 & 2010_4
- SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
SampleRow row1 = rowDAO.findByCode("2009_0003");
row1.getProfession();
row1.sizeElligibleBoat();
@@ -260,7 +259,7 @@
Boat boat = boats.get(0);
// Two rows created : 2009_3 & 2010_4 and one Company : "TARTANPION"
- ServiceUser serviceUser = new ServiceUserImpl();
+ ServiceUser serviceUser = manager.getServiceUser();
Company company = new CompanyImpl();
company.setName("TARTANPION");
serviceUser.createUpdateCompany(company);
@@ -272,14 +271,14 @@
serviceUser.createUpdateUser(user, true);
List<SampleRow> rows = prepareSampleRows(company);
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
- SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ TopiaContext transaction = manager.getContext().beginTransaction();
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
SampleRow row = rowDAO.findByCode("2010_0001");
row.getCompany();
row.getProfession();
transaction.closeContext();
- ServiceContact serviceContact = new ServiceContactImpl();
+ ServiceContact serviceContact = manager.getServiceContact();
Contact contact1 = serviceContact.getNewContact(user, row, boat);
contact1.setContactState(ContactState.CONTACT_START);
serviceContact.saveContact(contact1, false);
@@ -360,14 +359,14 @@
log.info("getLastActivityCalendar");
/** PREPARE DATA **/
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ TopiaContext transaction = manager.getContext().beginTransaction();
- BoatDAO boatDAO = WaoModelDAOHelper.getBoatDAO(transaction);
+ BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
Boat boat = boatDAO.create(
Boat.NAME, "TESTBOAT",
Boat.IMMATRICULATION, 174592);
- ActivityCalendarDAO dao = WaoModelDAOHelper.getActivityCalendarDAO(transaction);
+ ActivityCalendarDAO dao = WaoDAOHelper.getActivityCalendarDAO(transaction);
ActivityCalendar calendar1 = dao.create(
ActivityCalendar.BOAT, boat,
@@ -399,9 +398,12 @@
Assert.assertNotNull(result);
Assert.assertEquals(2009, result.getYear());
- String filename = WaoContext.getProperty(
- WaoContext.PROP_FILENAME_LOG_ACTIVITY_ACCESS);
+ String filename = WaoProperty.FILENAME_LOG_ACTIVITY_ACCESS.getValue();
+ if (log.isDebugEnabled()) {
+ log.debug("ActivityCalendar filename for access : " + filename);
+ }
+
File file = new File(filename);
Assert.assertTrue(file.exists());
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialImplTest.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialImplTest.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,9 +21,9 @@
package fr.ifremer.wao.service;
-import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoExceptionO;
import fr.ifremer.wao.WaoRunner;
-import fr.ifremer.wao.WaoRunnerTest;
+import fr.ifremer.wao.TestManager;
import fr.ifremer.wao.bean.SamplingFilter;
import fr.ifremer.wao.bean.SamplingFilterImpl;
import fr.ifremer.wao.entity.FishingZone;
@@ -44,18 +44,18 @@
*/
public class ServiceReferentialImplTest {
- private static WaoRunner runner;
+ private static TestManager manager;
private static final Logger log = LoggerFactory.getLogger(ServiceReferentialImplTest.class);
- private ServiceReferentialImpl service;
+ private ServiceReferential service;
public ServiceReferentialImplTest() {
}
@BeforeClass
public static void setUpClass() throws Exception {
- runner = new WaoRunnerTest();
+ manager = new TestManager();
}
@AfterClass
@@ -64,13 +64,13 @@
@Before
public void setUp() throws Exception {
- runner.start();
- service = new ServiceReferentialImpl();
+ manager.start();
+ service = manager.getServiceReferential();
}
@After
public void tearDown() throws Exception {
- runner.stop();
+ manager.stop();
}
/**
@@ -128,7 +128,7 @@
* @throws WaoException if error during import or getFishingZones
*/
@Test
- public void testGetFishingZones() throws WaoException {
+ public void testGetFishingZones() throws WaoExceptionO {
log.info("getFishingZones");
InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
@@ -144,7 +144,7 @@
* @throws WaoException if import error
*/
@Test
- public void testImportFishingZoneCsv() throws WaoException {
+ public void testImportFishingZoneCsv() throws WaoExceptionO {
log.info("importFishingZoneCsv");
InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingImplTest.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingImplTest.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,14 +21,13 @@
package fr.ifremer.wao.service;
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.WaoModelDAOHelper;
-import fr.ifremer.wao.WaoRunner;
-import fr.ifremer.wao.WaoContext;
+import fr.ifremer.wao.WaoExceptionO;
+import fr.ifremer.wao.WaoDAOHelper;
+import fr.ifremer.wao.WaoContextO;
import fr.ifremer.wao.bean.ImportResults;
import fr.ifremer.wao.bean.SamplingFilter;
import fr.ifremer.wao.bean.SamplingFilterImpl;
-import fr.ifremer.wao.WaoRunnerTest;
+import fr.ifremer.wao.TestManager;
import fr.ifremer.wao.bean.FacadeRow;
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.Company;
@@ -79,18 +78,18 @@
*/
public class ServiceSamplingImplTest {
- private static WaoRunner runner;
+ private static TestManager manager;
private static final Logger log = LoggerFactory.getLogger(ServiceSamplingImplTest.class);
- private ServiceSamplingImpl service;
+ private ServiceSampling service;
public ServiceSamplingImplTest() {
}
@BeforeClass
public static void setUpClass() throws Exception {
- runner = new WaoRunnerTest();
+ manager = new TestManager();
}
@AfterClass
@@ -99,13 +98,13 @@
@Before
public void setUp() throws Exception {
- runner.start();
- service = new ServiceSamplingImpl();
+ manager.start();
+ service = manager.getServiceSampling();
}
@After
public void tearDown() throws Exception {
- runner.stop();
+ manager.stop();
}
@Test
@@ -113,12 +112,12 @@
log.info("createUpdateSampleRow");
/** PREPARE DATA **/
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ TopiaContext transaction = manager.getContext().beginTransaction();
List<FishingZone> zones = prepareFishingZones(transaction);
InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = new ServiceBoatImpl();
+ ServiceBoatImpl serviceBoat = (ServiceBoatImpl) manager.getServiceBoat();
serviceBoat.importBoatCsv(input);
transaction.closeContext();
@@ -175,6 +174,14 @@
result = service.getSampleRow(row.getTopiaId());
assertEquals(2, result.getElligibleBoat().size());
+ // TEST FOR REMOVE FISHING ZONE
+ //FishingZone zone = result.getFishingZone().get(0);
+ result.getFishingZone().remove(0);
+ service.createUpdateSampleRow(result, boats, new SampleRowLogImpl());
+
+ result = service.getSampleRow(row.getTopiaId());
+ assertEquals(2, result.getFishingZone().size());
+
}
/**
@@ -187,7 +194,7 @@
/** PREPARE DATA **/
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ TopiaContext transaction = manager.getContext().beginTransaction();
List<FishingZone> zones = prepareFishingZones(transaction);
@@ -201,7 +208,7 @@
Date dateEnd2 = DateUtils.createDate(1, 12, 2008);
PeriodDates period2 = new PeriodDates(dateBegin2, dateEnd2);
- SampleRowDAO dao = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO dao = WaoDAOHelper.getSampleRowDAO(transaction);
SampleRow row1 = dao.create();
row1.setCode("2010_0001");
@@ -291,9 +298,9 @@
}
- private List<FishingZone> prepareFishingZones(TopiaContext transaction) throws WaoException, TopiaException {
+ private List<FishingZone> prepareFishingZones(TopiaContext transaction) throws WaoExceptionO, TopiaException {
- FishingZoneDAO fishingZoneDAO = WaoModelDAOHelper.getFishingZoneDAO(transaction);
+ FishingZoneDAO fishingZoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
FishingZone fishingZone1 = fishingZoneDAO.create();
fishingZone1.setFacadeName("Atlantique");
@@ -318,18 +325,18 @@
public void testGetSampleRowsForUser() throws Exception {
log.info("getSampleRowsForUser");
/** PREPARE DATA **/
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ TopiaContext transaction = manager.getContext().beginTransaction();
- FishingZoneDAO zoneDAO = WaoModelDAOHelper.getFishingZoneDAO(transaction);
+ FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
FishingZone zoneIId = zoneDAO.create(FishingZone.DISTRICT_CODE, "IId");
FishingZone zoneIV = zoneDAO.create(FishingZone.DISTRICT_CODE, "IV");
FishingZone zoneI = zoneDAO.create(FishingZone.DISTRICT_CODE, "I");
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
Company company = companyDAO.create(Company.NAME, "TARTANPION");
Calendar begin = new GregorianCalendar(2009,8,1);
Calendar end = new GregorianCalendar(2010,11,31);
- SampleRowDAO sampleRowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO sampleRowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
SampleRow row = sampleRowDAO.create(
SampleRow.CODE,"2010_178",
SampleRow.COMPANY,company,
@@ -383,9 +390,9 @@
/** PREPARE DATA **/
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ TopiaContext transaction = manager.getContext().beginTransaction();
- ProfessionDAO dao = WaoModelDAOHelper.getProfessionDAO(transaction);
+ ProfessionDAO dao = WaoDAOHelper.getProfessionDAO(transaction);
Profession profession = dao.create(
Profession.CODE_DCF5, "OBR",
@@ -413,14 +420,14 @@
log.info("deleteSampleRow");
/** PREPARE DATA **/
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ TopiaContext transaction = manager.getContext().beginTransaction();
- FishingZoneDAO zoneDAO = WaoModelDAOHelper.getFishingZoneDAO(transaction);
+ FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
FishingZone zoneIId = zoneDAO.create(FishingZone.DISTRICT_CODE, "IId");
FishingZone zoneIV = zoneDAO.create(FishingZone.DISTRICT_CODE, "IV");
FishingZone zoneI = zoneDAO.create(FishingZone.DISTRICT_CODE, "I");
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
companyDAO.create(Company.NAME, "TARTANPION");
companyDAO.create(Company.NAME, "BIS");
transaction.commitTransaction();
@@ -429,7 +436,7 @@
InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
service.importSamplingPlanCsv(input);
- SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
SampleRow row = rowDAO.findByCode("2010_0001");
row.getProfession();
row.getCompany();
@@ -438,7 +445,7 @@
transaction.closeContext();
input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = new ServiceBoatImpl();
+ ServiceBoat serviceBoat = manager.getServiceBoat();
serviceBoat.importBoatCsv(input);
List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174592 978419 273129");
@@ -446,30 +453,30 @@
/** EXEC METHOD **/
service.deleteSampleRow(row);
- transaction = WaoContext.getTopiaRootContext().beginTransaction();
- rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ transaction = manager.getContext().beginTransaction();
+ rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
row = rowDAO.findByCode("2010_0001");
assertNull(row);
- ElligibleBoatDAO elligibleDAO = WaoModelDAOHelper.getElligibleBoatDAO(transaction);
+ ElligibleBoatDAO elligibleDAO = WaoDAOHelper.getElligibleBoatDAO(transaction);
List<ElligibleBoat> elligibles = elligibleDAO.findAll();
assertEquals(0, elligibles.size());
transaction.closeContext();
}
@Test
- public void testImportSamplingPlanCsv() throws WaoException, TopiaException {
+ public void testImportSamplingPlanCsv() throws WaoExceptionO, TopiaException {
log.info("importSamplingPlanCsv");
/** PREPARE DATA **/
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ TopiaContext transaction = manager.getContext().beginTransaction();
- FishingZoneDAO zoneDAO = WaoModelDAOHelper.getFishingZoneDAO(transaction);
+ FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
FishingZone zoneIId = zoneDAO.create(FishingZone.DISTRICT_CODE, "IId");
FishingZone zoneIV = zoneDAO.create(FishingZone.DISTRICT_CODE, "IV");
FishingZone zoneI = zoneDAO.create(FishingZone.DISTRICT_CODE, "I");
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
companyDAO.create(Company.NAME, "TARTANPION");
companyDAO.create(Company.NAME, "BIS");
transaction.commitTransaction();
@@ -485,9 +492,9 @@
assertEquals(1, result.getNbRowsRefused());
/** CHECK VALUES **/
- transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ transaction = manager.getContext().beginTransaction();
- SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
// Error #2221 : don't keep the same profession for two different rows
SampleRow row2 = rowDAO.findByCode("2010_0010");
@@ -495,7 +502,7 @@
assertNotSame(row2.getProfession(), row3.getProfession());
ProfessionDAO professionDAO =
- WaoModelDAOHelper.getProfessionDAO(transaction);
+ WaoDAOHelper.getProfessionDAO(transaction);
List<Profession> professions = professionDAO.findAll();
assertEquals(12, professions.size());
@@ -526,14 +533,14 @@
@Test
public void testGetPrograms() throws Exception {
/** PREPARE DATA **/
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ TopiaContext transaction = manager.getContext().beginTransaction();
- FishingZoneDAO zoneDAO = WaoModelDAOHelper.getFishingZoneDAO(transaction);
+ FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
zoneDAO.create(FishingZone.DISTRICT_CODE, "IId");
zoneDAO.create(FishingZone.DISTRICT_CODE, "IV");
zoneDAO.create(FishingZone.DISTRICT_CODE, "I");
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
companyDAO.create(Company.NAME, "TARTANPION");
companyDAO.create(Company.NAME, "BIS");
transaction.commitTransaction();
@@ -553,19 +560,19 @@
log.info("getNewSampleRowCode");
/** PREPARE DATA **/
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ TopiaContext transaction = manager.getContext().beginTransaction();
- FishingZoneDAO zoneDAO = WaoModelDAOHelper.getFishingZoneDAO(transaction);
+ FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
FishingZone zoneIId = zoneDAO.create(FishingZone.DISTRICT_CODE, "IId");
FishingZone zoneIV = zoneDAO.create(FishingZone.DISTRICT_CODE, "IV");
FishingZone zoneI = zoneDAO.create(FishingZone.DISTRICT_CODE, "I");
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
companyDAO.create(Company.NAME, "TARTANPION");
companyDAO.create(Company.NAME, "BIS");
transaction.commitTransaction();
- ServiceSampling serviceSampling = new ServiceSamplingImpl();
+ ServiceSampling serviceSampling = manager.getServiceSampling();
InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
serviceSampling.importSamplingPlanCsv(input);
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,10 +21,8 @@
package fr.ifremer.wao.service;
-import fr.ifremer.wao.WaoContext;
-import fr.ifremer.wao.WaoModelDAOHelper;
-import fr.ifremer.wao.WaoRunner;
-import fr.ifremer.wao.WaoRunnerTest;
+import fr.ifremer.wao.WaoDAOHelper;
+import fr.ifremer.wao.TestManager;
import fr.ifremer.wao.bean.BoardingResult;
import fr.ifremer.wao.bean.ContactAverageReactivity;
import fr.ifremer.wao.bean.ContactState;
@@ -48,7 +46,6 @@
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
-import org.junit.Ignore;
import org.junit.Test;
import org.nuiton.topia.TopiaContext;
import org.nuiton.util.DateUtils;
@@ -63,18 +60,18 @@
*/
public class ServiceSynthesisImplTest {
- private static WaoRunner runner;
+ private static TestManager manager;
private static final Logger log = LoggerFactory.getLogger(ServiceSynthesisImplTest.class);
- private ServiceSynthesisImpl service;
+ private ServiceSynthesis service;
public ServiceSynthesisImplTest() {
}
@BeforeClass
public static void setUpClass() throws Exception {
- runner = new WaoRunnerTest();
+ manager = new TestManager();
}
@AfterClass
@@ -83,13 +80,13 @@
@Before
public void setUp() throws Exception {
- runner.start();
- service = new ServiceSynthesisImpl();
+ manager.start();
+ service = manager.getServiceSynthesis();
}
@After
public void tearDown() throws Exception {
- runner.stop();
+ manager.stop();
}
/**
@@ -108,7 +105,7 @@
log.info("getBoardingBoats");
/** PREPARE DATA **/
InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = new ServiceBoatImpl();
+ ServiceBoat serviceBoat = manager.getServiceBoat();
serviceBoat.importBoatCsv(input);
List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
Boat boat = boats.get(0);
@@ -116,13 +113,13 @@
List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
Boat boat2 = boats2.get(0);
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ TopiaContext transaction = manager.getContext().beginTransaction();
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
Company company = companyDAO.create(Company.NAME, "TARTANPION");
Company company2 = companyDAO.create(Company.NAME, "BIS");
- WaoUserDAO userDAO = WaoModelDAOHelper.getWaoUserDAO(transaction);
+ WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
WaoUser user = userDAO.create(WaoUser.FIRST_NAME,"Jean", WaoUser.LAST_NAME, "Michmuche",
WaoUser.COMPANY, company);
company.addWaoUser(user);
@@ -133,20 +130,20 @@
transaction.commitTransaction();
input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- ServiceReferential serviceReferential = new ServiceReferentialImpl();
+ ServiceReferential serviceReferential = manager.getServiceReferential();
serviceReferential.importFishingZoneCsv(input);
input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ServiceSampling serviceSampling = new ServiceSamplingImpl();
+ ServiceSampling serviceSampling = manager.getServiceSampling();
serviceSampling.importSamplingPlanCsv(input);
- SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
SampleRow row = rowDAO.findByCode("2010_0001");
transaction.closeContext();
- ServiceContact serviceContact = new ServiceContactImpl();
+ ServiceContact serviceContact = manager.getServiceContact();
// First contact : OK
Contact contact1 = new ContactImpl();
contact1.setBoat(boat);
@@ -196,7 +193,7 @@
log.info("getNonComplianceBoardingIndicator");
/** PREPARE DATA **/
InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = new ServiceBoatImpl();
+ ServiceBoat serviceBoat = manager.getServiceBoat();
serviceBoat.importBoatCsv(input);
List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
Boat boat = boats.get(0);
@@ -204,13 +201,13 @@
List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
Boat boat2 = boats2.get(0);
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ TopiaContext transaction = manager.getContext().beginTransaction();
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
Company company = companyDAO.create(Company.NAME, "TARTANPION");
Company company2 = companyDAO.create(Company.NAME, "BIS");
- WaoUserDAO userDAO = WaoModelDAOHelper.getWaoUserDAO(transaction);
+ WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
WaoUser user = userDAO.create(WaoUser.FIRST_NAME,"Jean", WaoUser.LAST_NAME, "Michmuche",
WaoUser.COMPANY, company);
company.addWaoUser(user);
@@ -221,21 +218,21 @@
transaction.commitTransaction();
input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- ServiceReferential serviceReferential = new ServiceReferentialImpl();
+ ServiceReferential serviceReferential = manager.getServiceReferential();
serviceReferential.importFishingZoneCsv(input);
input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ServiceSampling serviceSampling = new ServiceSamplingImpl();
+ ServiceSampling serviceSampling = manager.getServiceSampling();
serviceSampling.importSamplingPlanCsv(input);
- SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
SampleRow row = rowDAO.findByCode("2010_0001");
SampleRow row2 = rowDAO.findByCode("2009_0006");
transaction.closeContext();
- ServiceContact serviceContact = new ServiceContactImpl();
+ ServiceContact serviceContact = manager.getServiceContact();
// First contact : OK
Contact contact1 = new ContactImpl();
contact1.setBoat(boat);
@@ -303,7 +300,7 @@
log.info("getContactStateStatistics");
/** PREPARE DATA **/
InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = new ServiceBoatImpl();
+ ServiceBoat serviceBoat = manager.getServiceBoat();
serviceBoat.importBoatCsv(input);
List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
Boat boat = boats.get(0);
@@ -311,13 +308,13 @@
List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
Boat boat2 = boats2.get(0);
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ TopiaContext transaction = manager.getContext().beginTransaction();
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
Company company = companyDAO.create(Company.NAME, "TARTANPION");
Company company2 = companyDAO.create(Company.NAME, "BIS");
- WaoUserDAO userDAO = WaoModelDAOHelper.getWaoUserDAO(transaction);
+ WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
WaoUser user = userDAO.create(WaoUser.FIRST_NAME,"Jean", WaoUser.LAST_NAME, "Michmuche",
WaoUser.COMPANY, company);
company.addWaoUser(user);
@@ -328,20 +325,20 @@
transaction.commitTransaction();
input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- ServiceReferential serviceReferential = new ServiceReferentialImpl();
+ ServiceReferential serviceReferential = manager.getServiceReferential();
serviceReferential.importFishingZoneCsv(input);
input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ServiceSampling serviceSampling = new ServiceSamplingImpl();
+ ServiceSampling serviceSampling = manager.getServiceSampling();
serviceSampling.importSamplingPlanCsv(input);
- SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
SampleRow row = rowDAO.findByCode("2010_0001");
transaction.closeContext();
- ServiceContact serviceContact = new ServiceContactImpl();
+ ServiceContact serviceContact = manager.getServiceContact();
// Contacts for company TARTANPION
Contact contact1 = new ContactImpl();
@@ -446,7 +443,7 @@
log.info("getContactDataInputDateReactivity");
/** PREPARE DATA **/
InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = new ServiceBoatImpl();
+ ServiceBoat serviceBoat = manager.getServiceBoat();
serviceBoat.importBoatCsv(input);
List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
Boat boat = boats.get(0);
@@ -454,13 +451,13 @@
List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
Boat boat2 = boats2.get(0);
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ TopiaContext transaction = manager.getContext().beginTransaction();
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
Company company = companyDAO.create(Company.NAME, "TARTANPION");
Company company2 = companyDAO.create(Company.NAME, "BIS");
- WaoUserDAO userDAO = WaoModelDAOHelper.getWaoUserDAO(transaction);
+ WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
WaoUser user = userDAO.create(WaoUser.FIRST_NAME,"Jean", WaoUser.LAST_NAME, "Michmuche",
WaoUser.COMPANY, company);
company.addWaoUser(user);
@@ -471,21 +468,21 @@
transaction.commitTransaction();
input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- ServiceReferential serviceReferential = new ServiceReferentialImpl();
+ ServiceReferential serviceReferential = manager.getServiceReferential();
serviceReferential.importFishingZoneCsv(input);
input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ServiceSampling serviceSampling = new ServiceSamplingImpl();
+ ServiceSampling serviceSampling = manager.getServiceSampling();
serviceSampling.importSamplingPlanCsv(input);
- SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
SampleRow row = rowDAO.findByCode("2010_0001");
SampleRow row2 = rowDAO.findByCode("2009_0006");
transaction.closeContext();
- ServiceContact serviceContact = new ServiceContactImpl();
+ ServiceContact serviceContact = manager.getServiceContact();
// First contact : OK
Contact contact1 = new ContactImpl();
contact1.setObserver(user);
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -1,8 +1,7 @@
package fr.ifremer.wao.service;
-import fr.ifremer.wao.WaoRunner;
-import fr.ifremer.wao.WaoRunnerTest;
+import fr.ifremer.wao.TestManager;
import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.CompanyImpl;
@@ -24,19 +23,19 @@
*/
public class ServiceUserImplTest {
- private static WaoRunner runner;
+ private static TestManager manager;
private static final Logger logger =
LoggerFactory.getLogger(ServiceUserImplTest.class);
- private ServiceUserImpl service;
+ private ServiceUser service;
public ServiceUserImplTest() {
}
@BeforeClass
public static void setUpClass() throws Exception {
- runner = new WaoRunnerTest();
+ manager = new TestManager();
}
@AfterClass
@@ -45,13 +44,13 @@
@Before
public void setUp() throws Exception {
- runner.start();
- service = new ServiceUserImpl();
+ manager.start();
+ service = manager.getServiceUser();
}
@After
public void tearDown() throws Exception {
- runner.stop();
+ manager.stop();
}
/**
Modified: trunk/wao-business/src/test/resources/log4j.properties
===================================================================
--- trunk/wao-business/src/test/resources/log4j.properties 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-business/src/test/resources/log4j.properties 2010-04-01 13:28:03 UTC (rev 402)
@@ -8,6 +8,6 @@
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d [%p] %c{2} %m%n
-log4j.logger.fr.ifremer.wao=INFO
+log4j.logger.fr.ifremer.wao=DEBUG
log4j.logger.org.nuiton.util=INFO
log4j.logger.org.nuiton.util.beans.BinderProvider=ERROR
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,7 +21,7 @@
package fr.ifremer.wao.ui.base;
-import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoExceptionO;
import fr.ifremer.wao.bean.BoatFilter;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.SampleRow;
@@ -143,7 +143,7 @@
* @param observerSelect if true, observer select will be initialized
* @throws WaoException
*/
- protected void initSelectFilters(boolean companySelect, boolean observerSelect, boolean programSelect) throws WaoException {
+ protected void initSelectFilters(boolean companySelect, boolean observerSelect, boolean programSelect) throws WaoExceptionO {
this.observerSelect = observerSelect;
this.programSelect = programSelect;
@@ -185,22 +185,22 @@
resetSampleRowSelect();
}
- protected void resetCompanySelect() throws WaoException {
+ protected void resetCompanySelect() throws WaoExceptionO {
companySelectModel = null;
getCompanySelectModel();
}
- protected void resetFacadeSelect() throws WaoException {
+ protected void resetFacadeSelect() throws WaoExceptionO {
facadeSelectModel = null;
getFacadeSelectModel();
}
- protected void resetSectorSelect() throws WaoException {
+ protected void resetSectorSelect() throws WaoExceptionO {
sectorSelectModel = null;
getSectorSelectModel();
}
- protected void resetSampleRowSelect() throws WaoException {
+ protected void resetSampleRowSelect() throws WaoExceptionO {
sampleRowSelectModel = null;
getSampleRowSelectModel();
}
@@ -212,11 +212,8 @@
* @return the SelectModel for facade names
* @throws WaoException
*/
- public SelectModel getFacadeSelectModel() throws WaoException {
+ public SelectModel getFacadeSelectModel() throws WaoExceptionO {
if (facadeSelectModel == null) {
- if (log.isInfoEnabled()) {
- log.info("BUSINESS REQUEST [getFacades]");
- }
List<OptionModel> options = new ArrayList<OptionModel>();
for (String facadeName : serviceReferential.getFacades(getFilter())) {
options.add(new OptionModelImpl(facadeName,facadeName));
@@ -233,11 +230,8 @@
* @return the SelectModel for sector names
* @throws WaoException
*/
- public SelectModel getSectorSelectModel() throws WaoException {
+ public SelectModel getSectorSelectModel() throws WaoExceptionO {
if (sectorSelectModel == null) {
- if (log.isInfoEnabled()) {
- log.info("BUSINESS REQUEST [getSectors]");
- }
List<OptionModel> options = new ArrayList<OptionModel>();
for (String sectorName : serviceReferential.getSectors(getFilter())) {
options.add(new OptionModelImpl(sectorName,sectorName));
@@ -255,12 +249,8 @@
* @return the GenericSelectModel<SampleRow> for sampleRows
* @throws WaoException
*/
- public GenericSelectModel<SampleRow> getSampleRowSelectModel() throws WaoException {
+ public GenericSelectModel<SampleRow> getSampleRowSelectModel() throws WaoExceptionO {
if (sampleRowSelectModel == null) {
- if (log.isInfoEnabled()) {
- log.info("BUSINESS REQUEST [getSampleRowsByFilter]");
- }
-
// WARN : no use of sampleRow filter
SampleRow rowFiltered = getFilter().getSampleRow();
getFilter().setSampleRow(null);
@@ -281,11 +271,8 @@
* @return the GenericSelectModel<Company> for companies
* @throws WaoException
*/
- public GenericSelectModel<Company> getCompanySelectModel() throws WaoException {
+ public GenericSelectModel<Company> getCompanySelectModel() throws WaoExceptionO {
if (companySelectModel == null) {
- if (log.isDebugEnabled()) {
- log.debug("BUSINESS REQUEST [getCompanies]");
- }
List<Company> companies = serviceUser.getCompanies(isAvailableDataForFiltersOnly());
companySelectModel = new GenericSelectModel<Company>(companies,Company.class,
"name","topiaId",propertyAccess);
@@ -301,15 +288,12 @@
* @return the GenericSelectModel<WaoUser> for observers
* @throws WaoException
*/
- public GenericSelectModel<WaoUser> getObserverSelectModel() throws WaoException {
+ public GenericSelectModel<WaoUser> getObserverSelectModel() throws WaoExceptionO {
if (observerSelectModel == null) {
List<WaoUser> observers = new ArrayList<WaoUser>();
if (getFilter().getCompany() != null) {
observers = getFilter().getCompany().getWaoUser();
} else if (user.isAdmin()) {
- if (log.isInfoEnabled()) {
- log.info("BUSINESS REQUEST [getObservers]");
- }
observers = serviceUser.getObservers(isAvailableDataForFiltersOnly());
}
observerSelectModel = new GenericSelectModel<WaoUser>(observers,WaoUser.class,
@@ -325,11 +309,8 @@
* @return the SelectModel for program names
* @throws WaoException
*/
- public SelectModel getProgramSelectModel() throws WaoException {
+ public SelectModel getProgramSelectModel() throws WaoExceptionO {
if (programSelectModel == null) {
- if (log.isInfoEnabled()) {
- log.info("BUSINESS REQUEST [getPrograms]");
- }
List<OptionModel> options = new ArrayList<OptionModel>();
for (String programName : serviceSampling.getPrograms(getFilter().getCompany())) {
options.add(new OptionModelImpl(programName, programName));
@@ -339,7 +320,7 @@
return programSelectModel;
}
- protected abstract BoatFilter getFilter() throws WaoException;
+ protected abstract BoatFilter getFilter() throws WaoExceptionO;
/**
* Used to show only active company and observers.
@@ -348,10 +329,7 @@
*/
protected abstract boolean isAvailableDataForFiltersOnly();
- public String[] onProvideCompletionsFromBoatName(String input) throws WaoException {
- if (log.isInfoEnabled()) {
- log.info("BUSINESS REQUEST [getBoatNamesStartWith]");
- }
+ public String[] onProvideCompletionsFromBoatName(String input) throws WaoExceptionO {
List<String> results = serviceBoat.getBoatNamesStartWith(input);
return results.toArray(new String[0]);
}
@@ -362,7 +340,7 @@
*
* @throws WaoException
*/
- public void onSelectedFromSearch() throws WaoException {
+ public void onSelectedFromSearch() throws WaoExceptionO {
if (log.isDebugEnabled()) {
log.debug("REFRESH FILTERS DATA");
}
@@ -392,7 +370,7 @@
* @throws WaoException
* @see AbstractFilteredPage#onSelectedFromRefreshByProgram()
*/
- public void onSelectedFromRefreshByCompany() throws WaoException {
+ public void onSelectedFromRefreshByCompany() throws WaoExceptionO {
// Reset programs (the behavior is needed even if programSelect is false)
getFilter().setProgramName(null);
onSelectedFromRefreshByProgram();
@@ -418,7 +396,7 @@
* @throws WaoException
* @see AbstractFilteredPage#onSelectedFromRefreshByFacade()
*/
- public void onSelectedFromRefreshByProgram() throws WaoException {
+ public void onSelectedFromRefreshByProgram() throws WaoExceptionO {
// Reset facades
getFilter().setFacadeName(null);
onSelectedFromRefreshByFacade();
@@ -434,7 +412,7 @@
* @throws WaoException
* @see AbstractFilteredPage#onSelectedFromRefreshBySector()
*/
- public void onSelectedFromRefreshByFacade() throws WaoException {
+ public void onSelectedFromRefreshByFacade() throws WaoExceptionO {
// Reset sectors
getFilter().setSectorName(null);
onSelectedFromRefreshBySector();
@@ -450,7 +428,7 @@
* @throws WaoException
* @see AbstractFilteredPage#onSelectedFromSearch()
*/
- public void onSelectedFromRefreshBySector() throws WaoException {
+ public void onSelectedFromRefreshBySector() throws WaoExceptionO {
// Update selected data
onSelectedFromSearch();
// Reset sampleRows;
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/FeedBack.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/FeedBack.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/FeedBack.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -125,9 +125,11 @@
*
* @param message le message
*/
- public void addError(String message) {
- if (!errorMessages.contains(message)) {
- errorMessages.add(message);
+ public void addError(String... message) {
+ for (String str : message) {
+ if (!errorMessages.contains(str)) {
+ errorMessages.add(str);
+ }
}
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/Layout.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/Layout.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/Layout.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -23,19 +23,17 @@
import fr.ifremer.wao.WaoBusinessException;
import fr.ifremer.wao.WaoBusinessException.Type;
-import fr.ifremer.wao.WaoContext;
-import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoExceptionO;
+import fr.ifremer.wao.WaoProperty;
import fr.ifremer.wao.entity.WaoUser;
import fr.ifremer.wao.service.ServiceUser;
import fr.ifremer.wao.ui.base.WaoPage;
-import fr.ifremer.wao.ui.pages.Administration;
import fr.ifremer.wao.ui.pages.Index;
import org.apache.commons.lang.StringUtils;
import org.apache.tapestry5.BindingConstants;
import org.apache.tapestry5.PersistenceConstants;
import org.apache.tapestry5.annotations.InjectComponent;
import org.apache.tapestry5.annotations.InjectContainer;
-import org.apache.tapestry5.annotations.InjectPage;
import org.apache.tapestry5.annotations.Log;
import org.apache.tapestry5.annotations.Parameter;
import org.apache.tapestry5.annotations.Persist;
@@ -140,7 +138,7 @@
}
public String getVersion() {
- return WaoContext.getProperty(WaoContext.PROP_VERSION);
+ return WaoProperty.APP_VERSION.getValue();
}
/**
@@ -237,7 +235,7 @@
*
* @param message of the error
*/
- public void addError(String message) {
+ public void addError(String... message) {
contentFeedback.addError(message);
}
@@ -252,7 +250,7 @@
}
@Log
- Object onSuccessFromConnexionForm() throws WaoException {
+ Object onSuccessFromConnexionForm() throws WaoExceptionO {
try {
// FIXME-FD20100120 Problem with NPE in Topia --> see Ano #243 on nuiton.org
if (login != null && password != null) {
@@ -272,7 +270,7 @@
public boolean hasConnexionErrors() {
return connexionFeedback.hasErrors();
}
- void onSuccessFromForgetPassword() throws WaoException {
+ void onSuccessFromForgetPassword() throws WaoExceptionO {
try {
serviceUser.forgetPassword(email);
connexionFeedback.addInfo("Un email avec votre nouveau mot de passe vous a été envoyé.");
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/AbstractMappedGridDataSource.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/AbstractMappedGridDataSource.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/AbstractMappedGridDataSource.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,7 +21,7 @@
package fr.ifremer.wao.ui.data;
-import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoExceptionO;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -68,7 +68,7 @@
if (log.isTraceEnabled()) {
log.trace("Count : " + nbRows);
}
- } catch (WaoException eee) {
+ } catch (WaoExceptionO eee) {
throw new TapestryException("", eee);
}
}
@@ -87,14 +87,14 @@
// FIXME manage sort columns in execute ???? seems obvious --> needed for Contacts, done for Boats
//sortResults(sortConstraints);
- } catch (WaoException eee) {
+ } catch (WaoExceptionO eee) {
throw new TapestryException("", eee);
}
}
- protected abstract Map<K, E> execute(int startIndex, int endIndex, SortConstraint orderBy) throws WaoException;
+ protected abstract Map<K, E> execute(int startIndex, int endIndex, SortConstraint orderBy) throws WaoExceptionO;
- protected abstract int count() throws WaoException;
+ protected abstract int count() throws WaoExceptionO;
protected SortConstraint getSortConstraint(List<SortConstraint> sortConstraints) {
for (SortConstraint constraint : sortConstraints)
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/BoatDataSource.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/BoatDataSource.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/BoatDataSource.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,7 +21,7 @@
package fr.ifremer.wao.ui.data;
-import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoExceptionO;
import fr.ifremer.wao.bean.BoatFilter;
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.service.ServiceBoat;
@@ -58,7 +58,7 @@
@Override
- protected Map<Integer, Boat> execute(int startIndex, int endIndex, SortConstraint orderBy) throws WaoException {
+ protected Map<Integer, Boat> execute(int startIndex, int endIndex, SortConstraint orderBy) throws WaoExceptionO {
if (log.isInfoEnabled()) {
log.info("BUSINESS REQUEST [getBoatsByFilter]");
}
@@ -84,7 +84,7 @@
}
@Override
- protected int count() throws WaoException {
+ protected int count() throws WaoExceptionO {
if (log.isInfoEnabled()) {
log.info("BUSINESS REQUEST [getNbBoatsByFilter]");
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/BusinessUtils.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/BusinessUtils.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/BusinessUtils.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,6 +21,8 @@
package fr.ifremer.wao.ui.data;
+import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.WaoException;
import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.SamplingFilter;
import fr.ifremer.wao.entity.Boat;
@@ -32,6 +34,8 @@
import java.text.SimpleDateFormat;
import org.apache.commons.lang.BooleanUtils;
import org.apache.commons.lang.StringUtils;
+import org.apache.tapestry5.ioc.Messages;
+import org.slf4j.Logger;
/**
* DataUtils
@@ -145,4 +149,43 @@
}
return result;
}
+
+ public static String[] getErrorMessages(WaoException eee, Messages messages,
+ Logger logger) {
+
+ String[] results = null;
+ String cause = null;
+ if (eee.getCause() != null) {
+ cause = eee.getCause().getClass().getSimpleName() +
+ " : " + eee.getCause().getMessage();
+ results = new String[2];
+ results[1] = cause;
+ } else {
+ results = new String[1];
+ }
+
+
+ if (logger.isDebugEnabled()) {
+ logger.debug("ERROR from business : " + eee.getMessage() +
+ " _ args = " + eee.getArgs());
+ if (cause != null) {
+ logger.debug("ERROR caused by : " + cause);
+ }
+ }
+
+ if (eee.getArgs() != null) {
+ results[0] = messages.format(eee.getMessage(), eee.getArgs());
+ } else {
+ results[0] = messages.get(eee.getMessage());
+ }
+ return results;
+ }
+
+ public static String getErrorMessage(WaoBusinessException eee, Messages messages,
+ Logger logger) {
+ if (logger.isDebugEnabled()) {
+ logger.debug("ERROR from business : " + eee.getMessage());
+ }
+ return eee.getMessage();
+ }
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/ContactDataSource.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/ContactDataSource.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/ContactDataSource.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,7 +21,7 @@
package fr.ifremer.wao.ui.data;
-import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoExceptionO;
import fr.ifremer.wao.bean.ContactFilter;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.service.ServiceContact;
@@ -60,7 +60,7 @@
}
@Override
- protected Map<String, Contact> execute(int startIndex, int endIndex, SortConstraint orderBy) throws WaoException {
+ protected Map<String, Contact> execute(int startIndex, int endIndex, SortConstraint orderBy) throws WaoExceptionO {
if (log.isInfoEnabled()) {
log.info("BUSINESS REQUEST [getContactsByFilter]");
}
@@ -70,7 +70,7 @@
}
@Override
- protected int count() throws WaoException {
+ protected int count() throws WaoExceptionO {
if (log.isInfoEnabled()) {
log.info("BUSINESS REQUEST [getNbContacts]");
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/ExportStreamResponse.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/ExportStreamResponse.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/ExportStreamResponse.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,7 +21,7 @@
package fr.ifremer.wao.ui.data;
-import fr.ifremer.wao.WaoContext;
+import fr.ifremer.wao.WaoContextO;
import java.util.Date;
import org.apache.tapestry5.StreamResponse;
import org.apache.tapestry5.services.Response;
@@ -68,7 +68,7 @@
*/
@Override
public void prepareResponse(Response response) {
- Date current = WaoContext.getCurrentDate();
+ Date current = WaoContextO.getCurrentDate();
filename += "-" + DateUtils.formatDate(current, "dd-MM-yyyy") + ".csv";
response.setHeader("Content-Disposition",
"attachment; filename=\"" + filename +"\"");
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -23,6 +23,7 @@
import fr.ifremer.wao.WaoBusinessException;
import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoExceptionO;
import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.CompanyImpl;
@@ -33,6 +34,7 @@
import fr.ifremer.wao.ui.base.GenericSelectModel;
import fr.ifremer.wao.ui.base.WaoPage;
import fr.ifremer.wao.ui.components.Layout;
+import fr.ifremer.wao.ui.data.BusinessUtils;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.apache.tapestry5.EventContext;
@@ -42,6 +44,7 @@
import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.annotations.SessionState;
+import org.apache.tapestry5.ioc.Messages;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.services.PropertyAccess;
import org.apache.tapestry5.ioc.services.TypeCoercer;
@@ -124,7 +127,7 @@
private boolean addNewUserSelected;
private boolean deleteUserSelected;
- void setupRender() throws WaoException {
+ void setupRender() throws WaoExceptionO {
companies = null;
getCompanies();
user = null;
@@ -151,19 +154,25 @@
@Property
private UploadedFile fishingZoneCsvFile;
+ @Inject
+ private Messages messages;
+
@Log
void onSuccessFromImportFishingZones() {
try {
- int result = serviceReferential.importFishingZoneCsv(fishingZoneCsvFile.getStream());
+ int result = serviceReferential.importFishingZoneCsv(
+ fishingZoneCsvFile.getStream());
layout.addInfo(result + " zones de pêche importées");
} catch (WaoException eee) {
- layout.addError(eee.getMessage());
+ String[] errors =
+ BusinessUtils.getErrorMessages(eee, messages, log);
+ layout.addError(errors);
}
}
/**************************** FORMS ****************************************/
- public List<Company> getCompanies() throws WaoException {
+ public List<Company> getCompanies() throws WaoExceptionO {
if (companies == null) {
if (log.isInfoEnabled()) {
log.info("BUSINESS REQUEST [getCompanies]");
@@ -173,14 +182,14 @@
return companies;
}
- public GenericSelectModel<Company> getCompaniesSelectModel() throws WaoException {
+ public GenericSelectModel<Company> getCompaniesSelectModel() throws WaoExceptionO {
if (companiesSelectModel == null) {
companiesSelectModel = new GenericSelectModel<Company>(getCompanies(), Company.class, Company.NAME, "id", propertyAccess);
}
return companiesSelectModel;
}
- public Company getCompany() throws WaoException {
+ public Company getCompany() throws WaoExceptionO {
if (company == null) {
if (companyId != null) {
company = getCompaniesSelectModel().findObject(companyId);
@@ -191,7 +200,7 @@
return company;
}
- public boolean isUsersAvailable() throws WaoException {
+ public boolean isUsersAvailable() throws WaoExceptionO {
return !StringUtils.isEmpty(getCompany().getId()) && getCompany().getActive();
}
@@ -207,13 +216,13 @@
user = null;
}
- void onSuccessFromCompany() throws WaoException {
+ void onSuccessFromCompany() throws WaoExceptionO {
serviceUser.createUpdateCompany(company);
companyId = company.getId();
}
@Log
- public GenericSelectModel<WaoUser> getUsersSelectModel() throws WaoException {
+ public GenericSelectModel<WaoUser> getUsersSelectModel() throws WaoExceptionO {
if (usersSelectModel == null) {
List<WaoUser> users = serviceUser.getUsersByCompany(getCompany());
if (log.isDebugEnabled()) {
@@ -225,7 +234,7 @@
}
@Log
- public WaoUser getUser() throws WaoException {
+ public WaoUser getUser() throws WaoExceptionO {
if (user == null) {
if (userId != null) {
if (log.isDebugEnabled()) {
@@ -254,7 +263,7 @@
deleteUserSelected = true;
}
- void onSuccessFromUserActionsForm() throws WaoException {
+ void onSuccessFromUserActionsForm() throws WaoExceptionO {
if (addNewUserSelected) {
userId = null;
} else if (deleteUserSelected && userId != null) {
@@ -271,7 +280,7 @@
}
@Log
- void onSuccessFromUser() throws WaoException {
+ void onSuccessFromUser() throws WaoExceptionO {
if (log.isDebugEnabled()) {
log.debug("User : " + user);
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/BoatActivityCalendar.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/BoatActivityCalendar.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/BoatActivityCalendar.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,7 +21,7 @@
package fr.ifremer.wao.ui.pages;
-import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoExceptionO;
import fr.ifremer.wao.entity.ActivityCalendar;
import fr.ifremer.wao.entity.ActivityMonth;
import fr.ifremer.wao.entity.ActivityProfession;
@@ -108,7 +108,7 @@
return Collections.singletonList(boat);
}
- public ActivityCalendar getActivityCalendar() throws WaoException {
+ public ActivityCalendar getActivityCalendar() throws WaoExceptionO {
if (activityCalendar == null) {
if (log.isInfoEnabled()) {
log.info("BUSINESS REQUEST [getLastActivityCalendar]");
@@ -118,7 +118,7 @@
return activityCalendar;
}
- public ActivityMonth getActivityMonth() throws WaoException {
+ public ActivityMonth getActivityMonth() throws WaoExceptionO {
return getActivityCalendar().getActivityMonth(month);
}
@@ -142,7 +142,7 @@
return getProfessionIndexMax() != -1;
}
- public ActivityProfession getActivityProfession() throws WaoException {
+ public ActivityProfession getActivityProfession() throws WaoExceptionO {
if (getActivityMonth() == null) {
return null;
}
@@ -152,7 +152,7 @@
return getActivityMonth().getActivityProfession().get(professionIndex);
}
- public int getZoneIndexMax() throws WaoException {
+ public int getZoneIndexMax() throws WaoExceptionO {
int result = 0;
for (ActivityMonth activityMonth : activityCalendar.getActivityMonth()) {
month = activityMonth.getMonth();
@@ -179,7 +179,7 @@
// return getZoneIndexMax() != -1;
// }
- public ActivityZone getActivityZone() throws WaoException {
+ public ActivityZone getActivityZone() throws WaoExceptionO {
ActivityProfession profession = getActivityProfession();
if (profession == null) {
return null;
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,8 +21,9 @@
package fr.ifremer.wao.ui.pages;
-import fr.ifremer.wao.WaoContext;
-import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.WaoContextO;
+import fr.ifremer.wao.WaoExceptionO;
import fr.ifremer.wao.bean.BoatFilterImpl;
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.bean.BoatFilter;
@@ -70,6 +71,7 @@
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.annotations.SessionState;
import org.apache.tapestry5.corelib.components.Zone;
+import org.apache.tapestry5.ioc.Messages;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.services.PropertyAccess;
import org.apache.tapestry5.services.Response;
@@ -140,7 +142,7 @@
@InjectComponent
private FeedBack filterFeedback;
- void setupRender() throws WaoException {
+ void setupRender() throws WaoExceptionO {
sampleRow = null;
getSampleRow();
// Profession select reset
@@ -179,6 +181,9 @@
/**************************** Import Forms ********************************/
+ @Inject
+ private Messages messages;
+
/** Csv file for boats import */
@Property
private UploadedFile boatsCsvFile;
@@ -207,8 +212,10 @@
boats = null;
layout.addInfo(result[0] + " navires importés dont " +
result[1] + " nouveaux");
- } catch (WaoException eee) {
- layout.addError(eee.getMessage());
+ } catch (WaoBusinessException eee) {
+ String error =
+ BusinessUtils.getErrorMessage(eee, messages, log);
+ layout.addError(error);
}
}
}
@@ -261,7 +268,7 @@
@Log
void onSuccessFromImportActivityCalendarsForm()
- throws WaoException, IOException {
+ throws WaoExceptionO, IOException {
if (canImportReferentials()) {
InputStream input = activityCalendarsCsvFile.getStream();
if (log.isDebugEnabled()) {
@@ -350,7 +357,7 @@
* @see AbstractFilteredPage
*/
@Override
- public BoatFilter getFilter() throws WaoException {
+ public BoatFilter getFilter() throws WaoExceptionO {
if (boatFilter == null) {
if (log.isDebugEnabled()) {
log.debug("Create filter");
@@ -374,7 +381,7 @@
* @return the sampleRow from business
* @throws WaoException
*/
- public SampleRow getSampleRow() throws WaoException {
+ public SampleRow getSampleRow() throws WaoExceptionO {
if (sampleRow == null && !StringUtils.isEmpty(sampleRowContextId)) {
if (log.isInfoEnabled()) {
log.info("BUSINESS REQUEST [getSampleRow]");
@@ -384,11 +391,11 @@
return sampleRow;
}
- public boolean isSampleRowExists() throws WaoException {
+ public boolean isSampleRowExists() throws WaoExceptionO {
return getSampleRow() != null;
}
- public GenericSelectModel<Profession> getProfessionSelectModel() throws WaoException {
+ public GenericSelectModel<Profession> getProfessionSelectModel() throws WaoExceptionO {
if (professionSelectModel == null) {
if (log.isInfoEnabled()) {
log.info("BUSINESS REQUEST [getProfessions]");
@@ -435,7 +442,7 @@
* @see AbstractFilteredPage#onSelectedFromSearch()
*/
@Override
- public void onSelectedFromSearch() throws WaoException {
+ public void onSelectedFromSearch() throws WaoExceptionO {
super.onSelectedFromSearch();
if (log.isDebugEnabled()) {
log.debug("FILTER : facadeName=" + boatFilter.getFacadeName());
@@ -457,7 +464,7 @@
* @return the filtersZone if it's a refresh data for select, or the page otherwise
* @throws WaoException for business errors
*/
- Object onSuccessFromFiltersForm() throws WaoException {
+ Object onSuccessFromFiltersForm() throws WaoExceptionO {
if (isEdited()) {
return filtersZone.getBody();
}
@@ -495,7 +502,7 @@
* @throws WaoException
* @see BoatDataSource
*/
- public BoatDataSource getBoats() throws WaoException {
+ public BoatDataSource getBoats() throws WaoExceptionO {
if (boats == null) {
boats = new BoatDataSource(getFilter(), serviceBoat);
}
@@ -525,7 +532,7 @@
return new SimpleDateFormat("dd/MM/yyyy");
}
- public boolean canCreateNewContactFromList() throws WaoException {
+ public boolean canCreateNewContactFromList() throws WaoExceptionO {
if (!user.isAdmin() && !user.getReadOnly() && isSampleRowExists()) {
return boat.canCreateContact(user.getCompany());
}
@@ -543,7 +550,7 @@
log.debug("Filter sampleRow : " + getFilter().getSampleRow());
}
result = serviceBoat.exportBoatCsv(getFilter());
- } catch (WaoException eee) {
+ } catch (WaoExceptionO eee) {
throw new IOException(eee);
}
return result;
@@ -551,7 +558,7 @@
};
}
- Block onActionFromShowBoatInfos(Integer boatImma) throws WaoException {
+ Block onActionFromShowBoatInfos(Integer boatImma) throws WaoExceptionO {
boatSelectedImmatriculation = boatImma;
// Suppress persistant boat informations
companyBoatInfos = null;
@@ -607,7 +614,7 @@
/** /////////////////////// GLOBAL TO THE BLOCK /////////////////////// **/
public boolean isActivityCalendarImportRun() {
- return WaoContext.isActivityCalendarImportRun();
+ return WaoContextO.isActivityCalendarImportRun();
}
public Block getActiveBoatInfosBlock() {
@@ -617,7 +624,7 @@
return displayBoatInfos;
}
- public CompanyBoatInfos getCompanyBoatInfos() throws WaoException {
+ public CompanyBoatInfos getCompanyBoatInfos() throws WaoExceptionO {
if (companyBoatInfos == null && boatSelectedImmatriculation != null && getCompany() != null) {
if (log.isInfoEnabled()) {
log.info("BUSINESS REQUEST [getElligibleBoats]");
@@ -634,7 +641,7 @@
* @return the GenericSelectModel<Company>
* @throws WaoException
*/
- public GenericSelectModel<Company> getCompanies() throws WaoException {
+ public GenericSelectModel<Company> getCompanies() throws WaoExceptionO {
if (companies == null) {
if (log.isDebugEnabled()) {
log.debug("BUSINESS REQUEST [getCompanies]");
@@ -652,7 +659,7 @@
* @return the current Company
* @throws WaoException
*/
- public Company getCompany() throws WaoException {
+ public Company getCompany() throws WaoExceptionO {
if (company == null) {
if (StringUtils.isNotEmpty(companySelectedId)) {
company = getCompanies().findObject(companySelectedId);
@@ -669,7 +676,7 @@
* @return the selected boat from the grid
* @throws WaoException
*/
- public Boat getBoatSelected() throws WaoException {
+ public Boat getBoatSelected() throws WaoExceptionO {
if (log.isDebugEnabled()) {
log.debug("selected imma : " + boatSelectedImmatriculation);
log.debug("exist boat ? : " + getBoats().contains(boatSelectedImmatriculation));
@@ -701,7 +708,7 @@
this.boardingFromDate = boardingFromDate;
}
- public BoatInfos getBoatInfos() throws WaoException {
+ public BoatInfos getBoatInfos() throws WaoExceptionO {
if (getCompanyBoatInfos() == null) {
return null;
}
@@ -715,7 +722,7 @@
* @throws WaoException
* @see BusinessUtils#getContactStyle(Contact, boolean)
*/
- public String getlastContactStyle() throws WaoException {
+ public String getlastContactStyle() throws WaoExceptionO {
Contact contact = getCompanyBoatInfos().getLastContact();
return BusinessUtils.getContactStyle(contact, user.isAdmin());
}
@@ -730,7 +737,7 @@
return BooleanUtils.isFalse(elligibleBoat.getCompanyActive());
}
- public boolean canCreateNewContactFromElligibleBoat() throws WaoException {
+ public boolean canCreateNewContactFromElligibleBoat() throws WaoExceptionO {
if (!user.isAdmin() && !user.getReadOnly() &&
!isElligibleBoatCompanyActiveFalse()) {
Boat currentBoat = getBoatInfos().getBoat();
@@ -755,19 +762,19 @@
return !user.getReadOnly();
}
- void onSuccess() throws WaoException {
+ void onSuccess() throws WaoExceptionO {
if (getBoatInfos() != null) {
boatSelectedImmatriculation = getBoatInfos().getBoat().getImmatriculation();
}
}
- Block onSuccessFromCompanySelectForm() throws WaoException {
+ Block onSuccessFromCompanySelectForm() throws WaoExceptionO {
companyBoatInfos = null;
getCompanyBoatInfos();
return boatInfosZone.getBody();
}
- Block onActionFromEditBoatInfos() throws WaoException {
+ Block onActionFromEditBoatInfos() throws WaoExceptionO {
if (canEditBoatInfos()) {
boatInfosEditable = true;
// WARNING :: Reset sampleRow select for edition mode, no limit for
@@ -779,7 +786,7 @@
return boatInfosZone.getBody();
}
- Block onActionFromCancelEditBoatInfos() throws WaoException {
+ Block onActionFromCancelEditBoatInfos() throws WaoExceptionO {
/*if (propertyChange.isChanged()) {
if (log.isDebugEnabled()) {
log.debug("Change property");
@@ -793,7 +800,7 @@
return boatInfosZone.getBody();
}
- void onSelectedFromAddBoatInfosSampleRow() throws WaoException {
+ void onSelectedFromAddBoatInfosSampleRow() throws WaoExceptionO {
// We stay in edition mode
boatInfosEditable = true;
if (StringUtils.isNotEmpty(boatInfosSampleRowId)) {
@@ -802,17 +809,17 @@
}
}
- void onSelectedFromRemoveBoatInfosSampleRow(String sampleRowCode) throws WaoException {
+ void onSelectedFromRemoveBoatInfosSampleRow(String sampleRowCode) throws WaoExceptionO {
boatInfosEditable = true;
companyBoatInfos.removeElligibleBoat(sampleRowCode);
}
- void onSelectedFromActiveBoatInfosSampleRow(String sampleRowCode) throws WaoException {
+ void onSelectedFromActiveBoatInfosSampleRow(String sampleRowCode) throws WaoExceptionO {
boatInfosEditable = true;
companyBoatInfos.activeElligibleBoat(sampleRowCode);
}
- Block onSuccessFromBoatInfosForm() throws WaoException {
+ Block onSuccessFromBoatInfosForm() throws WaoExceptionO {
if (!boatInfosEditable && canEditBoatInfos()) {
// Save data
serviceBoat.createUpdateCompanyBoatInfos(companyBoatInfos);
@@ -821,7 +828,7 @@
return boatInfosZone.getBody();
}
- Block onSuccessFromCalculateBoardings() throws WaoException {
+ Block onSuccessFromCalculateBoardings() throws WaoExceptionO {
//boatSelectedImmatriculation = getBoatInfos().getBoat().getImmatriculation();
return boatInfosZone.getBody();
}
@@ -831,7 +838,7 @@
@InjectPage
private Contacts contacts;
- Object onActionFromAddNewContactFromBoat(int boatImmatriculation) throws WaoException {
+ Object onActionFromAddNewContactFromBoat(int boatImmatriculation) throws WaoExceptionO {
// Get selected sampleRow
sampleRow = getSampleRow();
// Get boat from list
@@ -840,7 +847,7 @@
return contacts;
}
- Object onActionFromAddNewContactFromSampleRow(String sampleRowCode) throws WaoException {
+ Object onActionFromAddNewContactFromSampleRow(String sampleRowCode) throws WaoExceptionO {
// Get sampleRow from elligibleBoat list
ElligibleBoat elligible = getCompanyBoatInfos().getElligibleBoat(sampleRowCode);
sampleRow = elligible.getSampleRow();
@@ -853,11 +860,11 @@
@InjectPage
private BoatActivityCalendar calendarPage;
- public boolean hasActivityCalendar() throws WaoException {
+ public boolean hasActivityCalendar() throws WaoExceptionO {
return getBoatSelected().sizeActivityCalendar() != 0;
}
- Object onActionFromShowLastActivityCalendar() throws WaoException {
+ Object onActionFromShowLastActivityCalendar() throws WaoExceptionO {
calendarPage.setBoat(getBoatSelected());
return calendarPage;
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -22,8 +22,8 @@
package fr.ifremer.wao.ui.pages;
import fr.ifremer.wao.WaoBusinessException;
-import fr.ifremer.wao.WaoContext;
-import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoContextO;
+import fr.ifremer.wao.WaoExceptionO;
import fr.ifremer.wao.bean.BoatFilter;
import fr.ifremer.wao.bean.ContactFilter;
import fr.ifremer.wao.bean.ContactFilterImpl;
@@ -120,7 +120,7 @@
// private String contactEditedId;
@Log
- void setupRender() throws WaoException {
+ void setupRender() throws WaoExceptionO {
// if (contactEdited == null) {
if (log.isDebugEnabled()) {
log.debug("RESET DATA");
@@ -148,7 +148,7 @@
@Property
private ContactState stateFilter;
- public ContactFilter getContactFilter() throws WaoException {
+ public ContactFilter getContactFilter() throws WaoExceptionO {
if (contactFilter == null) {
if (log.isDebugEnabled()) {
log.debug("Init contactFilter");
@@ -167,7 +167,7 @@
}
@Override
- protected BoatFilter getFilter() throws WaoException {
+ protected BoatFilter getFilter() throws WaoExceptionO {
return getContactFilter();
}
@@ -190,7 +190,7 @@
}
@Log
- Object onSuccessFromFiltersForm() throws WaoException {
+ Object onSuccessFromFiltersForm() throws WaoExceptionO {
if (isEdited()) {
return filtersZone.getBody();
}
@@ -221,7 +221,7 @@
}
@Log
- void onSuccessFromImportContacts() throws WaoException {
+ void onSuccessFromImportContacts() throws WaoExceptionO {
if (canImportExport()) {
try {
ImportResults result = serviceContact.importContactCsv(user,
@@ -250,7 +250,7 @@
try {
result = serviceContact.exportContactCsv(
getContactFilter());
- } catch (WaoException eee) {
+ } catch (WaoExceptionO eee) {
throw new IOException(eee);
}
return result;
@@ -291,7 +291,7 @@
private boolean even = true;
- public ContactDataSource getContacts() throws WaoException {
+ public ContactDataSource getContacts() throws WaoExceptionO {
if (contacts == null) {
if (log.isInfoEnabled()) {
log.info("Create DataSource");
@@ -340,7 +340,7 @@
return BusinessUtils.getTooltipBoat(contact.getBoat());
}
- public String getTooltipExportFrom() throws WaoException {
+ public String getTooltipExportFrom() throws WaoExceptionO {
if (getContactFilter().getFromDate() != null) {
return "depuis le " + getDateFormat().format(getContactFilter().getFromDate());
}
@@ -442,7 +442,7 @@
}
}
- void onSelectedFromAcceptContact(String contactId) throws WaoException {
+ void onSelectedFromAcceptContact(String contactId) throws WaoExceptionO {
if (log.isDebugEnabled()) {
log.debug("Accept contact : " + contactId);
}
@@ -456,7 +456,7 @@
}
}
- void onSelectedFromRefuseContact(String contactId) throws WaoException {
+ void onSelectedFromRefuseContact(String contactId) throws WaoExceptionO {
if (log.isDebugEnabled()) {
log.debug("Refuse contact : " + contactId);
}
@@ -470,7 +470,7 @@
}
}
- void onSelectedFromUnvalidateContact(String contactId) throws WaoException {
+ void onSelectedFromUnvalidateContact(String contactId) throws WaoExceptionO {
if (log.isDebugEnabled()) {
log.debug("Unvalidate contact : " + contactId);
}
@@ -491,7 +491,7 @@
}
}
- void onSelectedFromEditContact(String contactId) throws WaoException {
+ void onSelectedFromEditContact(String contactId) throws WaoExceptionO {
if (log.isDebugEnabled()) {
log.debug("Edit contact : " + contactId);
}
@@ -503,7 +503,7 @@
edited = true;
}
- void onSelectedFromDeleteContact(String contactId) throws WaoException {
+ void onSelectedFromDeleteContact(String contactId) throws WaoExceptionO {
if (log.isDebugEnabled()) {
log.debug("Delete contact : " + contactId);
}
@@ -511,7 +511,7 @@
deleted = true;
}
- void onSelectedFromSaveContact(String contactId) throws WaoException {
+ void onSelectedFromSaveContact(String contactId) throws WaoExceptionO {
if (log.isDebugEnabled()) {
log.debug("Save contact : " + contactId);
}
@@ -525,7 +525,7 @@
}
}
- void onSelectedFromCancelEditContact() throws WaoException {
+ void onSelectedFromCancelEditContact() throws WaoExceptionO {
contactEdited = null;
edited = true;
}
@@ -584,7 +584,7 @@
" ne peut pas être antérieure à celle de début");
}
- Date current = WaoContext.getCurrentDate();
+ Date current = WaoContextO.getCurrentDate();
if (end != null && end.after(current)) {
contactsForm.recordError(endDate, "La date de fin de la marée" +
@@ -652,7 +652,7 @@
contactSelectedId = contactEdited.getTopiaId();
oldComment = null;
contactEdited = null;
- } catch (WaoException eee) {
+ } catch (WaoExceptionO eee) {
layout.addError(eee.getMessage());
}
}
@@ -671,7 +671,7 @@
//return gridZone;
}
- public void createNewContact(Boat boat, SampleRow sampleRow) throws WaoException {
+ public void createNewContact(Boat boat, SampleRow sampleRow) throws WaoExceptionO {
contact = serviceContact.getNewContact(user, sampleRow, boat);
// Check boat not null and validation for create the new contact
if (boat != null && boat.canCreateContact(user.getCompany())) {
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ExceptionReport.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ExceptionReport.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ExceptionReport.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -22,10 +22,13 @@
package fr.ifremer.wao.ui.pages;
import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoExceptionO;
import fr.ifremer.wao.ui.base.WaoPage;
import fr.ifremer.wao.ui.components.Layout;
+import fr.ifremer.wao.ui.data.BusinessUtils;
import org.apache.tapestry5.annotations.InjectComponent;
import org.apache.tapestry5.annotations.Property;
+import org.apache.tapestry5.ioc.Messages;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.ExceptionReporter;
import org.slf4j.Logger;
@@ -58,21 +61,34 @@
@Inject
private Logger log;
+ @Inject
+ private Messages messages;
+
@Property
private Throwable exception;
@Override
public void reportException(Throwable eee) {
- this.exception = getWaoException(eee);
+ this.exception = getWaoExceptionO(eee);
if (exception != null) {
layout.addError(exception.getMessage());
this.exception = exception.getCause();
+ layout.addError("Erreur : " + this.exception.getClass().getSimpleName()
+ + " : " + this.exception.getMessage());
} else {
- this.exception = eee;
- log.error("Unexpected exception", eee);
+ this.exception = getWaoException(eee);
+ if (exception != null) {
+ String[] errors =
+ BusinessUtils.getErrorMessages(
+ (WaoException)exception, messages, log);
+ layout.addError(errors);
+ } else {
+ log.error("Unexpected exception", eee);
+ layout.addError("Erreur : " +
+ this.exception.getClass().getSimpleName()
+ + " : " + this.exception.getMessage());
+ }
}
- layout.addError("Erreur : " + this.exception.getClass().getSimpleName()
- + " : " + this.exception.getMessage());
}
protected Throwable getWaoException(Throwable eee) {
@@ -84,5 +100,15 @@
}
return getWaoException(eee.getCause());
}
+
+ protected Throwable getWaoExceptionO(Throwable eee) {
+ if (eee == null) {
+ return eee;
+ }
+ if (eee instanceof WaoExceptionO) {
+ return eee;
+ }
+ return getWaoExceptionO(eee.getCause());
+ }
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Index.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Index.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Index.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,7 +21,7 @@
package fr.ifremer.wao.ui.pages;
-import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoExceptionO;
import fr.ifremer.wao.entity.News;
import fr.ifremer.wao.entity.NewsImpl;
import fr.ifremer.wao.entity.WaoUser;
@@ -97,7 +97,7 @@
@Log
- void setupRender() throws WaoException {
+ void setupRender() throws WaoExceptionO {
if (editedId == null || !"NEW".equals(editedId)) {
newsList = null;
getNewsList();
@@ -114,7 +114,7 @@
// return editedId;
// }
- public List<News> getNewsList() throws WaoException {
+ public List<News> getNewsList() throws WaoExceptionO {
if (newsList == null) {
newsList = serviceNews.getNews();
}
@@ -140,7 +140,7 @@
return dateFormat;
}
- void onActionFromAddNews() throws WaoException {
+ void onActionFromAddNews() throws WaoExceptionO {
news = new NewsImpl();
// Create a new list with the new news in first position
List<News> list = new ArrayList<News>();
@@ -150,12 +150,12 @@
editedId = "NEW";
}
- void onActionFromEditNews(int rowIndex) throws WaoException {
+ void onActionFromEditNews(int rowIndex) throws WaoExceptionO {
news = getNewsList().get(rowIndex);
this.editedId = news.getTopiaId();
}
- void onActionFromDeleteNews(int rowIndex) throws WaoException {
+ void onActionFromDeleteNews(int rowIndex) throws WaoExceptionO {
news = getNewsList().get(rowIndex);
serviceNews.saveNews(news, true);
//newsList = null;
@@ -164,11 +164,11 @@
void onActionFromCancelEdit() {
}
- void onSelectedFromSaveNews(int rowIndex) throws WaoException {
+ void onSelectedFromSaveNews(int rowIndex) throws WaoExceptionO {
news = getNewsList().get(rowIndex);
}
- void onSuccessFromNewsForm() throws WaoException {
+ void onSuccessFromNewsForm() throws WaoExceptionO {
if (canEditNews()) {
serviceNews.saveNews(news, false);
//this.editedId = null;
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -22,8 +22,8 @@
package fr.ifremer.wao.ui.pages;
import fr.ifremer.wao.WaoBusinessException;
-import fr.ifremer.wao.WaoContext;
-import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoContextO;
+import fr.ifremer.wao.WaoExceptionO;
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.FishingZone;
@@ -125,7 +125,7 @@
return sampleRowId;
}
- void setupRender() throws WaoException {
+ void setupRender() throws WaoExceptionO {
// Reset data
sampleRow = null;
getSampleRow();
@@ -186,7 +186,7 @@
* @return a GenericSelectModel<Profession>
* @throws WaoException
*/
- public GenericSelectModel<Profession> getProfessionSelectModel() throws WaoException {
+ public GenericSelectModel<Profession> getProfessionSelectModel() throws WaoExceptionO {
if (professionSelectModel == null) {
if (log.isInfoEnabled()) {
log.info("BUSINESS REQUEST [getProfessions]");
@@ -212,7 +212,7 @@
*
* @throws WaoException
*/
- void onSelectedFromAddNewProfession() throws WaoException {
+ void onSelectedFromAddNewProfession() throws WaoExceptionO {
Profession profession = new ProfessionImpl();
if (!StringUtils.isEmpty(professionId)) {
Profession professionSelected = getProfessionSelectModel().findObject(professionId);
@@ -253,7 +253,7 @@
* @return a GenericSelectModel<FishingZone>
* @throws WaoException
*/
- public GenericSelectModel<FishingZone> getFishingZoneSelectModel() throws WaoException {
+ public GenericSelectModel<FishingZone> getFishingZoneSelectModel() throws WaoExceptionO {
if (fishingZoneSelectModel == null) {
if (log.isInfoEnabled()) {
log.info("BUSINESS REQUEST [getFishingZones]");
@@ -271,7 +271,7 @@
* @return a List of FishingZone linked with the SampleRow
* @throws WaoException
*/
- public List<FishingZone> getFishingZones() throws WaoException {
+ public List<FishingZone> getFishingZones() throws WaoExceptionO {
return getSampleRow().getFishingZone();
}
@@ -280,7 +280,7 @@
*
* @throws WaoException
*/
- void onSelectedFromAddFishingZone() throws WaoException {
+ void onSelectedFromAddFishingZone() throws WaoExceptionO {
fishingZone = getFishingZoneSelectModel().findObject(fishingZoneId);
if (!getFishingZones().contains(fishingZone)) {
if (log.isDebugEnabled()) {
@@ -297,7 +297,7 @@
* @param index of the FishingZone in the list (from loop component)
* @throws WaoException
*/
- void onSelectedFromRemoveFishingZone(int index) throws WaoException {
+ void onSelectedFromRemoveFishingZone(int index) throws WaoExceptionO {
if (log.isDebugEnabled()) {
log.debug("Remove fishingZone at position : " + index);
}
@@ -344,7 +344,7 @@
private boolean periodChanged;
- public SelectModel getProgramSelectModel() throws WaoException {
+ public SelectModel getProgramSelectModel() throws WaoExceptionO {
if (programSelectModel == null) {
if (log.isInfoEnabled()) {
log.info("BUSINESS REQUEST [getPrograms]");
@@ -374,7 +374,7 @@
// return getSampleRow().getProgram();
// }
- public PeriodDates getPeriod() throws WaoException {
+ public PeriodDates getPeriod() throws WaoExceptionO {
if (period == null) {
Date begin = getSampleRow().getPeriodBegin();
Date end = getSampleRow().getPeriodEnd();
@@ -383,7 +383,7 @@
return period;
}
- public List<SampleMonth> getSampleMonths() throws WaoException {
+ public List<SampleMonth> getSampleMonths() throws WaoExceptionO {
if (sampleMonths == null) {
sampleMonths = new ArrayList<SampleMonth>();
for (Date currMonth : getPeriod().getMonths()) {
@@ -409,7 +409,7 @@
public String getMonthStyle() {
String style = " ";
- Date current = WaoContext.getCurrentDate();
+ Date current = WaoContextO.getCurrentDate();
if (sampleMonth.isCurrentMonth()) {
style += "selected";
} else if (current.after(sampleMonth.getPeriodDate())) {
@@ -443,7 +443,7 @@
* @throws WaoException
*/
@Log
- void onSelectedFromRefreshMonths() throws WaoException {
+ void onSelectedFromRefreshMonths() throws WaoExceptionO {
getSampleRow().setPeriod(period);
periodChanged = true;
// Reset sampleMonths for new period
@@ -452,7 +452,7 @@
saveProgram();
}
- protected void saveProgram() throws WaoException {
+ protected void saveProgram() throws WaoExceptionO {
// Save programName
if (StringUtils.isNotEmpty(programName)) {
getSampleRow().setProgramName(programName);
@@ -466,7 +466,7 @@
}
@Log
- void onSelectedFromDeleteMonth(int index) throws WaoException {
+ void onSelectedFromDeleteMonth(int index) throws WaoExceptionO {
getSampleMonths().remove(index);
edited = true;
}
@@ -504,7 +504,7 @@
@Persist
private WaoPropertyChangeListener propertyChange;
- public SampleRow getSampleRow() throws WaoException {
+ public SampleRow getSampleRow() throws WaoExceptionO {
if (sampleRow == null) {
if (!StringUtils.isEmpty(sampleRowId)) {
if (log.isInfoEnabled()) {
@@ -523,7 +523,7 @@
return sampleRow;
}
- public SampleRowLog getSampleRowLog() throws WaoException {
+ public SampleRowLog getSampleRowLog() throws WaoExceptionO {
if (sampleRowLog == null) {
sampleRowLog = getSampleRow().getNewSampleRowLog(user);
}
@@ -540,7 +540,7 @@
return sampleRowModel;
}
- public GenericSelectModel<Company> getCompanySelectModel() throws WaoException {
+ public GenericSelectModel<Company> getCompanySelectModel() throws WaoExceptionO {
if (companySelectModel == null) {
if (log.isInfoEnabled()) {
log.info("BUSINESS REQUEST [getCompanies]");
@@ -552,7 +552,7 @@
return companySelectModel;
}
- public boolean isCreateMode() throws WaoException {
+ public boolean isCreateMode() throws WaoExceptionO {
return StringUtils.isEmpty(getSampleRow().getTopiaId());
}
@@ -560,12 +560,12 @@
cancel = true;
}
- void onSelectedFromSaveData() throws WaoException {
+ void onSelectedFromSaveData() throws WaoExceptionO {
saveProgram();
}
@Log
- void onValidateFormFromSampleRowForm() throws WaoException {
+ void onValidateFormFromSampleRowForm() throws WaoExceptionO {
sampleRowForm.clearErrors();
try {
// Only for save or periodChanged (refreshMonth)
@@ -656,7 +656,7 @@
}
@Log
- Object onSuccessFromSampleRowForm() throws WaoException {
+ Object onSuccessFromSampleRowForm() throws WaoExceptionO {
if (cancel) {
return this;
}
@@ -670,11 +670,6 @@
}
// Save sampleMonths
-
- if (log.isDebugEnabled()) {
- log.debug("SampleMonths : " + getSampleMonths());
- }
-
getSampleRow().setSampleMonth(getSampleMonths());
serviceSampling.createUpdateSampleRow(sampleRow, boats, getSampleRowLog());
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowHistoric.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowHistoric.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowHistoric.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -22,7 +22,7 @@
package fr.ifremer.wao.ui.pages;
import fr.ifremer.wao.WaoBusinessException;
-import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoExceptionO;
import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.SampleRowLog;
@@ -100,7 +100,7 @@
return sampleRowCode;
}
- void setupRender() throws WaoException {
+ void setupRender() throws WaoExceptionO {
if (StringUtils.isEmpty(sampleRowCode)) {
layout.addFatal("L'historique ne peut pas être affiché : " +
"Aucun code de ligne n'est spécifié dans l'url. ");
@@ -121,7 +121,7 @@
}
}
- public SampleRow getSampleRow() throws WaoException {
+ public SampleRow getSampleRow() throws WaoExceptionO {
if (sampleRow == null) {
sampleRow = serviceSampling.getSampleRowByCode(user, sampleRowCode);
}
@@ -142,7 +142,7 @@
return content;
}
- public SampleRowLog getNewLog() throws WaoException {
+ public SampleRowLog getNewLog() throws WaoExceptionO {
if (newLog == null) {
newLog = getSampleRow().getNewSampleRowLog(user);
}
@@ -154,7 +154,7 @@
!user.getReadOnly();
}
- public void onSuccessFromAddComment() throws WaoException {
+ public void onSuccessFromAddComment() throws WaoExceptionO {
if (canAddComment()) {
sampleRow.saveSampleRowLog(newLog);
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -23,7 +23,7 @@
import fr.ifremer.wao.WaoBusinessException;
-import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoExceptionO;
import fr.ifremer.wao.bean.FacadeRow;
import fr.ifremer.wao.bean.ImportResults;
import fr.ifremer.wao.entity.Company;
@@ -120,7 +120,7 @@
}
@Log
- void onSuccessFromImportSamplingPlan() throws WaoException {
+ void onSuccessFromImportSamplingPlan() throws WaoExceptionO {
if (canImportSamplingPlan()) {
try {
ImportResults result = serviceSampling.importSamplingPlanCsv(
@@ -147,7 +147,7 @@
InputStream result = null;
try {
result = serviceSampling.exportSamplingPlanCsv(user, getPeriod());
- } catch (WaoException eee) {
+ } catch (WaoExceptionO eee) {
throw new IOException(eee);
}
return result;
@@ -211,7 +211,7 @@
* @return List of SampleRow
* @throws WaoException
*/
- public List<SampleRow> getData() throws WaoException {
+ public List<SampleRow> getData() throws WaoExceptionO {
if (data == null) {
if (log.isInfoEnabled()) {
log.info("BUSINESS REQUEST [getSampleRowsOrderedByFishingZone]");
@@ -398,13 +398,13 @@
* @param rowIndex index of the row in the table
* @throws WaoException for a data problem
*/
- void onActionFromFilterPeriodDates(int rowIndex) throws WaoException {
+ void onActionFromFilterPeriodDates(int rowIndex) throws WaoExceptionO {
row = getData().get(rowIndex);
period.setFromDate(row.getPeriodBegin());
period.setThruDate(row.getPeriodEnd());
}
- void onActionFromDeleteSampleRow(int rowIndex) throws WaoException {
+ void onActionFromDeleteSampleRow(int rowIndex) throws WaoExceptionO {
row = getData().get(rowIndex);
serviceSampling.deleteSampleRow(row);
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,7 +21,7 @@
package fr.ifremer.wao.ui.pages;
-import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoExceptionO;
import fr.ifremer.wao.bean.BoardingResult;
import fr.ifremer.wao.bean.BoatFilter;
import fr.ifremer.wao.bean.BoatFilterImpl;
@@ -105,7 +105,7 @@
@InjectComponent
private Zone delegator;
- public Block getActiveBlock() throws WaoException {
+ public Block getActiveBlock() throws WaoExceptionO {
if (activeSynthesis == null) {
// Initialize default synthesis by Data Sampling
activeSynthesis = SynthesisId.GRAPH_SAMPLING;
@@ -165,12 +165,12 @@
private boolean reset;
- private void initSamplingBlock() throws WaoException {
+ private void initSamplingBlock() throws WaoExceptionO {
initSelectFilters(true, false, true);
}
@Override
- public BoatFilter getFilter() throws WaoException {
+ public BoatFilter getFilter() throws WaoExceptionO {
if (dataSamplingFilter == null) {
dataSamplingFilter = new BoatFilterImpl();
if (!user.isAdmin()) {
@@ -180,7 +180,7 @@
return dataSamplingFilter;
}
- public PeriodDates getPeriod() throws WaoException {
+ public PeriodDates getPeriod() throws WaoExceptionO {
if (getFilter().getPeriod() == null) {
PeriodDates period = PeriodDates.createMonthsPeriodFromToday(-12);
if (log.isDebugEnabled()) {
@@ -196,7 +196,7 @@
return false;
}
- public JFreeChart getDataSamplingChart() throws WaoException {
+ public JFreeChart getDataSamplingChart() throws WaoExceptionO {
if (log.isInfoEnabled()) {
log.info("BUSINESS REQUEST [getDataSampling]");
}
@@ -243,7 +243,7 @@
@Property
private String companyIdForBoarding;
- private void initBoardingBlock() throws WaoException {
+ private void initBoardingBlock() throws WaoExceptionO {
resetCompanySelect();
// Set the companyIdForBoarding is only necessary for an admin which
// have access to a select with all active companies (from Filters :
@@ -256,7 +256,7 @@
}
}
- public JFreeChart getBoardingBoatsChart() throws WaoException {
+ public JFreeChart getBoardingBoatsChart() throws WaoExceptionO {
Map<String, Map<?, Integer>> data =
new HashMap<String, Map<?, Integer>>();
data.put("Navires", getBoardingResult().getData());
@@ -272,7 +272,7 @@
"Nb embarquements", ChartType.BAR, data);
}
- public BoardingResult getBoardingResult() throws WaoException {
+ public BoardingResult getBoardingResult() throws WaoExceptionO {
if (boardingResult == null) {
if (log.isInfoEnabled()) {
log.info("BUSINESS REQUEST [getBoardingBoats]");
@@ -300,7 +300,7 @@
}
@Log
- void onSuccessFromFilterCompanyForBoarding() throws WaoException {
+ void onSuccessFromFilterCompanyForBoarding() throws WaoExceptionO {
companyForBoarding = getCompanySelectModel().findObject(companyIdForBoarding);
}
@@ -320,7 +320,7 @@
* @throws WaoException
*/
public Map<String, Double> getNonComplianceBoarding()
- throws WaoException {
+ throws WaoExceptionO {
if (nonComplianceBoarding == null) {
Company company = !user.isAdmin() ? user.getCompany() : null;
nonComplianceBoarding =
@@ -336,7 +336,7 @@
* @return the value of the indicator
* @throws WaoException
*/
- public Double getNonComplianceBoardingValue() throws WaoException {
+ public Double getNonComplianceBoardingValue() throws WaoExceptionO {
return getNonComplianceBoarding().get(user.getCompany().getName());
}
@@ -370,7 +370,7 @@
* @throws WaoException
*/
public Collection<ContactStateStatistics> getContactStateStatistics()
- throws WaoException {
+ throws WaoExceptionO {
if (contactStateStatistics == null) {
Company company = !user.isAdmin() ? user.getCompany() : null;
contactStateStatistics =
@@ -421,7 +421,7 @@
private ContactAverageReactivity allegroReactivityEntry;
public Collection<ContactAverageReactivity> getAllegroReactivity()
- throws WaoException {
+ throws WaoExceptionO {
if (allegroReactivity == null) {
Company company = !user.isAdmin() ? user.getCompany() : null;
allegroReactivity =
@@ -438,7 +438,7 @@
return periodForAllegroReactivity;
}
- public Double getAllegroReactivityValue() throws WaoException {
+ public Double getAllegroReactivityValue() throws WaoExceptionO {
if (!getAllegroReactivity().isEmpty()) {
ContactAverageReactivity entry = (ContactAverageReactivity)
CollectionUtils.get(getAllegroReactivity(), 0);
@@ -448,7 +448,7 @@
}
}
- public String getAllegroReactivityStyle() throws WaoException {
+ public String getAllegroReactivityStyle() throws WaoExceptionO {
double value = user.isAdmin() ?
allegroReactivityEntry.getResult() : getAllegroReactivityValue();
if (value >= 15.) {
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/UserProfile.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/UserProfile.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/UserProfile.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -22,7 +22,7 @@
package fr.ifremer.wao.ui.pages;
import fr.ifremer.wao.WaoBusinessException;
-import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoExceptionO;
import fr.ifremer.wao.entity.WaoUser;
import fr.ifremer.wao.service.ServiceUser;
import fr.ifremer.wao.ui.base.WaoPage;
@@ -90,7 +90,7 @@
return userEditable;
}
- void onSuccessFromUserForm() throws WaoException {
+ void onSuccessFromUserForm() throws WaoExceptionO {
if (password != null && !password.equals(password2)) {
userForm.recordError("Les deux password ne sont pas identiques, vérifiez la saisie !");
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/AppModule.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/AppModule.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/AppModule.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -19,20 +19,25 @@
package fr.ifremer.wao.ui.services;
+import fr.ifremer.wao.WaoContextImpl;
import fr.ifremer.wao.entity.WaoUser;
import fr.ifremer.wao.entity.WaoUserImpl;
import fr.ifremer.wao.service.*;
+import java.io.IOException;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.ioc.MappedConfiguration;
-import org.apache.tapestry5.ioc.OrderedConfiguration;
import org.apache.tapestry5.ioc.ServiceBinder;
import org.apache.tapestry5.ioc.annotations.EagerLoad;
import org.apache.tapestry5.ioc.annotations.InjectService;
import org.apache.tapestry5.ioc.services.RegistryShutdownHub;
-import org.apache.tapestry5.ioc.services.RegistryShutdownListener;
import org.apache.tapestry5.services.ApplicationStateContribution;
import org.apache.tapestry5.services.ApplicationStateCreator;
+import org.apache.tapestry5.services.Request;
+import org.apache.tapestry5.services.RequestFilter;
+import org.apache.tapestry5.services.RequestHandler;
+import org.apache.tapestry5.services.Response;
+import org.slf4j.Logger;
/**
* This module is automatically included as part of the Tapestry IoC Registry,
@@ -50,18 +55,41 @@
// Use service builder methods (example below) when the implementation
// is provided inline, or requires more initialization than simply
// invoking the constructor.
- binder.bind(ServiceNews.class, ServiceNewsImpl.class);
+// binder.bind(ServiceNews.class, ServiceNewsImpl.class);
binder.bind(ServiceUser.class, ServiceUserImpl.class);
binder.bind(ServiceSampling.class, ServiceSamplingImpl.class);
- binder.bind(ServiceReferential.class, ServiceReferentialImpl.class);
- binder.bind(ServiceBoat.class, ServiceBoatImpl.class);
+// binder.bind(ServiceReferential.class, ServiceReferentialImpl.class);
+// binder.bind(ServiceBoat.class, ServiceBoatImpl.class);
binder.bind(ServiceContact.class, ServiceContactImpl.class);
binder.bind(ContactModelFactory.class);
binder.bind(ServiceSynthesis.class, ServiceSynthesisImpl.class);
-// binder.bind(WaoModelDAOHelper.getContractClass(User.class),
-// WaoModelDAOHelper.getImplementationClass(User.class));
}
+ @EagerLoad
+ public WaoManager buildWaoManager(RegistryShutdownHub hub) {
+ WaoManager manager = new WaoManager(new WaoContextImpl());
+ hub.addRegistryShutdownListener(manager);
+ return manager;
+ }
+
+ public ServiceNews buildServiceNews(WaoManager manager) {
+ ServiceNewsImpl instance = new ServiceNewsImpl();
+ instance.setContext(manager.getContext());
+ return instance;
+ }
+
+ public ServiceReferential buildServiceReferential(WaoManager manager) {
+ ServiceReferentialImpl instance = new ServiceReferentialImpl();
+ instance.setContext(manager.getContext());
+ return instance;
+ }
+
+ public ServiceBoat buildServiceBoat(WaoManager manager) {
+ ServiceBoatImpl instance = new ServiceBoatImpl();
+ instance.setContext(manager.getContext());
+ return instance;
+ }
+
public static void contributeApplicationDefaults(
MappedConfiguration<String, String> configuration) {
// Contributions to ApplicationDefaults will override any contributions to
@@ -96,9 +124,12 @@
* the service interface and would be "RequestFilter". Since Tapestry
* already defines a service named "RequestFilter" we use an explicit
* service id that we can reference inside the contribution method.
+ * @param log
+ * @return
*/
- /*public RequestFilter buildTimingFilter(final Logger log) {
+ public RequestFilter buildTimingFilter(final Logger log) {
return new RequestFilter() {
+ @Override
public boolean service(Request request, Response response,
RequestHandler handler) throws IOException {
long startTime = System.currentTimeMillis();
@@ -116,40 +147,45 @@
}
}
};
- }*/
-
- /**
- * This is the Shutdown service definition. This service is used when the
- * server shutdown. It detects the Tapestry registry shutdown.
- * @param hub
- * @return
- */
- @EagerLoad
- public RegistryShutdownListener buildWaoShutdown(
- @InjectService("RegistryShutdownHub") RegistryShutdownHub hub) {
- RegistryShutdownListener listener = new WaoManager();
- hub.addRegistryShutdownListener(listener);
- return listener;
}
- public static void contributeRegistryStartup(OrderedConfiguration<Runnable> configuration) {
- configuration.add("WaoStartup", new WaoManager());
- }
+// /**
+// * This is the Shutdown service definition. This service is used when the
+// * server shutdown. It detects the Tapestry registry shutdown.
+// * @param hub
+// * @param context
+// * @return
+// */
+// @EagerLoad
+// public RegistryShutdownListener buildWaoShutdown(
+// @InjectService("RegistryShutdownHub") RegistryShutdownHub hub,
+// WaoContext context) {
+// RegistryShutdownListener listener = new WaoManager(context);
+// hub.addRegistryShutdownListener(listener);
+// return listener;
+// }
+// public static void contributeRegistryStartup(OrderedConfiguration<Runnable> configuration) {
+// configuration.add("WaoStartup", new WaoManager());
+// }
+
/**
* Used to instanciate SessionState WaoUser when session expires.
*
* @param configuration to add the ApplicationStateCreator.
*/
- public void contributeApplicationStateManager(MappedConfiguration<Class<?>, ApplicationStateContribution> configuration) {
- ApplicationStateCreator<WaoUser> creator = new ApplicationStateCreator<WaoUser>() {
+ public void contributeApplicationStateManager(MappedConfiguration<Class<?>,
+ ApplicationStateContribution> configuration) {
+ ApplicationStateCreator<WaoUser> creator =
+ new ApplicationStateCreator<WaoUser>() {
@Override
public WaoUser create() {
return new WaoUserImpl();
}
};
- configuration.add(WaoUser.class, new ApplicationStateContribution("session", creator));
+ configuration.add(WaoUser.class,
+ new ApplicationStateContribution("session", creator));
}
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/WaoManager.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/WaoManager.java 2010-04-01 13:27:59 UTC (rev 401)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/WaoManager.java 2010-04-01 13:28:03 UTC (rev 402)
@@ -21,10 +21,10 @@
package fr.ifremer.wao.ui.services;
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.WaoRunner;
-import fr.ifremer.wao.WaoRunnerImpl;
+import fr.ifremer.wao.WaoContextImplementor;
+import fr.ifremer.wao.WaoProperty;
import org.apache.tapestry5.ioc.services.RegistryShutdownListener;
+import org.nuiton.util.ApplicationConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -43,37 +43,38 @@
private static final Logger log = LoggerFactory.getLogger(WaoManager.class);
- private WaoRunner runner;
+ private WaoContextImplementor context;
+ public WaoManager(WaoContextImplementor context) {
+ this.context = context;
+ this.context.start();
+ }
+
@Override
public void run() {
- runner = new WaoRunnerImpl();
- try {
- if (log.isInfoEnabled()) {
- log.info("Start Wao");
- }
- runner.start();
- } catch (WaoException eee) {
- if (log.isErrorEnabled()) {
- log.error("Error on start", eee);
- }
- }
}
@Override
public void registryDidShutdown() {
- // No problem with reinstanciate the runner, all context is in WaoContext which is static
- runner = new WaoRunnerImpl();
- try {
- if (log.isInfoEnabled()) {
- log.info("Stop Wao");
- }
- runner.stop();
- } catch (WaoException eee) {
- if (log.isErrorEnabled()) {
- log.error("Error on stop", eee);
- }
- }
+ context.stop();
}
+ WaoContextImplementor getContext() {
+ return context;
+ }
+
+ public boolean isActivityCalendarImportRun() {
+ return context.isActivityCalendarImportRun();
+ }
+
+ public String getProperty(WaoProperty property) {
+ return context.getProperty(property);
+ }
+
+ public ApplicationConfig getConfiguration() {
+ return context.getConfiguration();
+ }
+
+
+
}
2
2
[Suiviobsmer-commits] r401 - in trunk/wao-business/src: main/resources/oldmappings test/java/fr/ifremer/wao
by fdesbois@users.labs.libre-entreprise.org 01 Apr '10
by fdesbois@users.labs.libre-entreprise.org 01 Apr '10
01 Apr '10
Author: fdesbois
Date: 2010-04-01 13:27:59 +0000 (Thu, 01 Apr 2010)
New Revision: 401
Removed:
trunk/wao-business/src/main/resources/oldmappings/WaoModel/
trunk/wao-business/src/test/java/fr/ifremer/wao/bean/
trunk/wao-business/src/test/java/fr/ifremer/wao/services/
Log:
- Use ServiceTransformer (refactor Context managment + service implementations)
- Remove updateFishingZone in createUpdateSampleRow, the topia evol on inverse tagValue resolve issue on saving fishingZone directly in sampleRow (Ano #2237)
1
0