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
June 2012
- 1 participants
- 2 discussions
Author: bleny
Date: 2012-06-04 18:25:41 +0200 (Mon, 04 Jun 2012)
New Revision: 1616
Url: http://forge.codelutin.com/repositories/revision/wao/1616
Log:
non-utilisation de ServiceTransformer en vue de la migration vers ToPIA 3.x
Modified:
trunk/wao-business/pom.xml
Modified: trunk/wao-business/pom.xml
===================================================================
--- trunk/wao-business/pom.xml 2012-06-04 16:25:02 UTC (rev 1615)
+++ trunk/wao-business/pom.xml 2012-06-04 16:25:41 UTC (rev 1616)
@@ -174,7 +174,6 @@
<templates>
org.nuiton.topia.generator.TopiaMetaTransformer,
org.nuiton.eugene.java.JavaBeanTransformer,
- org.nuiton.topia.generator.ServiceTransformer,
org.nuiton.eugene.java.JavaInterfaceTransformer,
org.nuiton.topia.generator.BinderHelperTransformer,
org.nuiton.topia.generator.QueryHelperTransformer
1
0
r1615 - trunk/wao-business/src/main/java/fr/ifremer/wao/service
by bleny@users.forge.codelutin.com 04 Jun '12
by bleny@users.forge.codelutin.com 04 Jun '12
04 Jun '12
Author: bleny
Date: 2012-06-04 18:25:02 +0200 (Mon, 04 Jun 2012)
New Revision: 1615
Url: http://forge.codelutin.com/repositories/revision/wao/1615
Log:
non-utilisation de ServiceTransformer en vue de la migration vers ToPIA 3.x
Added:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoat.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatAbstract.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceCartography.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceCartographyAbstract.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceChart.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContact.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactAbstract.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceNews.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceNewsAbstract.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferential.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialAbstract.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSampling.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingAbstract.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesis.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisAbstract.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUser.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserAbstract.java
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoat.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoat.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoat.java 2012-06-04 16:25:02 UTC (rev 1615)
@@ -0,0 +1,47 @@
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.bean.BoatFilter;
+import fr.ifremer.wao.bean.BoatFilterValues;
+import fr.ifremer.wao.bean.CompanyBoatInfos;
+import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.bean.ObsProgram;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.io.ImportResults;
+import java.io.InputStream;
+import java.util.List;
+import java.util.Map;
+
+public interface ServiceBoat {
+
+ Map<Integer, Boat> getBoatsByFilter(BoatFilter filter) throws WaoException;
+
+ ImportResults importBoatCsv(InputStream input) throws WaoException, WaoBusinessException;
+
+ List<Boat> getBoatsByImmatriculations(String immatriculations) throws WaoException, WaoBusinessException;
+
+ CompanyBoatInfos getCompanyBoatInfos(ObsProgram obsProgram, int boatImmatriculation, Company company) throws WaoException;
+
+ Boat getBoat(Integer boatImmatriculation) throws WaoException, WaoBusinessException;
+
+ void createUpdateCompanyBoatInfos(CompanyBoatInfos companyBoatInfos) throws WaoException;
+
+ List<String> getBoatNamesStartWith(String input) throws WaoException;
+
+ int getNbBoatsByFilter(BoatFilter filter) throws WaoException;
+
+ InputStream exportBoatCsv(BoatFilter filter) throws WaoException;
+
+ List<String> getShipOwnerNamesContains(String name) throws WaoException;
+
+ BoatFilter newBoatFilter(ConnectedUser connectedUser) throws WaoException;
+
+ BoatFilterValues getPossibleValuesForFilter(BoatFilter filter) throws WaoException;
+
+ List<Boat> getAllActiveBoats() throws WaoException;
+
+ ImportResults importBoatGroups(InputStream input) throws WaoException;
+
+} //ServiceBoat
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatAbstract.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatAbstract.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatAbstract.java 2012-06-04 16:25:02 UTC (rev 1615)
@@ -0,0 +1,343 @@
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.bean.BoatFilter;
+import fr.ifremer.wao.bean.BoatFilterValues;
+import fr.ifremer.wao.bean.CompanyBoatInfos;
+import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.bean.ObsProgram;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.io.ImportResults;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import org.nuiton.i18n.I18n;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+
+public abstract class ServiceBoatAbstract implements ServiceBoat {
+
+ protected abstract TopiaContext beginTransaction() throws TopiaException;
+
+ protected void commitTransaction(TopiaContext transaction) throws TopiaException {
+ transaction.commitTransaction();
+}
+
+ protected abstract void closeTransaction(TopiaContext transaction) throws TopiaException;
+
+ protected abstract void treateError(TopiaContext transaction, Exception eee, String message, Object... args) throws WaoException;
+
+ protected void treateError(Exception eee, String message, Object... args) throws WaoException {
+ treateError(null, eee, message, args);
+ }
+
+ protected abstract Map<Integer, Boat> executeGetBoatsByFilter(TopiaContext transaction, BoatFilter filter) throws Exception;
+
+ protected abstract ImportResults executeImportBoatCsv(TopiaContext transaction, InputStream input) throws Exception;
+
+ protected abstract List<Boat> executeGetBoatsByImmatriculations(TopiaContext transaction, String immatriculations) throws Exception;
+
+ protected abstract CompanyBoatInfos executeGetCompanyBoatInfos(TopiaContext transaction, List<Object> errorArgs, ObsProgram obsProgram, int boatImmatriculation, Company company) throws Exception;
+
+ protected abstract Boat executeGetBoat(TopiaContext transaction, Integer boatImmatriculation) throws Exception;
+
+ protected abstract void executeCreateUpdateCompanyBoatInfos(TopiaContext transaction, List<Object> errorArgs, CompanyBoatInfos companyBoatInfos) throws Exception;
+
+ protected abstract List<String> executeGetBoatNamesStartWith(TopiaContext transaction, List<Object> errorArgs, String input) throws Exception;
+
+ protected abstract int executeGetNbBoatsByFilter(TopiaContext transaction, BoatFilter filter) throws Exception;
+
+ protected abstract InputStream executeExportBoatCsv(TopiaContext transaction, BoatFilter filter) throws Exception;
+
+ protected abstract List<String> executeGetShipOwnerNamesContains(TopiaContext transaction, String name) throws Exception;
+
+ protected abstract BoatFilter executeNewBoatFilter(TopiaContext transaction, ConnectedUser connectedUser) throws Exception;
+
+ protected abstract BoatFilterValues executeGetPossibleValuesForFilter(TopiaContext transaction, BoatFilter filter) throws Exception;
+
+ protected abstract List<Boat> executeGetAllActiveBoats(TopiaContext transaction) throws Exception;
+
+ protected abstract ImportResults executeImportBoatGroups(TopiaContext transaction, InputStream input) throws Exception;
+
+ @Override
+ public Map<Integer, Boat> getBoatsByFilter(BoatFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Map<Integer, Boat> result = executeGetBoatsByFilter(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceBoat.getBoatsByFilter"));
+ }
+ return null;
+ }
+
+ @Override
+ public ImportResults importBoatCsv(InputStream input) throws WaoException, WaoBusinessException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ ImportResults result = executeImportBoatCsv(transaction, input);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (WaoBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceBoat.importBoatCsv"));
+ }
+ return null;
+ }
+
+ @Override
+ public List<Boat> getBoatsByImmatriculations(String immatriculations) throws WaoException, WaoBusinessException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<Boat> result = executeGetBoatsByImmatriculations(transaction, immatriculations);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (WaoBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceBoat.getBoatsByImmatriculations"));
+ }
+ return null;
+ }
+
+ @Override
+ public CompanyBoatInfos getCompanyBoatInfos(ObsProgram obsProgram, int boatImmatriculation, Company company) throws WaoException {
+ List<Object> errorArgs = new ArrayList<Object>();
+
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ CompanyBoatInfos result = executeGetCompanyBoatInfos(transaction, errorArgs, obsProgram, boatImmatriculation, company);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceBoat.getCompanyBoatInfos"), errorArgs.toArray());
+ }
+ return null;
+ }
+
+ @Override
+ public Boat getBoat(Integer boatImmatriculation) throws WaoException, WaoBusinessException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Boat result = executeGetBoat(transaction, boatImmatriculation);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (WaoBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceBoat.getBoat"));
+ }
+ return null;
+ }
+
+ @Override
+ public void createUpdateCompanyBoatInfos(CompanyBoatInfos companyBoatInfos) throws WaoException {
+ List<Object> errorArgs = new ArrayList<Object>();
+
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeCreateUpdateCompanyBoatInfos(transaction, errorArgs, companyBoatInfos);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceBoat.createUpdateCompanyBoatInfos"), errorArgs.toArray());
+ }
+
+ }
+
+ @Override
+ public List<String> getBoatNamesStartWith(String input) throws WaoException {
+ List<Object> errorArgs = new ArrayList<Object>();
+
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<String> result = executeGetBoatNamesStartWith(transaction, errorArgs, input);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceBoat.getBoatNamesStartWith"), errorArgs.toArray());
+ }
+ return null;
+ }
+
+ @Override
+ public int getNbBoatsByFilter(BoatFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ int result = executeGetNbBoatsByFilter(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceBoat.getNbBoatsByFilter"));
+ }
+ return 0;
+ }
+
+ @Override
+ public InputStream exportBoatCsv(BoatFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ InputStream result = executeExportBoatCsv(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceBoat.exportBoatCsv"));
+ }
+ return null;
+ }
+
+ @Override
+ public List<String> getShipOwnerNamesContains(String name) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<String> result = executeGetShipOwnerNamesContains(transaction, name);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceBoat.getShipOwnerNamesContains"));
+ }
+ return null;
+ }
+
+ @Override
+ public BoatFilter newBoatFilter(ConnectedUser connectedUser) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ BoatFilter result = executeNewBoatFilter(transaction, connectedUser);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceBoat.newBoatFilter"));
+ }
+ return null;
+ }
+
+ @Override
+ public BoatFilterValues getPossibleValuesForFilter(BoatFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ BoatFilterValues result = executeGetPossibleValuesForFilter(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceBoat.getPossibleValuesForFilter"));
+ }
+ return null;
+ }
+
+ @Override
+ public List<Boat> getAllActiveBoats() throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<Boat> result = executeGetAllActiveBoats(transaction);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceBoat.getAllActiveBoats"));
+ }
+ return null;
+ }
+
+ @Override
+ public ImportResults importBoatGroups(InputStream input) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ ImportResults result = executeImportBoatGroups(transaction, input);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceBoat.importBoatGroups"));
+ }
+ return null;
+ }
+
+} //ServiceBoatAbstract
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceCartography.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceCartography.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceCartography.java 2012-06-04 16:25:02 UTC (rev 1615)
@@ -0,0 +1,18 @@
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.bean.ContactFilter;
+import fr.ifremer.wao.io.ImportResults;
+import java.io.InputStream;
+
+public interface ServiceCartography {
+
+ ImportResults importBoatDistrictKml(InputStream input) throws WaoException;
+
+ InputStream exportContactStatisticsKml(ContactFilter filter) throws WaoException;
+
+ InputStream exportContactMotifsStatisticsKml(ContactFilter filter) throws WaoException;
+
+ InputStream exportContactStatisticsBySeaboardKml(ContactFilter filter) throws WaoException;
+
+} //ServiceCartography
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceCartographyAbstract.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceCartographyAbstract.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceCartographyAbstract.java 2012-06-04 16:25:02 UTC (rev 1615)
@@ -0,0 +1,111 @@
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.bean.ContactFilter;
+import fr.ifremer.wao.io.ImportResults;
+import java.io.InputStream;
+import org.nuiton.i18n.I18n;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+
+public abstract class ServiceCartographyAbstract implements ServiceCartography {
+
+ protected abstract TopiaContext beginTransaction() throws TopiaException;
+
+ protected void commitTransaction(TopiaContext transaction) throws TopiaException {
+ transaction.commitTransaction();
+}
+
+ protected abstract void closeTransaction(TopiaContext transaction) throws TopiaException;
+
+ protected abstract void treateError(TopiaContext transaction, Exception eee, String message, Object... args) throws WaoException;
+
+ protected void treateError(Exception eee, String message, Object... args) throws WaoException {
+ treateError(null, eee, message, args);
+ }
+
+ protected abstract ImportResults executeImportBoatDistrictKml(TopiaContext transaction, InputStream input) throws Exception;
+
+ protected abstract InputStream executeExportContactStatisticsKml(TopiaContext transaction, ContactFilter filter) throws Exception;
+
+ protected abstract InputStream executeExportContactMotifsStatisticsKml(TopiaContext transaction, ContactFilter filter) throws Exception;
+
+ protected abstract InputStream executeExportContactStatisticsBySeaboardKml(TopiaContext transaction, ContactFilter filter) throws Exception;
+
+ @Override
+ public ImportResults importBoatDistrictKml(InputStream input) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ ImportResults result = executeImportBoatDistrictKml(transaction, input);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceCartography.importBoatDistrictKml"));
+ }
+ return null;
+ }
+
+ @Override
+ public InputStream exportContactStatisticsKml(ContactFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ InputStream result = executeExportContactStatisticsKml(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceCartography.exportContactStatisticsKml"));
+ }
+ return null;
+ }
+
+ @Override
+ public InputStream exportContactMotifsStatisticsKml(ContactFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ InputStream result = executeExportContactMotifsStatisticsKml(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceCartography.exportContactMotifsStatisticsKml"));
+ }
+ return null;
+ }
+
+ @Override
+ public InputStream exportContactStatisticsBySeaboardKml(ContactFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ InputStream result = executeExportContactStatisticsBySeaboardKml(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceCartography.exportContactStatisticsBySeaboardKml"));
+ }
+ return null;
+ }
+
+} //ServiceCartographyAbstract
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceChart.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceChart.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceChart.java 2012-06-04 16:25:02 UTC (rev 1615)
@@ -0,0 +1,11 @@
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.bean.PieChartData;
+
+public interface ServiceChart {
+
+ String getPieChartUrl(PieChartData data, int size, boolean thumb);
+
+ String getHtmlImgTag(PieChartData data, String text, boolean thumb);
+
+} //ServiceChart
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContact.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContact.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContact.java 2012-06-04 16:25:02 UTC (rev 1615)
@@ -0,0 +1,52 @@
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.bean.ContactFilter;
+import fr.ifremer.wao.bean.ContactFilterValues;
+import fr.ifremer.wao.bean.ValidationResult;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.Contact;
+import fr.ifremer.wao.entity.ObsDebCode;
+import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.entity.TerrestrialLocation;
+import fr.ifremer.wao.io.ImportResults;
+import java.io.InputStream;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+public interface ServiceContact {
+
+ Map<String, Contact> getContacts(ContactFilter filter) throws WaoException;
+
+ Contact newContact(ConnectedUser connectedUser, SampleRow row, Boat boat) throws WaoException;
+
+ void saveContact(ConnectedUser connectedUser, Contact contact, boolean delete) throws WaoException;
+
+ InputStream exportContactCsv(ContactFilter filter) throws WaoException;
+
+ ImportResults importContactCsv(ConnectedUser user, InputStream input) throws WaoException, WaoBusinessException;
+
+ int getNbContacts(ContactFilter filter) throws WaoException;
+
+ boolean sendContactDoneEmail(Contact contact) throws WaoException, WaoBusinessException;
+
+ Contact getContact(String contactId) throws WaoException;
+
+ ValidationResult validateContact(Contact contact) throws WaoException;
+
+ ContactFilter newContactFilter(ConnectedUser connectedUser) throws WaoException;
+
+ ContactFilterValues getPossibleValuesForFilter(ContactFilter filter) throws WaoException;
+
+ Set<Boat> getSubstitutesForBoat(Boat boat) throws WaoException;
+
+ List<ObsDebCode> getPossibleObsDebCodes(Contact contact) throws WaoException;
+
+ List<TerrestrialLocation> getPossibleTerrestrialLocations(Contact contact) throws WaoException;
+
+ boolean isBoatSampled(Boat boat, SampleRow sampleRow) throws WaoException;
+
+} //ServiceContact
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactAbstract.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactAbstract.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactAbstract.java 2012-06-04 16:25:02 UTC (rev 1615)
@@ -0,0 +1,358 @@
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.bean.ContactFilter;
+import fr.ifremer.wao.bean.ContactFilterValues;
+import fr.ifremer.wao.bean.ValidationResult;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.Contact;
+import fr.ifremer.wao.entity.ObsDebCode;
+import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.entity.TerrestrialLocation;
+import fr.ifremer.wao.io.ImportResults;
+import java.io.InputStream;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import org.nuiton.i18n.I18n;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+
+public abstract class ServiceContactAbstract implements ServiceContact {
+
+ protected abstract TopiaContext beginTransaction() throws TopiaException;
+
+ protected void commitTransaction(TopiaContext transaction) throws TopiaException {
+ transaction.commitTransaction();
+}
+
+ protected abstract void closeTransaction(TopiaContext transaction) throws TopiaException;
+
+ protected abstract void treateError(TopiaContext transaction, Exception eee, String message, Object... args) throws WaoException;
+
+ protected void treateError(Exception eee, String message, Object... args) throws WaoException {
+ treateError(null, eee, message, args);
+ }
+
+ protected abstract Map<String, Contact> executeGetContacts(TopiaContext transaction, ContactFilter filter) throws Exception;
+
+ protected abstract Contact executeNewContact(TopiaContext transaction, ConnectedUser connectedUser, SampleRow row, Boat boat) throws Exception;
+
+ protected abstract void executeSaveContact(TopiaContext transaction, ConnectedUser connectedUser, Contact contact, boolean delete) throws Exception;
+
+ protected abstract InputStream executeExportContactCsv(TopiaContext transaction, ContactFilter filter) throws Exception;
+
+ protected abstract ImportResults executeImportContactCsv(TopiaContext transaction, ConnectedUser user, InputStream input) throws Exception;
+
+ protected abstract int executeGetNbContacts(TopiaContext transaction, ContactFilter filter) throws Exception;
+
+ protected abstract boolean executeSendContactDoneEmail(TopiaContext transaction, Contact contact) throws Exception;
+
+ protected abstract Contact executeGetContact(TopiaContext transaction, String contactId) throws Exception;
+
+ protected abstract ValidationResult executeValidateContact(TopiaContext transaction, Contact contact) throws Exception;
+
+ protected abstract ContactFilter executeNewContactFilter(TopiaContext transaction, ConnectedUser connectedUser) throws Exception;
+
+ protected abstract ContactFilterValues executeGetPossibleValuesForFilter(TopiaContext transaction, ContactFilter filter) throws Exception;
+
+ protected abstract Set<Boat> executeGetSubstitutesForBoat(TopiaContext transaction, Boat boat) throws Exception;
+
+ protected abstract List<ObsDebCode> executeGetPossibleObsDebCodes(TopiaContext transaction, Contact contact) throws Exception;
+
+ protected abstract List<TerrestrialLocation> executeGetPossibleTerrestrialLocations(TopiaContext transaction, Contact contact) throws Exception;
+
+ protected abstract boolean executeIsBoatSampled(TopiaContext transaction, Boat boat, SampleRow sampleRow) throws Exception;
+
+ @Override
+ public Map<String, Contact> getContacts(ContactFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Map<String, Contact> result = executeGetContacts(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceContact.getContacts"));
+ }
+ return null;
+ }
+
+ @Override
+ public Contact newContact(ConnectedUser connectedUser, SampleRow row, Boat boat) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Contact result = executeNewContact(transaction, connectedUser, row, boat);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceContact.newContact"));
+ }
+ return null;
+ }
+
+ @Override
+ public void saveContact(ConnectedUser connectedUser, Contact contact, boolean delete) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeSaveContact(transaction, connectedUser, contact, delete);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceContact.saveContact"));
+ }
+
+ }
+
+ @Override
+ public InputStream exportContactCsv(ContactFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ InputStream result = executeExportContactCsv(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceContact.exportContactCsv"));
+ }
+ return null;
+ }
+
+ @Override
+ public ImportResults importContactCsv(ConnectedUser user, InputStream input) throws WaoException, WaoBusinessException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ ImportResults result = executeImportContactCsv(transaction, user, input);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (WaoBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceContact.importContactCsv"));
+ }
+ return null;
+ }
+
+ @Override
+ public int getNbContacts(ContactFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ int result = executeGetNbContacts(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceContact.getNbContacts"));
+ }
+ return 0;
+ }
+
+ @Override
+ public boolean sendContactDoneEmail(Contact contact) throws WaoException, WaoBusinessException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ boolean result = executeSendContactDoneEmail(transaction, contact);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (WaoBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceContact.sendContactDoneEmail"));
+ }
+ return false;
+ }
+
+ @Override
+ public Contact getContact(String contactId) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Contact result = executeGetContact(transaction, contactId);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceContact.getContact"));
+ }
+ return null;
+ }
+
+ @Override
+ public ValidationResult validateContact(Contact contact) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ ValidationResult result = executeValidateContact(transaction, contact);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceContact.validateContact"));
+ }
+ return null;
+ }
+
+ @Override
+ public ContactFilter newContactFilter(ConnectedUser connectedUser) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ ContactFilter result = executeNewContactFilter(transaction, connectedUser);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceContact.newContactFilter"));
+ }
+ return null;
+ }
+
+ @Override
+ public ContactFilterValues getPossibleValuesForFilter(ContactFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ ContactFilterValues result = executeGetPossibleValuesForFilter(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceContact.getPossibleValuesForFilter"));
+ }
+ return null;
+ }
+
+ @Override
+ public Set<Boat> getSubstitutesForBoat(Boat boat) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Set<Boat> result = executeGetSubstitutesForBoat(transaction, boat);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceContact.getSubstitutesForBoat"));
+ }
+ return null;
+ }
+
+ @Override
+ public List<ObsDebCode> getPossibleObsDebCodes(Contact contact) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<ObsDebCode> result = executeGetPossibleObsDebCodes(transaction, contact);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceContact.getPossibleObsDebCodes"));
+ }
+ return null;
+ }
+
+ @Override
+ public List<TerrestrialLocation> getPossibleTerrestrialLocations(Contact contact) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<TerrestrialLocation> result = executeGetPossibleTerrestrialLocations(transaction, contact);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceContact.getPossibleTerrestrialLocations"));
+ }
+ return null;
+ }
+
+ @Override
+ public boolean isBoatSampled(Boat boat, SampleRow sampleRow) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ boolean result = executeIsBoatSampled(transaction, boat, sampleRow);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceContact.isBoatSampled"));
+ }
+ return false;
+ }
+
+} //ServiceContactAbstract
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceNews.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceNews.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceNews.java 2012-06-04 16:25:02 UTC (rev 1615)
@@ -0,0 +1,16 @@
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.entity.News;
+import java.util.List;
+
+public interface ServiceNews {
+
+ void saveNews(News news, boolean delete) throws WaoException;
+
+ List<News> getNews(ConnectedUser user) throws WaoException;
+
+ News newNews(ConnectedUser user) throws WaoException;
+
+} //ServiceNews
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceNewsAbstract.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceNewsAbstract.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceNewsAbstract.java 2012-06-04 16:25:02 UTC (rev 1615)
@@ -0,0 +1,86 @@
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.entity.News;
+import java.util.ArrayList;
+import java.util.List;
+import org.nuiton.i18n.I18n;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+
+public abstract class ServiceNewsAbstract implements ServiceNews {
+
+ protected abstract TopiaContext beginTransaction() throws TopiaException;
+
+ protected void commitTransaction(TopiaContext transaction) throws TopiaException {
+ transaction.commitTransaction();
+}
+
+ protected abstract void closeTransaction(TopiaContext transaction) throws TopiaException;
+
+ protected abstract void treateError(TopiaContext transaction, Exception eee, String message, Object... args) throws WaoException;
+
+ protected void treateError(Exception eee, String message, Object... args) throws WaoException {
+ treateError(null, eee, message, args);
+ }
+
+ protected abstract void executeSaveNews(TopiaContext transaction, List<Object> errorArgs, News news, boolean delete) throws Exception;
+
+ protected abstract List<News> executeGetNews(TopiaContext transaction, ConnectedUser user) throws Exception;
+
+ protected abstract News executeNewNews(ConnectedUser user) throws Exception;
+
+ @Override
+ public void saveNews(News news, boolean delete) throws WaoException {
+ List<Object> errorArgs = new ArrayList<Object>();
+
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeSaveNews(transaction, errorArgs, news, delete);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceNews.saveNews"), errorArgs.toArray());
+ }
+
+ }
+
+ @Override
+ public List<News> getNews(ConnectedUser user) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<News> result = executeGetNews(transaction, user);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceNews.getNews"));
+ }
+ return null;
+ }
+
+ @Override
+ public News newNews(ConnectedUser user) throws WaoException {
+ try {
+
+ News result = executeNewNews(user);
+ return result;
+ } catch (Exception eee) {
+ treateError(eee, I18n.n_("wao.error.serviceNews.newNews"));
+ }
+ return null;
+ }
+
+} //ServiceNewsAbstract
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferential.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferential.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferential.java 2012-06-04 16:25:02 UTC (rev 1615)
@@ -0,0 +1,50 @@
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.bean.ContactState;
+import fr.ifremer.wao.bean.ObsProgram;
+import fr.ifremer.wao.bean.ReferentialState;
+import fr.ifremer.wao.bean.SamplingFilter;
+import fr.ifremer.wao.entity.ContactStateMotif;
+import fr.ifremer.wao.entity.FishingZone;
+import fr.ifremer.wao.entity.TerrestrialDivision;
+import fr.ifremer.wao.entity.TerrestrialLocation;
+import fr.ifremer.wao.io.ImportResults;
+import java.io.InputStream;
+import java.util.List;
+
+public interface ServiceReferential {
+
+ List<FishingZone> getFishingZones() throws WaoException;
+
+ int importFishingZoneCsv(InputStream input) throws WaoException;
+
+ ImportResults importTerrestrialLocations(InputStream input) throws WaoException;
+
+ List<TerrestrialLocation> getAllTerrestrialDistricts(SamplingFilter filter) throws WaoException;
+
+ List<TerrestrialLocation> getAllPortsAndAuctions(TerrestrialLocation district) throws WaoException;
+
+ TerrestrialLocation getTerrestrialDistrict(String districtCode) throws WaoException;
+
+ List<ContactStateMotif> getAllContactStateMotifs(ContactState contactState) throws WaoException;
+
+ ImportResults importTerrestrialDivisions(InputStream input) throws WaoException;
+
+ List<TerrestrialDivision> getAllObservationUnits() throws WaoException;
+
+ List<TerrestrialLocation> getAllPorts(TerrestrialLocation region) throws WaoException;
+
+ void initialImport() throws WaoException;
+
+ ImportResults importObsDebCodes(InputStream input) throws WaoException;
+
+ List<TerrestrialLocation> getAllRegionIfremers() throws WaoException;
+
+ ImportResults importContactStateMotives(InputStream input) throws WaoException;
+
+ List<ReferentialState> getReferentialStates(ObsProgram obsProgram) throws WaoException;
+
+ void updateReferentialMeta(String entityClassFqn) throws WaoException;
+
+} //ServiceReferential
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialAbstract.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialAbstract.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialAbstract.java 2012-06-04 16:25:02 UTC (rev 1615)
@@ -0,0 +1,371 @@
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.bean.ContactState;
+import fr.ifremer.wao.bean.ObsProgram;
+import fr.ifremer.wao.bean.ReferentialState;
+import fr.ifremer.wao.bean.SamplingFilter;
+import fr.ifremer.wao.entity.ContactStateMotif;
+import fr.ifremer.wao.entity.FishingZone;
+import fr.ifremer.wao.entity.TerrestrialDivision;
+import fr.ifremer.wao.entity.TerrestrialLocation;
+import fr.ifremer.wao.io.ImportResults;
+import java.io.InputStream;
+import java.util.List;
+import org.nuiton.i18n.I18n;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+
+public abstract class ServiceReferentialAbstract implements ServiceReferential {
+
+ protected abstract TopiaContext beginTransaction() throws TopiaException;
+
+ protected void commitTransaction(TopiaContext transaction) throws TopiaException {
+ transaction.commitTransaction();
+}
+
+ protected abstract void closeTransaction(TopiaContext transaction) throws TopiaException;
+
+ protected abstract void treateError(TopiaContext transaction, Exception eee, String message, Object... args) throws WaoException;
+
+ protected void treateError(Exception eee, String message, Object... args) throws WaoException {
+ treateError(null, eee, message, args);
+ }
+
+ protected abstract List<FishingZone> executeGetFishingZones(TopiaContext transaction) throws Exception;
+
+ protected abstract int executeImportFishingZoneCsv(TopiaContext transaction, InputStream input) throws Exception;
+
+ protected abstract ImportResults executeImportTerrestrialLocations(TopiaContext transaction, InputStream input) throws Exception;
+
+ protected abstract List<TerrestrialLocation> executeGetAllTerrestrialDistricts(TopiaContext transaction, SamplingFilter filter) throws Exception;
+
+ protected abstract List<TerrestrialLocation> executeGetAllPortsAndAuctions(TopiaContext transaction, TerrestrialLocation district) throws Exception;
+
+ protected abstract TerrestrialLocation executeGetTerrestrialDistrict(TopiaContext transaction, String districtCode) throws Exception;
+
+ protected abstract List<ContactStateMotif> executeGetAllContactStateMotifs(TopiaContext transaction, ContactState contactState) throws Exception;
+
+ protected abstract ImportResults executeImportTerrestrialDivisions(TopiaContext transaction, InputStream input) throws Exception;
+
+ protected abstract List<TerrestrialDivision> executeGetAllObservationUnits(TopiaContext transaction) throws Exception;
+
+ protected abstract List<TerrestrialLocation> executeGetAllPorts(TopiaContext transaction, TerrestrialLocation region) throws Exception;
+
+ protected abstract void executeInitialImport(TopiaContext transaction) throws Exception;
+
+ protected abstract ImportResults executeImportObsDebCodes(TopiaContext transaction, InputStream input) throws Exception;
+
+ protected abstract List<TerrestrialLocation> executeGetAllRegionIfremers(TopiaContext transaction) throws Exception;
+
+ protected abstract ImportResults executeImportContactStateMotives(TopiaContext transaction, InputStream input) throws Exception;
+
+ protected abstract List<ReferentialState> executeGetReferentialStates(TopiaContext transaction, ObsProgram obsProgram) throws Exception;
+
+ protected abstract void executeUpdateReferentialMeta(TopiaContext transaction, String entityClassFqn) throws Exception;
+
+ @Override
+ public List<FishingZone> getFishingZones() throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<FishingZone> result = executeGetFishingZones(transaction);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceReferential.getFishingZones"));
+ }
+ return null;
+ }
+
+ @Override
+ public int importFishingZoneCsv(InputStream input) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ int result = executeImportFishingZoneCsv(transaction, input);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceReferential.importFishingZoneCsv"));
+ }
+ return 0;
+ }
+
+ @Override
+ public ImportResults importTerrestrialLocations(InputStream input) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ ImportResults result = executeImportTerrestrialLocations(transaction, input);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceReferential.importTerrestrialLocations"));
+ }
+ return null;
+ }
+
+ @Override
+ public List<TerrestrialLocation> getAllTerrestrialDistricts(SamplingFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<TerrestrialLocation> result = executeGetAllTerrestrialDistricts(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceReferential.getAllTerrestrialDistricts"));
+ }
+ return null;
+ }
+
+ @Override
+ public List<TerrestrialLocation> getAllPortsAndAuctions(TerrestrialLocation district) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<TerrestrialLocation> result = executeGetAllPortsAndAuctions(transaction, district);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceReferential.getAllPortsAndAuctions"));
+ }
+ return null;
+ }
+
+ @Override
+ public TerrestrialLocation getTerrestrialDistrict(String districtCode) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ TerrestrialLocation result = executeGetTerrestrialDistrict(transaction, districtCode);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceReferential.getTerrestrialDistrict"));
+ }
+ return null;
+ }
+
+ @Override
+ public List<ContactStateMotif> getAllContactStateMotifs(ContactState contactState) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<ContactStateMotif> result = executeGetAllContactStateMotifs(transaction, contactState);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceReferential.getAllContactStateMotifs"));
+ }
+ return null;
+ }
+
+ @Override
+ public ImportResults importTerrestrialDivisions(InputStream input) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ ImportResults result = executeImportTerrestrialDivisions(transaction, input);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceReferential.importTerrestrialDivisions"));
+ }
+ return null;
+ }
+
+ @Override
+ public List<TerrestrialDivision> getAllObservationUnits() throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<TerrestrialDivision> result = executeGetAllObservationUnits(transaction);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceReferential.getAllObservationUnits"));
+ }
+ return null;
+ }
+
+ @Override
+ public List<TerrestrialLocation> getAllPorts(TerrestrialLocation region) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<TerrestrialLocation> result = executeGetAllPorts(transaction, region);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceReferential.getAllPorts"));
+ }
+ return null;
+ }
+
+ @Override
+ public void initialImport() throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeInitialImport(transaction);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceReferential.initialImport"));
+ }
+
+ }
+
+ @Override
+ public ImportResults importObsDebCodes(InputStream input) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ ImportResults result = executeImportObsDebCodes(transaction, input);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceReferential.importObsDebCodes"));
+ }
+ return null;
+ }
+
+ @Override
+ public List<TerrestrialLocation> getAllRegionIfremers() throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<TerrestrialLocation> result = executeGetAllRegionIfremers(transaction);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceReferential.getAllRegionIfremers"));
+ }
+ return null;
+ }
+
+ @Override
+ public ImportResults importContactStateMotives(InputStream input) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ ImportResults result = executeImportContactStateMotives(transaction, input);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceReferential.importContactStateMotives"));
+ }
+ return null;
+ }
+
+ @Override
+ public List<ReferentialState> getReferentialStates(ObsProgram obsProgram) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<ReferentialState> result = executeGetReferentialStates(transaction, obsProgram);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceReferential.getReferentialStates"));
+ }
+ return null;
+ }
+
+ @Override
+ public void updateReferentialMeta(String entityClassFqn) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeUpdateReferentialMeta(transaction, entityClassFqn);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceReferential.updateReferentialMeta"));
+ }
+
+ }
+
+} //ServiceReferentialAbstract
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSampling.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSampling.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSampling.java 2012-06-04 16:25:02 UTC (rev 1615)
@@ -0,0 +1,76 @@
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.bean.FacadeRow;
+import fr.ifremer.wao.bean.ObservationType;
+import fr.ifremer.wao.bean.SamplingFilter;
+import fr.ifremer.wao.bean.SamplingFilterValues;
+import fr.ifremer.wao.bean.ValidationResult;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.FishingGearDCF;
+import fr.ifremer.wao.entity.Profession;
+import fr.ifremer.wao.entity.SampleMonth;
+import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.entity.SampleRowLog;
+import fr.ifremer.wao.entity.TargetSpeciesDCF;
+import fr.ifremer.wao.io.ImportResults;
+import java.io.InputStream;
+import java.util.Date;
+import java.util.List;
+import org.apache.commons.lang3.tuple.Pair;
+import org.nuiton.util.PeriodDates;
+
+public interface ServiceSampling {
+
+ FacadeRow getSampleRowsOrderedByFishingZone(SamplingFilter filter) throws WaoException;
+
+ SampleRow getSampleRow(String sampleRowId) throws WaoException;
+
+ ImportResults importSamplingPlanCsv(InputStream input, ConnectedUser connectedUser) throws WaoException, WaoBusinessException;
+
+ void createUpdateSampleRow(SampleRow sampleRow, List<Boat> boats, SampleRowLog rowLog, ConnectedUser connectedUser) throws WaoException;
+
+ SampleRow newSampleRow(ConnectedUser connectedUser) throws WaoException;
+
+ SampleMonth getNewSampleMonth(Date period, SampleRow row) throws WaoException;
+
+ List<SampleRow> getSampleRowsByFilter(SamplingFilter filter) throws WaoException;
+
+ void deleteSampleRow(SampleRow sampleRow) throws WaoException, WaoBusinessException;
+
+ Profession getNewProfession(Profession profession) throws WaoException;
+
+ List<String> getPrograms(Company company) throws WaoException;
+
+ InputStream exportSamplingPlanCsv(ConnectedUser user, SamplingFilter filter) throws WaoException;
+
+ SampleRow getSampleRowByCode(ConnectedUser user, String rowCode) throws WaoException, WaoBusinessException;
+
+ void createSampleRowLog(SampleRowLog rowLog) throws WaoException, WaoBusinessException;
+
+ SampleRowLog getNewSampleRowLog(SampleRow row, ConnectedUser user) throws WaoException;
+
+ List<FishingGearDCF> getDCFGears(SamplingFilter filter) throws WaoException;
+
+ List<TargetSpeciesDCF> getDCFSpecies(SamplingFilter filter) throws WaoException;
+
+ int countSampleRows(SamplingFilter filter) throws WaoException;
+
+ SamplingFilterValues getPossibleValuesForFilter(SamplingFilter filter) throws WaoException;
+
+ SamplingFilter newSamplingFilter(ConnectedUser connectedUser) throws WaoException;
+
+ ValidationResult validateSampleRow(SampleRow sampleRow) throws WaoException;
+
+ InputStream exportSamplingPlanICalendar(ConnectedUser connectedUser) throws WaoException;
+
+ List<SampleRow> getSampleRowsForEligibility(ConnectedUser connectedUser) throws WaoException;
+
+ SampleRow newSampleRow(ConnectedUser connectedUser, ObservationType observationType) throws WaoException;
+
+ Pair<Double, Long> getObservationTimesInDays(SampleRow sampleRow, boolean estimatedTides, PeriodDates period) throws WaoException;
+
+} //ServiceSampling
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingAbstract.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingAbstract.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingAbstract.java 2012-06-04 16:25:02 UTC (rev 1615)
@@ -0,0 +1,547 @@
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.bean.FacadeRow;
+import fr.ifremer.wao.bean.ObservationType;
+import fr.ifremer.wao.bean.SamplingFilter;
+import fr.ifremer.wao.bean.SamplingFilterValues;
+import fr.ifremer.wao.bean.ValidationResult;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.FishingGearDCF;
+import fr.ifremer.wao.entity.Profession;
+import fr.ifremer.wao.entity.SampleMonth;
+import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.entity.SampleRowLog;
+import fr.ifremer.wao.entity.TargetSpeciesDCF;
+import fr.ifremer.wao.io.ImportResults;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import org.apache.commons.lang3.tuple.Pair;
+import org.nuiton.i18n.I18n;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.util.PeriodDates;
+
+public abstract class ServiceSamplingAbstract implements ServiceSampling {
+
+ protected abstract TopiaContext beginTransaction() throws TopiaException;
+
+ protected void commitTransaction(TopiaContext transaction) throws TopiaException {
+ transaction.commitTransaction();
+}
+
+ protected abstract void closeTransaction(TopiaContext transaction) throws TopiaException;
+
+ protected abstract void treateError(TopiaContext transaction, Exception eee, String message, Object... args) throws WaoException;
+
+ protected void treateError(Exception eee, String message, Object... args) throws WaoException {
+ treateError(null, eee, message, args);
+ }
+
+ protected abstract FacadeRow executeGetSampleRowsOrderedByFishingZone(TopiaContext transaction, SamplingFilter filter) throws Exception;
+
+ protected abstract SampleRow executeGetSampleRow(TopiaContext transaction, List<Object> errorArgs, String sampleRowId) throws Exception;
+
+ protected abstract ImportResults executeImportSamplingPlanCsv(TopiaContext transaction, List<Object> errorArgs, InputStream input, ConnectedUser connectedUser) throws Exception;
+
+ protected abstract void executeCreateUpdateSampleRow(TopiaContext transaction, SampleRow sampleRow, List<Boat> boats, SampleRowLog rowLog, ConnectedUser connectedUser) throws Exception;
+
+ protected abstract SampleRow executeNewSampleRow(TopiaContext transaction, ConnectedUser connectedUser) throws Exception;
+
+ protected abstract SampleMonth executeGetNewSampleMonth(Date period, SampleRow row) throws Exception;
+
+ protected abstract List<SampleRow> executeGetSampleRowsByFilter(TopiaContext transaction, SamplingFilter filter) throws Exception;
+
+ protected abstract void executeDeleteSampleRow(TopiaContext transaction, List<Object> errorArgs, SampleRow sampleRow) throws Exception;
+
+ protected abstract Profession executeGetNewProfession(Profession profession) throws Exception;
+
+ protected abstract List<String> executeGetPrograms(TopiaContext transaction, Company company) throws Exception;
+
+ protected abstract InputStream executeExportSamplingPlanCsv(TopiaContext transaction, List<Object> errorArgs, ConnectedUser user, SamplingFilter filter) throws Exception;
+
+ protected abstract SampleRow executeGetSampleRowByCode(TopiaContext transaction, List<Object> errorArgs, ConnectedUser user, String rowCode) throws Exception;
+
+ protected abstract void executeCreateSampleRowLog(TopiaContext transaction, SampleRowLog rowLog) throws Exception;
+
+ protected abstract SampleRowLog executeGetNewSampleRowLog(SampleRow row, ConnectedUser user) throws Exception;
+
+ protected abstract List<FishingGearDCF> executeGetDCFGears(TopiaContext transaction, SamplingFilter filter) throws Exception;
+
+ protected abstract List<TargetSpeciesDCF> executeGetDCFSpecies(TopiaContext transaction, SamplingFilter filter) throws Exception;
+
+ protected abstract int executeCountSampleRows(TopiaContext transaction, SamplingFilter filter) throws Exception;
+
+ protected abstract SamplingFilterValues executeGetPossibleValuesForFilter(TopiaContext transaction, SamplingFilter filter) throws Exception;
+
+ protected abstract SamplingFilter executeNewSamplingFilter(TopiaContext transaction, ConnectedUser connectedUser) throws Exception;
+
+ protected abstract ValidationResult executeValidateSampleRow(TopiaContext transaction, SampleRow sampleRow) throws Exception;
+
+ protected abstract InputStream executeExportSamplingPlanICalendar(TopiaContext transaction, ConnectedUser connectedUser) throws Exception;
+
+ protected abstract List<SampleRow> executeGetSampleRowsForEligibility(TopiaContext transaction, ConnectedUser connectedUser) throws Exception;
+
+ protected abstract SampleRow executeNewSampleRow(TopiaContext transaction, ConnectedUser connectedUser, ObservationType observationType) throws Exception;
+
+ protected abstract Pair<Double, Long> executeGetObservationTimesInDays(TopiaContext transaction, SampleRow sampleRow, boolean estimatedTides, PeriodDates period) throws Exception;
+
+ @Override
+ public FacadeRow getSampleRowsOrderedByFishingZone(SamplingFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ FacadeRow result = executeGetSampleRowsOrderedByFishingZone(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.getSampleRowsOrderedByFishingZone"));
+ }
+ return null;
+ }
+
+ @Override
+ public SampleRow getSampleRow(String sampleRowId) throws WaoException {
+ List<Object> errorArgs = new ArrayList<Object>();
+
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ SampleRow result = executeGetSampleRow(transaction, errorArgs, sampleRowId);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.getSampleRow"), errorArgs.toArray());
+ }
+ return null;
+ }
+
+ @Override
+ public ImportResults importSamplingPlanCsv(InputStream input, ConnectedUser connectedUser) throws WaoException, WaoBusinessException {
+ List<Object> errorArgs = new ArrayList<Object>();
+
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ ImportResults result = executeImportSamplingPlanCsv(transaction, errorArgs, input, connectedUser);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (WaoBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.importSamplingPlanCsv"), errorArgs.toArray());
+ }
+ return null;
+ }
+
+ @Override
+ public void createUpdateSampleRow(SampleRow sampleRow, List<Boat> boats, SampleRowLog rowLog, ConnectedUser connectedUser) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeCreateUpdateSampleRow(transaction, sampleRow, boats, rowLog, connectedUser);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.createUpdateSampleRow"));
+ }
+
+ }
+
+ @Override
+ public SampleRow newSampleRow(ConnectedUser connectedUser) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ SampleRow result = executeNewSampleRow(transaction, connectedUser);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.newSampleRow"));
+ }
+ return null;
+ }
+
+ @Override
+ public SampleMonth getNewSampleMonth(Date period, SampleRow row) throws WaoException {
+ try {
+
+ SampleMonth result = executeGetNewSampleMonth(period, row);
+ return result;
+ } catch (Exception eee) {
+ treateError(eee, I18n.n_("wao.error.serviceSampling.getNewSampleMonth"));
+ }
+ return null;
+ }
+
+ @Override
+ public List<SampleRow> getSampleRowsByFilter(SamplingFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<SampleRow> result = executeGetSampleRowsByFilter(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.getSampleRowsByFilter"));
+ }
+ return null;
+ }
+
+ @Override
+ public void deleteSampleRow(SampleRow sampleRow) throws WaoException, WaoBusinessException {
+ List<Object> errorArgs = new ArrayList<Object>();
+
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeDeleteSampleRow(transaction, errorArgs, sampleRow);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (WaoBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.deleteSampleRow"), errorArgs.toArray());
+ }
+
+ }
+
+ @Override
+ public Profession getNewProfession(Profession profession) throws WaoException {
+ try {
+
+ Profession result = executeGetNewProfession(profession);
+ return result;
+ } catch (Exception eee) {
+ treateError(eee, I18n.n_("wao.error.serviceSampling.getNewProfession"));
+ }
+ return null;
+ }
+
+ @Override
+ public List<String> getPrograms(Company company) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<String> result = executeGetPrograms(transaction, company);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.getPrograms"));
+ }
+ return null;
+ }
+
+ @Override
+ public InputStream exportSamplingPlanCsv(ConnectedUser user, SamplingFilter filter) throws WaoException {
+ List<Object> errorArgs = new ArrayList<Object>();
+
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ InputStream result = executeExportSamplingPlanCsv(transaction, errorArgs, user, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.exportSamplingPlanCsv"), errorArgs.toArray());
+ }
+ return null;
+ }
+
+ @Override
+ public SampleRow getSampleRowByCode(ConnectedUser user, String rowCode) throws WaoException, WaoBusinessException {
+ List<Object> errorArgs = new ArrayList<Object>();
+
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ SampleRow result = executeGetSampleRowByCode(transaction, errorArgs, user, rowCode);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (WaoBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.getSampleRowByCode"), errorArgs.toArray());
+ }
+ return null;
+ }
+
+ @Override
+ public void createSampleRowLog(SampleRowLog rowLog) throws WaoException, WaoBusinessException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeCreateSampleRowLog(transaction, rowLog);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (WaoBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.createSampleRowLog"));
+ }
+
+ }
+
+ @Override
+ public SampleRowLog getNewSampleRowLog(SampleRow row, ConnectedUser user) throws WaoException {
+ try {
+
+ SampleRowLog result = executeGetNewSampleRowLog(row, user);
+ return result;
+ } catch (Exception eee) {
+ treateError(eee, I18n.n_("wao.error.serviceSampling.getNewSampleRowLog"));
+ }
+ return null;
+ }
+
+ @Override
+ public List<FishingGearDCF> getDCFGears(SamplingFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<FishingGearDCF> result = executeGetDCFGears(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.getDCFGears"));
+ }
+ return null;
+ }
+
+ @Override
+ public List<TargetSpeciesDCF> getDCFSpecies(SamplingFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<TargetSpeciesDCF> result = executeGetDCFSpecies(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.getDCFSpecies"));
+ }
+ return null;
+ }
+
+ @Override
+ public int countSampleRows(SamplingFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ int result = executeCountSampleRows(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.countSampleRows"));
+ }
+ return 0;
+ }
+
+ @Override
+ public SamplingFilterValues getPossibleValuesForFilter(SamplingFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ SamplingFilterValues result = executeGetPossibleValuesForFilter(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.getPossibleValuesForFilter"));
+ }
+ return null;
+ }
+
+ @Override
+ public SamplingFilter newSamplingFilter(ConnectedUser connectedUser) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ SamplingFilter result = executeNewSamplingFilter(transaction, connectedUser);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.newSamplingFilter"));
+ }
+ return null;
+ }
+
+ @Override
+ public ValidationResult validateSampleRow(SampleRow sampleRow) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ ValidationResult result = executeValidateSampleRow(transaction, sampleRow);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.validateSampleRow"));
+ }
+ return null;
+ }
+
+ @Override
+ public InputStream exportSamplingPlanICalendar(ConnectedUser connectedUser) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ InputStream result = executeExportSamplingPlanICalendar(transaction, connectedUser);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.exportSamplingPlanICalendar"));
+ }
+ return null;
+ }
+
+ @Override
+ public List<SampleRow> getSampleRowsForEligibility(ConnectedUser connectedUser) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<SampleRow> result = executeGetSampleRowsForEligibility(transaction, connectedUser);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.getSampleRowsForEligibility"));
+ }
+ return null;
+ }
+
+ @Override
+ public SampleRow newSampleRow(ConnectedUser connectedUser, ObservationType observationType) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ SampleRow result = executeNewSampleRow(transaction, connectedUser, observationType);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.newSampleRow"));
+ }
+ return null;
+ }
+
+ @Override
+ public Pair<Double, Long> getObservationTimesInDays(SampleRow sampleRow, boolean estimatedTides, PeriodDates period) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Pair<Double, Long> result = executeGetObservationTimesInDays(transaction, sampleRow, estimatedTides, period);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSampling.getObservationTimesInDays"));
+ }
+ return null;
+ }
+
+} //ServiceSamplingAbstract
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesis.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesis.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesis.java 2012-06-04 16:25:02 UTC (rev 1615)
@@ -0,0 +1,50 @@
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.bean.BoardingResult;
+import fr.ifremer.wao.bean.ContactAverageReactivity;
+import fr.ifremer.wao.bean.ContactFilter;
+import fr.ifremer.wao.bean.ContactStateStatistics;
+import fr.ifremer.wao.bean.GlobalSynthesisParameters;
+import fr.ifremer.wao.bean.GlobalSynthesisResult;
+import fr.ifremer.wao.bean.PieChartData;
+import fr.ifremer.wao.entity.IndicatorLog;
+import fr.ifremer.wao.entity.WaoUser;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.SortedMap;
+import org.apache.commons.lang3.tuple.Pair;
+
+public interface ServiceSynthesis {
+
+ Pair<SortedMap<Date, Integer>, SortedMap<Date, Integer>> getDataSampling(ContactFilter filter) throws WaoException;
+
+ BoardingResult getBoardingBoats(ContactFilter filter) throws WaoException;
+
+ Map<String, Double> getComplianceBoardingIndicator(ContactFilter filter) throws WaoException;
+
+ Collection<ContactStateStatistics> getContactStateStatistics(ContactFilter filter) throws WaoException;
+
+ Collection<ContactAverageReactivity> getContactDataInputDateReactivity(ContactFilter filter) throws WaoException;
+
+ Map<String, Double> getDataReliability(ContactFilter filter) throws WaoException;
+
+ GlobalSynthesisResult getGlobalSynthesisResult(ContactFilter filter) throws WaoException;
+
+ GlobalSynthesisParameters getGlobalSynthesisParameters() throws WaoException;
+
+ void updateGlobalSynthesisParameters(GlobalSynthesisParameters parameters, WaoUser author, String comment) throws WaoException;
+
+ List<IndicatorLog> getAllIndicatorLogs() throws WaoException;
+
+ Map<String, PieChartData> getContactPieChartDataByBoatDistrict(ContactFilter filter) throws WaoException;
+
+ Map<String, PieChartData> getContactStateMotifsPieChartDataByBoatDistrict(ContactFilter filter) throws WaoException;
+
+ Map<String, Map<String, Integer>> getObservationHours(ContactFilter filter) throws WaoException;
+
+ Map<String, Map<String, Integer>> getDistinctBoatsCounts(ContactFilter filter) throws WaoException;
+
+} //ServiceSynthesis
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisAbstract.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisAbstract.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisAbstract.java 2012-06-04 16:25:02 UTC (rev 1615)
@@ -0,0 +1,333 @@
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.bean.BoardingResult;
+import fr.ifremer.wao.bean.ContactAverageReactivity;
+import fr.ifremer.wao.bean.ContactFilter;
+import fr.ifremer.wao.bean.ContactStateStatistics;
+import fr.ifremer.wao.bean.GlobalSynthesisParameters;
+import fr.ifremer.wao.bean.GlobalSynthesisResult;
+import fr.ifremer.wao.bean.PieChartData;
+import fr.ifremer.wao.entity.IndicatorLog;
+import fr.ifremer.wao.entity.WaoUser;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.SortedMap;
+import org.apache.commons.lang3.tuple.Pair;
+import org.nuiton.i18n.I18n;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+
+public abstract class ServiceSynthesisAbstract implements ServiceSynthesis {
+
+ protected abstract TopiaContext beginTransaction() throws TopiaException;
+
+ protected void commitTransaction(TopiaContext transaction) throws TopiaException {
+ transaction.commitTransaction();
+}
+
+ protected abstract void closeTransaction(TopiaContext transaction) throws TopiaException;
+
+ protected abstract void treateError(TopiaContext transaction, Exception eee, String message, Object... args) throws WaoException;
+
+ protected void treateError(Exception eee, String message, Object... args) throws WaoException {
+ treateError(null, eee, message, args);
+ }
+
+ protected abstract Pair<SortedMap<Date, Integer>, SortedMap<Date, Integer>> executeGetDataSampling(TopiaContext transaction, ContactFilter filter) throws Exception;
+
+ protected abstract BoardingResult executeGetBoardingBoats(TopiaContext transaction, ContactFilter filter) throws Exception;
+
+ protected abstract Map<String, Double> executeGetComplianceBoardingIndicator(TopiaContext transaction, ContactFilter filter) throws Exception;
+
+ protected abstract Collection<ContactStateStatistics> executeGetContactStateStatistics(TopiaContext transaction, ContactFilter filter) throws Exception;
+
+ protected abstract Collection<ContactAverageReactivity> executeGetContactDataInputDateReactivity(TopiaContext transaction, ContactFilter filter) throws Exception;
+
+ protected abstract Map<String, Double> executeGetDataReliability(TopiaContext transaction, ContactFilter filter) throws Exception;
+
+ protected abstract GlobalSynthesisResult executeGetGlobalSynthesisResult(TopiaContext transaction, ContactFilter filter) throws Exception;
+
+ protected abstract GlobalSynthesisParameters executeGetGlobalSynthesisParameters(TopiaContext transaction) throws Exception;
+
+ protected abstract void executeUpdateGlobalSynthesisParameters(TopiaContext transaction, GlobalSynthesisParameters parameters, WaoUser author, String comment) throws Exception;
+
+ protected abstract List<IndicatorLog> executeGetAllIndicatorLogs(TopiaContext transaction) throws Exception;
+
+ protected abstract Map<String, PieChartData> executeGetContactPieChartDataByBoatDistrict(TopiaContext transaction, ContactFilter filter) throws Exception;
+
+ protected abstract Map<String, PieChartData> executeGetContactStateMotifsPieChartDataByBoatDistrict(TopiaContext transaction, ContactFilter filter) throws Exception;
+
+ protected abstract Map<String, Map<String, Integer>> executeGetObservationHours(TopiaContext transaction, ContactFilter filter) throws Exception;
+
+ protected abstract Map<String, Map<String, Integer>> executeGetDistinctBoatsCounts(TopiaContext transaction, ContactFilter filter) throws Exception;
+
+ @Override
+ public Pair<SortedMap<Date, Integer>, SortedMap<Date, Integer>> getDataSampling(ContactFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Pair<SortedMap<Date, Integer>, SortedMap<Date, Integer>> result = executeGetDataSampling(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSynthesis.getDataSampling"));
+ }
+ return null;
+ }
+
+ @Override
+ public BoardingResult getBoardingBoats(ContactFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ BoardingResult result = executeGetBoardingBoats(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSynthesis.getBoardingBoats"));
+ }
+ return null;
+ }
+
+ @Override
+ public Map<String, Double> getComplianceBoardingIndicator(ContactFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Map<String, Double> result = executeGetComplianceBoardingIndicator(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSynthesis.getComplianceBoardingIndicator"));
+ }
+ return null;
+ }
+
+ @Override
+ public Collection<ContactStateStatistics> getContactStateStatistics(ContactFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Collection<ContactStateStatistics> result = executeGetContactStateStatistics(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSynthesis.getContactStateStatistics"));
+ }
+ return null;
+ }
+
+ @Override
+ public Collection<ContactAverageReactivity> getContactDataInputDateReactivity(ContactFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Collection<ContactAverageReactivity> result = executeGetContactDataInputDateReactivity(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSynthesis.getContactDataInputDateReactivity"));
+ }
+ return null;
+ }
+
+ @Override
+ public Map<String, Double> getDataReliability(ContactFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Map<String, Double> result = executeGetDataReliability(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSynthesis.getDataReliability"));
+ }
+ return null;
+ }
+
+ @Override
+ public GlobalSynthesisResult getGlobalSynthesisResult(ContactFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ GlobalSynthesisResult result = executeGetGlobalSynthesisResult(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSynthesis.getGlobalSynthesisResult"));
+ }
+ return null;
+ }
+
+ @Override
+ public GlobalSynthesisParameters getGlobalSynthesisParameters() throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ GlobalSynthesisParameters result = executeGetGlobalSynthesisParameters(transaction);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSynthesis.getGlobalSynthesisParameters"));
+ }
+ return null;
+ }
+
+ @Override
+ public void updateGlobalSynthesisParameters(GlobalSynthesisParameters parameters, WaoUser author, String comment) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeUpdateGlobalSynthesisParameters(transaction, parameters, author, comment);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSynthesis.updateGlobalSynthesisParameters"));
+ }
+
+ }
+
+ @Override
+ public List<IndicatorLog> getAllIndicatorLogs() throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<IndicatorLog> result = executeGetAllIndicatorLogs(transaction);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSynthesis.getAllIndicatorLogs"));
+ }
+ return null;
+ }
+
+ @Override
+ public Map<String, PieChartData> getContactPieChartDataByBoatDistrict(ContactFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Map<String, PieChartData> result = executeGetContactPieChartDataByBoatDistrict(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSynthesis.getContactPieChartDataByBoatDistrict"));
+ }
+ return null;
+ }
+
+ @Override
+ public Map<String, PieChartData> getContactStateMotifsPieChartDataByBoatDistrict(ContactFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Map<String, PieChartData> result = executeGetContactStateMotifsPieChartDataByBoatDistrict(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSynthesis.getContactStateMotifsPieChartDataByBoatDistrict"));
+ }
+ return null;
+ }
+
+ @Override
+ public Map<String, Map<String, Integer>> getObservationHours(ContactFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Map<String, Map<String, Integer>> result = executeGetObservationHours(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSynthesis.getObservationHours"));
+ }
+ return null;
+ }
+
+ @Override
+ public Map<String, Map<String, Integer>> getDistinctBoatsCounts(ContactFilter filter) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Map<String, Map<String, Integer>> result = executeGetDistinctBoatsCounts(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceSynthesis.getDistinctBoatsCounts"));
+ }
+ return null;
+ }
+
+} //ServiceSynthesisAbstract
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUser.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUser.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUser.java 2012-06-04 16:25:02 UTC (rev 1615)
@@ -0,0 +1,42 @@
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.WaoUser;
+import java.util.List;
+
+public interface ServiceUser {
+
+ ConnectedUser connect(String login, String password) throws WaoException, WaoBusinessException;
+
+ void createUpdateUser(WaoUser user, boolean generatePassword) throws WaoException, WaoBusinessException;
+
+ void createUpdateCompany(Company company) throws WaoException;
+
+ List<Company> getCompanies(boolean activeOnly) throws WaoException;
+
+ void forgetPassword(String login) throws WaoException, WaoBusinessException;
+
+ List<WaoUser> getObservers(Company company, boolean activeOnly) throws WaoException;
+
+ void deleteUser(WaoUser user) throws WaoException, WaoBusinessException;
+
+ List<WaoUser> getUsersByCompany(Company company) throws WaoException;
+
+ WaoUser getNewUser(Company company) throws WaoException;
+
+ void createDefaultAdmin() throws WaoException;
+
+ Company getCompany(String companyId) throws WaoException;
+
+ void deleteCompany(Company company) throws WaoException, WaoBusinessException;
+
+ ConnectedUser getConnectedUserByToken(String tokenId) throws WaoException;
+
+ void addTokensToAllProfiles() throws WaoException;
+
+ void acceptCgu(ConnectedUser connectedUser) throws WaoException;
+
+} //ServiceUser
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserAbstract.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserAbstract.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserAbstract.java 2012-06-04 16:25:02 UTC (rev 1615)
@@ -0,0 +1,350 @@
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.WaoUser;
+import java.util.ArrayList;
+import java.util.List;
+import org.nuiton.i18n.I18n;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+
+public abstract class ServiceUserAbstract implements ServiceUser {
+
+ protected abstract TopiaContext beginTransaction() throws TopiaException;
+
+ protected void commitTransaction(TopiaContext transaction) throws TopiaException {
+ transaction.commitTransaction();
+}
+
+ protected abstract void closeTransaction(TopiaContext transaction) throws TopiaException;
+
+ protected abstract void treateError(TopiaContext transaction, Exception eee, String message, Object... args) throws WaoException;
+
+ protected void treateError(Exception eee, String message, Object... args) throws WaoException {
+ treateError(null, eee, message, args);
+ }
+
+ protected abstract ConnectedUser executeConnect(TopiaContext transaction, String login, String password) throws Exception;
+
+ protected abstract void executeCreateUpdateUser(TopiaContext transaction, WaoUser user, boolean generatePassword) throws Exception;
+
+ protected abstract void executeCreateUpdateCompany(TopiaContext transaction, Company company) throws Exception;
+
+ protected abstract List<Company> executeGetCompanies(TopiaContext transaction, boolean activeOnly) throws Exception;
+
+ protected abstract void executeForgetPassword(TopiaContext transaction, String login) throws Exception;
+
+ protected abstract List<WaoUser> executeGetObservers(TopiaContext transaction, Company company, boolean activeOnly) throws Exception;
+
+ protected abstract void executeDeleteUser(TopiaContext transaction, WaoUser user) throws Exception;
+
+ protected abstract List<WaoUser> executeGetUsersByCompany(TopiaContext transaction, List<Object> errorArgs, Company company) throws Exception;
+
+ protected abstract WaoUser executeGetNewUser(Company company) throws Exception;
+
+ protected abstract void executeCreateDefaultAdmin(TopiaContext transaction) throws Exception;
+
+ protected abstract Company executeGetCompany(TopiaContext transaction, String companyId) throws Exception;
+
+ protected abstract void executeDeleteCompany(TopiaContext transaction, Company company) throws Exception;
+
+ protected abstract ConnectedUser executeGetConnectedUserByToken(TopiaContext transaction, String tokenId) throws Exception;
+
+ protected abstract void executeAddTokensToAllProfiles(TopiaContext transaction) throws Exception;
+
+ protected abstract void executeAcceptCgu(TopiaContext transaction, ConnectedUser connectedUser) throws Exception;
+
+ @Override
+ public ConnectedUser connect(String login, String password) throws WaoException, WaoBusinessException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ ConnectedUser result = executeConnect(transaction, login, password);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (WaoBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceUser.connect"));
+ }
+ return null;
+ }
+
+ @Override
+ public void createUpdateUser(WaoUser user, boolean generatePassword) throws WaoException, WaoBusinessException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeCreateUpdateUser(transaction, user, generatePassword);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (WaoBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceUser.createUpdateUser"));
+ }
+
+ }
+
+ @Override
+ public void createUpdateCompany(Company company) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeCreateUpdateCompany(transaction, company);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceUser.createUpdateCompany"));
+ }
+
+ }
+
+ @Override
+ public List<Company> getCompanies(boolean activeOnly) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<Company> result = executeGetCompanies(transaction, activeOnly);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceUser.getCompanies"));
+ }
+ return null;
+ }
+
+ @Override
+ public void forgetPassword(String login) throws WaoException, WaoBusinessException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeForgetPassword(transaction, login);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (WaoBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceUser.forgetPassword"));
+ }
+
+ }
+
+ @Override
+ public List<WaoUser> getObservers(Company company, boolean activeOnly) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<WaoUser> result = executeGetObservers(transaction, company, activeOnly);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceUser.getObservers"));
+ }
+ return null;
+ }
+
+ @Override
+ public void deleteUser(WaoUser user) throws WaoException, WaoBusinessException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeDeleteUser(transaction, user);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (WaoBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceUser.deleteUser"));
+ }
+
+ }
+
+ @Override
+ public List<WaoUser> getUsersByCompany(Company company) throws WaoException {
+ List<Object> errorArgs = new ArrayList<Object>();
+
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<WaoUser> result = executeGetUsersByCompany(transaction, errorArgs, company);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceUser.getUsersByCompany"), errorArgs.toArray());
+ }
+ return null;
+ }
+
+ @Override
+ public WaoUser getNewUser(Company company) throws WaoException {
+ try {
+
+ WaoUser result = executeGetNewUser(company);
+ return result;
+ } catch (Exception eee) {
+ treateError(eee, I18n.n_("wao.error.serviceUser.getNewUser"));
+ }
+ return null;
+ }
+
+ @Override
+ public void createDefaultAdmin() throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeCreateDefaultAdmin(transaction);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceUser.createDefaultAdmin"));
+ }
+
+ }
+
+ @Override
+ public Company getCompany(String companyId) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Company result = executeGetCompany(transaction, companyId);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceUser.getCompany"));
+ }
+ return null;
+ }
+
+ @Override
+ public void deleteCompany(Company company) throws WaoException, WaoBusinessException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeDeleteCompany(transaction, company);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (WaoBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceUser.deleteCompany"));
+ }
+
+ }
+
+ @Override
+ public ConnectedUser getConnectedUserByToken(String tokenId) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ ConnectedUser result = executeGetConnectedUserByToken(transaction, tokenId);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceUser.getConnectedUserByToken"));
+ }
+ return null;
+ }
+
+ @Override
+ public void addTokensToAllProfiles() throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeAddTokensToAllProfiles(transaction);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceUser.addTokensToAllProfiles"));
+ }
+
+ }
+
+ @Override
+ public void acceptCgu(ConnectedUser connectedUser) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeAcceptCgu(transaction, connectedUser);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("wao.error.serviceUser.acceptCgu"));
+ }
+
+ }
+
+} //ServiceUserAbstract
1
0