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
- 2352 discussions
[Suiviobsmer-commits] r393 - in trunk: wao-business/src/main/java/fr/ifremer/wao wao-business/src/main/java/fr/ifremer/wao/entity wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity wao-business/src/main/xmi wao-ui/src/main/java/fr/ifremer/wao/ui/components wao-ui/src/main/java/fr/ifremer/wao/ui/pages wao-ui/src/main/resources/fr/ifremer/wao/ui/components wao-ui/src/main/webapp wao-ui/src/main/webapp/css
by fdesbois@users.labs.libre-entreprise.org 26 Mar '10
by fdesbois@users.labs.libre-entreprise.org 26 Mar '10
26 Mar '10
Author: fdesbois
Date: 2010-03-26 18:26:03 +0000 (Fri, 26 Mar 2010)
New Revision: 393
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/SampleRowLogImpl.hbm.xml
trunk/wao-business/src/main/xmi/wao.properties
trunk/wao-business/src/main/xmi/wao.zargo
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/FeedBack.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/Layout.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ExceptionReport.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowHistoric.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/UserProfile.java
trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/Layout.tml
trunk/wao-ui/src/main/webapp/SampleRowForm.tml
trunk/wao-ui/src/main/webapp/SampleRowHistoric.tml
trunk/wao-ui/src/main/webapp/SamplingPlan.tml
trunk/wao-ui/src/main/webapp/css/sampling.css
Log:
- Evo #1960 : Manage comment (sampleRowLog) for coordinator on sampleRow (use sampleRowHistoric page)
- Migration -> change admin column by author from sampleRowLog
- Improve FeedBack and Layout for fatal errors using afterRender
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java 2010-03-26 18:26:03 UTC (rev 393)
@@ -42,4 +42,10 @@
queries.add("ALTER TABLE Contact RENAME state1 TO state;");
}
+ @Override
+ protected void changeSampleRowLogAdminColumn_1_1(List<String> queries) {
+ // Evo #1960 : change column name admin to author for sampleRowLog
+ queries.add("ALTER TABLE SampleRowLog RENAME admin TO author;");
+ }
+
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2010-03-26 18:26:03 UTC (rev 393)
@@ -47,9 +47,11 @@
List<String> queries = new ArrayList<String>();
- createUserRoleColumn_1_1(queries);
+// createUserRoleColumn_1_1(queries);
+//
+// changeContactStateColumn_1_1(queries);
- changeContactStateColumn_1_1(queries);
+ changeSampleRowLogAdminColumn_1_1(queries);
String[] strings = queries.toArray(new String[queries.size()]);
@@ -60,6 +62,9 @@
protected abstract void changeContactStateColumn_1_1(List<String> queries);
+ protected abstract void changeSampleRowLogAdminColumn_1_1(
+ List<String> queries);
+
@Override
public boolean askUser(Version dbVersion,
Version applicationVersion,
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java 2010-03-26 18:26:03 UTC (rev 393)
@@ -23,6 +23,7 @@
import fr.ifremer.wao.WaoContext;
import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoModelDAOHelper;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Calendar;
@@ -31,6 +32,7 @@
import java.util.Iterator;
import java.util.List;
import org.apache.commons.lang.BooleanUtils;
+import org.nuiton.topia.TopiaContext;
import org.nuiton.util.DateUtils;
import org.nuiton.util.PeriodDates;
import org.slf4j.Logger;
@@ -269,4 +271,52 @@
return month != null;
}
+ @Override
+ public SampleRowLog getNewSampleRowLog(WaoUser user) {
+ SampleRowLog rowLog = new SampleRowLogImpl();
+ rowLog.setSampleRow(this);
+ rowLog.setAuthor(user);
+ return rowLog;
+ }
+
+ /**
+ * Save a sampleRowLog to the sampleRow. This log is used to comment the
+ * row. For a comment added by a coordinator, a mail will be sent to the
+ * admin.
+ *
+ * @param rowLog the sampleRowLog to save
+ * @throws WaoException
+ */
+ @Override
+ public void saveSampleRowLog(SampleRowLog rowLog) throws WaoException {
+ TopiaContext transaction = null;
+ try {
+ if (log.isInfoEnabled()) {
+ WaoUser author = rowLog.getAuthor();
+ log.info("W:[ saveSampleRowLog ] : " +
+ "authorName = " + author.getFullName() +
+ " _ authorRole = " + author.getUserRole());
+ }
+
+ transaction = WaoContext.getTopiaRootContext().beginTransaction();
+
+ SampleRowLogDAO logDAO =
+ WaoModelDAOHelper.getSampleRowLogDAO(transaction);
+
+ logDAO.create(rowLog);
+
+ transaction.commitTransaction();
+
+ // Send mail to admin if author is a coordinator :
+ // WaoContext.PROP_EMAIL_FROM
+
+ } catch (Exception eee) {
+ WaoContext.serviceException(transaction,
+ "Impossible d'enregistrer le commentaire écrit par "
+ + rowLog.getAuthor().getFullName(), eee);
+ } finally {
+ WaoContext.closeTransaction(transaction);
+ }
+ }
+
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2010-03-26 18:26:03 UTC (rev 393)
@@ -412,7 +412,8 @@
//transaction.closeContext();
} catch (Exception eee) {
WaoContext.serviceException(transaction,
- "Impossible de charger la ligne d'échantillon ayant pour identifiant : " + sampleRowId,
+ "Impossible de charger la ligne d'échantillon ayant pour" +
+ " identifiant : " + sampleRowId,
eee);
} finally {
WaoContext.closeTransaction(transaction);
@@ -421,6 +422,46 @@
}
@Override
+ public SampleRow getSampleRowByCode(WaoUser user, String sampleRowCode)
+ throws WaoException {
+ TopiaContext transaction = null;
+ SampleRow result = null;
+ try {
+ if (log.isInfoEnabled()) {
+ log.info("W:[ getSampleRowByCode ] : " +
+ "sampleRowCode = " + sampleRowCode);
+ }
+ transaction = rootContext.beginTransaction();
+
+ SampleRowDAO dao = WaoModelDAOHelper.getSampleRowDAO(transaction);
+
+ TopiaQuery query = dao.createQuery().
+ add(SampleRow.CODE, sampleRowCode);
+
+ if (!user.isAdmin()) {
+ query.add(SampleRow.COMPANY, user.getCompany());
+ }
+
+ result = dao.findByQuery(query);
+
+ if (result == null) {
+ throw new WaoBusinessException(Type.NOT_EXISTS,
+ ServiceSampling.class, "La ligne du plan avec " +
+ "pour code " + sampleRowCode + " est introuvable !");
+ }
+
+ } catch (Exception eee) {
+ WaoContext.serviceException(transaction,
+ "Impossible de charger la ligne " +
+ "d'échantillon ayant pour code : " + sampleRowCode,
+ eee);
+ } finally {
+ WaoContext.closeTransaction(transaction);
+ }
+ return result;
+ }
+
+ @Override
public void deleteSampleRow(SampleRow sampleRow) throws WaoException {
TopiaContext transaction = null;
try {
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2010-03-26 18:26:03 UTC (rev 393)
@@ -37,9 +37,9 @@
import fr.ifremer.wao.entity.WaoUserDAO;
import java.util.ArrayList;
import java.util.List;
+import org.apache.commons.lang.StringUtils;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.framework.TopiaQuery;
-import org.nuiton.topia.framework.TopiaQuery.Op;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -229,26 +229,44 @@
try {
transaction = rootContext.beginTransaction();
- String userType = user.isAdmin() ? "administrateur" : "observateur";
- String msgBegin = "L'" + userType + " '" + user.getLogin() + "' ne peut pas être supprimé";
- String msgEnd = "Vous pouvez cependant le désactiver pour qu'il ne puisse plus se connecter.";
+ String userType = StringUtils.lowerCase(
+ user.getUserRole().getLibelle());
+ String msgBegin = "L'" + userType + " '" + user.getLogin() + "'" +
+ " ne peut pas être supprimé";
+ String msgEnd = "Vous pouvez cependant le désactiver pour qu'il" +
+ " ne puisse plus se connecter.";
- if (user.isAdmin()) {
- SampleRowLogDAO logDAO = WaoModelDAOHelper.getSampleRowLogDAO(transaction);
- List<SampleRowLog> results = logDAO.findAllByAdmin(user);
+ boolean isCoordinator =
+ user.getUserRole().equals(UserRole.COORDINATOR);
+
+ if (user.isAdmin() || isCoordinator) {
+ SampleRowLogDAO logDAO =
+ WaoModelDAOHelper.getSampleRowLogDAO(transaction);
+ List<SampleRowLog> results = logDAO.findAllByAuthor(user);
if (!results.isEmpty()) {
- throw new WaoBusinessException(Type.ALREADY_EXISTS, this.getClass(),
- msgBegin + " car il a participé à la modification du plan d'échantillonnage. " + msgEnd);
+ String msg = "";
+ if (isCoordinator) {
+ msg = " car il a ajouté des commentaires sur le plan " +
+ "d'échantillonnage.";
+ } else {
+ msg = " car il a participé" +
+ " à la modification du plan d'échantillonnage. ";
+ }
+ throw new WaoBusinessException(Type.ALREADY_EXISTS,
+ this.getClass(), msgBegin + msg + msgEnd);
}
} else {
- ContactDAO contactDAO = WaoModelDAOHelper.getContactDAO(transaction);
+ ContactDAO contactDAO =
+ WaoModelDAOHelper.getContactDAO(transaction);
List<Contact> results = contactDAO.findAllByObserver(user);
if (!results.isEmpty()) {
- throw new WaoBusinessException(Type.ALREADY_EXISTS, this.getClass(),
- msgBegin + " car il est lié à plusieurs contacts existants. " + msgEnd);
+ throw new WaoBusinessException(Type.ALREADY_EXISTS,
+ this.getClass(),
+ msgBegin + " car il est lié à plusieurs contacts" +
+ " existants. " + msgEnd);
}
}
@@ -260,7 +278,8 @@
transaction.commitTransaction();
//transaction.closeContext();
} catch (Exception eee) {
- WaoContext.serviceException(transaction, "Impossible de créer ou de mettre à jour l'utilisateur", eee);
+ WaoContext.serviceException(transaction, "Impossible de créer ou" +
+ " de mettre à jour l'utilisateur", eee);
} finally {
WaoContext.closeTransaction(transaction);
}
Modified: trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/SampleRowLogImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/SampleRowLogImpl.hbm.xml 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/SampleRowLogImpl.hbm.xml 2010-03-26 18:26:03 UTC (rev 393)
@@ -8,6 +8,6 @@
<property name="logText" type="text" access="field" column="logText" node="logText"/>
<property name="comment" type="text" access="field" column="comment" node="comment"/>
<many-to-one name="sampleRow" class="fr.ifremer.wao.entity.SampleRowImpl" column="sampleRow" node="sampleRow/@topiaId" embed-xml="false"/>
- <many-to-one name="admin" class="fr.ifremer.wao.entity.WaoUserImpl" column="admin" lazy="false" node="admin/@topiaId" embed-xml="false"/>
+ <many-to-one name="author" class="fr.ifremer.wao.entity.WaoUserImpl" column="author" lazy="false" node="author/@topiaId" embed-xml="false"/>
</class>
</hibernate-mapping>
Modified: trunk/wao-business/src/main/xmi/wao.properties
===================================================================
--- trunk/wao-business/src/main/xmi/wao.properties 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-business/src/main/xmi/wao.properties 2010-03-26 18:26:03 UTC (rev 393)
@@ -14,7 +14,7 @@
fr.ifremer.wao.entity.SampleRow.attribute.elligibleBoat.tagvalue.orderBy=companyActive
fr.ifremer.wao.entity.SampleRow.attribute.sampleRowLog.tagvalue.lazy=false
fr.ifremer.wao.entity.SampleRow.attribute.sampleRowLog.tagvalue.orderBy=topiaCreateDate desc
-fr.ifremer.wao.entity.SampleRowLog.attribute.admin.tagvalue.lazy=false
+fr.ifremer.wao.entity.SampleRowLog.attribute.author.tagvalue.lazy=false
fr.ifremer.wao.entity.FishingZone.attribute.sampleRow.tagvalue.orderBy=code
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/FeedBack.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/FeedBack.java 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/FeedBack.java 2010-03-26 18:26:03 UTC (rev 393)
@@ -22,8 +22,11 @@
import java.util.ArrayList;
import java.util.List;
+import org.apache.tapestry5.BindingConstants;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.MarkupWriter;
+import org.apache.tapestry5.annotations.Log;
+import org.apache.tapestry5.annotations.Parameter;
import org.apache.tapestry5.ioc.annotations.Inject;
/**
@@ -49,6 +52,9 @@
*/
public class FeedBack {
+ @Parameter(defaultPrefix = BindingConstants.LITERAL, value= "true")
+ private boolean autoClear;
+
/** Messages d'erreur */
private List<String> errorMessages;
@@ -60,6 +66,8 @@
@Inject
private ComponentResources resources;
+ private boolean reload;
+
public FeedBack() {
errorMessages = new ArrayList<String>();
infoMessages = new ArrayList<String>();
@@ -78,7 +86,9 @@
}
writer.end();
}
- errorMessages.clear();
+ if (autoClear) {
+ errorMessages.clear();
+ }
// Rendu des messages d'info et vidage de la collection
if (!infoMessages.isEmpty()) {
@@ -124,4 +134,19 @@
public boolean hasErrors() {
return errors;
}
+
+ @Log
+ public void reload() {
+ reload = true;
+ }
+
+ public boolean hasBeeanReloaded() {
+ return reload;
+ }
+
+ @Log
+ public void clearErrors() {
+ errorMessages.clear();
+ reload = false;
+ }
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/Layout.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/Layout.java 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/Layout.java 2010-03-26 18:26:03 UTC (rev 393)
@@ -41,6 +41,7 @@
import org.apache.tapestry5.annotations.SessionState;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.Request;
+import org.slf4j.Logger;
/**
* Layout
@@ -89,12 +90,37 @@
@Inject
private Request request;
+ @Inject
+ private Logger logger;
+
+ private boolean fatal = false;
+
void setupRender() {
if(isCurrentUserExists() && !canShowPage()) {
- contentFeedback.addError("Vous n'êtes pas autorisé à accéder à cette page !");
+ contentFeedback.addError("Vous n'êtes pas autorisé à accéder" +
+ " à cette page !");
}
}
+ boolean afterRender() {
+ // Check if fatal errors has been added to the layout
+ // Reload the page if feedBack hasn't been reloaded yet to display
+ // errors
+ if (fatal && contentFeedback.hasErrors() &&
+ !contentFeedback.hasBeeanReloaded()) {
+ if (logger.isInfoEnabled()) {
+ logger.info("[ FATAL ] Reload the page to display" +
+ " errors");
+ }
+ contentFeedback.reload();
+ return false;
+ }
+ // Clear errors after page render
+ contentFeedback.clearErrors();
+ fatal = false;
+ return true;
+ }
+
/**
* Test if the current user in session is a valid user.
* Test topia id existence because WaoUser can be empty when session is lost
@@ -103,7 +129,6 @@
* @see fr.ifremer.wao.ui.services.AppModule#
* contributeApplicationStateManager(MappedConfiguration)
*/
- @Log
public boolean isCurrentUserExists() {
return StringUtils.isNotEmpty(currentUser.getTopiaId());
}
@@ -180,6 +205,38 @@
return true;
}
+ public boolean displayBody() {
+ return canShowPage() && !fatal;
+ }
+
+ /**
+ * Add an info message to the layout.
+ *
+ * @param message of the info
+ */
+ public void addInfo(String message) {
+ contentFeedback.addInfo(message);
+ }
+
+ /**
+ * Add an error to the layout : display the body any way.
+ *
+ * @param message of the error
+ */
+ public void addError(String message) {
+ contentFeedback.addError(message);
+ }
+
+ /**
+ * Add a fatal error to the layout : don't display the page body.
+ *
+ * @param message of the error
+ */
+ public void addFatal(String message) {
+ contentFeedback.addError(message);
+ fatal = true;
+ }
+
@Log
Object onSuccessFromConnexionForm() throws WaoException {
try {
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2010-03-26 18:26:03 UTC (rev 393)
@@ -146,9 +146,9 @@
void onSuccessFromImportFishingZones() {
try {
int result = serviceReferential.importFishingZoneCsv(fishingZoneCsvFile.getStream());
- layout.getFeedBack().addInfo(result + " zones de pêche importées");
+ layout.addInfo(result + " zones de pêche importées");
} catch (WaoException eee) {
- layout.getFeedBack().addError(eee.getMessage());
+ layout.addError(eee.getMessage());
}
}
@@ -254,9 +254,9 @@
serviceUser.deleteUser(user);
user = null;
userId = null;
- layout.getFeedBack().addInfo("Utilisateur supprimé avec succès !");
+ layout.addInfo("Utilisateur supprimé avec succès !");
} catch (WaoBusinessException eee) {
- layout.getFeedBack().addError(eee.getMessage());
+ layout.addError(eee.getMessage());
}
}
}
@@ -276,7 +276,7 @@
serviceUser.createUpdateUser(user, generatePassword);
userId = user.getId();
} catch (WaoBusinessException eee) {
- layout.getFeedBack().addError(eee.getMessage());
+ layout.addError(eee.getMessage());
}
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java 2010-03-26 18:26:03 UTC (rev 393)
@@ -185,9 +185,9 @@
int[] result = serviceBoat.importBoatCsv(boatsCsvFile.getStream());
// Suppress persitant list of boats
boats = null;
- layout.getFeedBack().addInfo(result[0] + " navires importés dont " + result[1] + " nouveaux");
+ layout.addInfo(result[0] + " navires importés dont " + result[1] + " nouveaux");
} catch (WaoException eee) {
- layout.getFeedBack().addError(eee.getMessage());
+ layout.addError(eee.getMessage());
}
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2010-03-26 18:26:03 UTC (rev 393)
@@ -210,13 +210,13 @@
ImportResults result = serviceContact.importContactCsv(user, contactsCsvFile.getStream());
// Suppress persitant list of contacts
contacts = null;
- layout.getFeedBack().addInfo(result.getNbRowsImported() + " contacts importés, " +
+ layout.addInfo(result.getNbRowsImported() + " contacts importés, " +
result.getNbRowsRefused() + " refusés.");
for (String error : result.getErrors()) {
- layout.getFeedBack().addInfo(error);
+ layout.addInfo(error);
}
} catch (WaoBusinessException eee) {
- layout.getFeedBack().addError(eee.getMessage());
+ layout.addError(eee.getMessage());
}
//return importBoatsForm.getHasErrors() ? importBoatsForm : this;
}
@@ -622,7 +622,7 @@
oldComment = null;
contactEdited = null;
} catch (WaoException eee) {
- layout.getFeedBack().addError(eee.getMessage());
+ layout.addError(eee.getMessage());
}
}
return this;
@@ -647,8 +647,7 @@
serviceContact.saveContact(contact, Boolean.FALSE);
contactSelectedId = contact.getTopiaId();
} else {
- layout.getFeedBack().
- addError("Un contact en cours existe déjà pour ce navire");
+ layout.addError("Un contact en cours existe déjà pour ce navire");
}
}
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ExceptionReport.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ExceptionReport.java 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ExceptionReport.java 2010-03-26 18:26:03 UTC (rev 393)
@@ -56,13 +56,14 @@
public void reportException(Throwable eee) {
this.exception = getWaoException(eee);
if (exception != null) {
- layout.getFeedBack().addError(exception.getMessage());
+ layout.addError(exception.getMessage());
this.exception = exception.getCause();
} else {
this.exception = eee;
log.error("Unexpected exception", eee);
}
- layout.getFeedBack().addError("Erreur : " + this.exception.getClass().getSimpleName() + " : " + this.exception.getMessage());
+ layout.addError("Erreur : " + this.exception.getClass().getSimpleName()
+ + " : " + this.exception.getMessage());
}
protected Throwable getWaoException(Throwable eee) {
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java 2010-03-26 18:26:03 UTC (rev 393)
@@ -509,7 +509,8 @@
sampleRow = serviceSampling.getSampleRow(sampleRowId);
propertyChange = new WaoPropertyChangeListener();
for (SampleMonth month : sampleRow.getSampleMonth()) {
- month.addPropertyChangeListener(SampleMonth.EXPECTED_TIDES_VALUE, propertyChange);
+ month.addPropertyChangeListener(
+ SampleMonth.EXPECTED_TIDES_VALUE, propertyChange);
}
} else {
sampleRow = serviceSampling.getNewSampleRow();
@@ -520,9 +521,7 @@
public SampleRowLog getSampleRowLog() throws WaoException {
if (sampleRowLog == null) {
- sampleRowLog = new SampleRowLogImpl();
- sampleRowLog.setSampleRow(getSampleRow());
- sampleRowLog.setAdmin(user);
+ sampleRowLog = getSampleRow().getNewSampleRowLog(user);
}
return sampleRowLog;
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowHistoric.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowHistoric.java 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowHistoric.java 2010-03-26 18:26:03 UTC (rev 393)
@@ -21,17 +21,25 @@
package fr.ifremer.wao.ui.pages;
+import fr.ifremer.wao.WaoBusinessException;
import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.SampleRowLog;
+import fr.ifremer.wao.entity.WaoUser;
import fr.ifremer.wao.service.ServiceSampling;
import fr.ifremer.wao.ui.base.WaoPage;
+import fr.ifremer.wao.ui.components.FeedBack;
+import fr.ifremer.wao.ui.components.Layout;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Locale;
+import org.apache.commons.lang.StringUtils;
import org.apache.tapestry5.annotations.IncludeStylesheet;
+import org.apache.tapestry5.annotations.InjectComponent;
import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.annotations.Property;
+import org.apache.tapestry5.annotations.SessionState;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.slf4j.Logger;
@@ -51,16 +59,22 @@
@Override
public boolean isOnlyForAdmin() {
- return true;
+ return false;
}
@Inject
private Logger log;
+ @SessionState
+ private WaoUser user;
+
+ @InjectComponent
+ private Layout layout;
+
@Inject
private ServiceSampling serviceSampling;
- private String sampleRowId;
+ private String sampleRowCode;
@Persist
private SampleRow sampleRow;
@@ -68,25 +82,43 @@
@Property
private SampleRowLog sampleRowLog;
+ private SampleRowLog newLog;
+
+ @InjectComponent
+ private FeedBack addCommentInfo;
+
void onActivate(String id) {
- sampleRowId = id;
+ sampleRowCode = id;
}
String onPassivate() {
- return sampleRowId;
+ return sampleRowCode;
}
void setupRender() throws WaoException {
- sampleRow = null;
- getSampleRow();
+ if (StringUtils.isEmpty(sampleRowCode)) {
+ layout.addFatal("L'historique ne peut pas être affiché : " +
+ "Aucun code de ligne n'est spécifié dans l'url. ");
+ } else {
+
+ try {
+ sampleRow = null;
+ getSampleRow();
+ } catch (WaoBusinessException eee) {
+ layout.addFatal("L'historique ne peut pas être affiché : "
+ + eee.getMessage());
+ }
+
+ if (canAddComment()) {
+ addCommentInfo.addInfo("L'ajout d'un commentaire enverra" +
+ " un email aux administrateurs du programme Obsmer");
+ }
+ }
}
public SampleRow getSampleRow() throws WaoException {
if (sampleRow == null) {
- if (log.isInfoEnabled()) {
- log.info("BUSINESS REQUEST [getSampleRow]");
- }
- sampleRow = serviceSampling.getSampleRow(sampleRowId);
+ sampleRow = serviceSampling.getSampleRowByCode(user, sampleRowCode);
}
return sampleRow;
}
@@ -104,5 +136,22 @@
}
return content;
}
+
+ public SampleRowLog getNewLog() throws WaoException {
+ if (newLog == null) {
+ newLog = getSampleRow().getNewSampleRowLog(user);
+ }
+ return newLog;
+ }
+
+ public boolean canAddComment() {
+ return user.getUserRole().equals(UserRole.COORDINATOR);
+ }
+
+ public void onSuccessFromAddComment() throws WaoException {
+ if (canAddComment()) {
+ sampleRow.saveSampleRowLog(newLog);
+ }
+ }
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java 2010-03-26 18:26:03 UTC (rev 393)
@@ -114,13 +114,13 @@
void onSuccessFromImportSamplingPlan() throws WaoException {
try {
ImportResults result = serviceSampling.importSamplingPlanCsv(samplingPlanCsvFile.getStream());
- layout.getFeedBack().addInfo(result.getNbRowsImported() + " lignes du plan importés, " +
+ layout.addInfo(result.getNbRowsImported() + " lignes du plan importés, " +
result.getNbRowsRefused() + " refusés.");
for (String error : result.getErrors()) {
- layout.getFeedBack().addInfo(error);
+ layout.addInfo(error);
}
} catch (WaoBusinessException eee) {
- layout.getFeedBack().addError(eee.getMessage());
+ layout.addError(eee.getMessage());
}
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/UserProfile.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/UserProfile.java 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/UserProfile.java 2010-03-26 18:26:03 UTC (rev 393)
@@ -96,7 +96,7 @@
userEditable.setPasswordChanged(true);
}
serviceUser.createUpdateUser(userEditable, false);
- layout.getFeedBack().addInfo("Modifications enregistrées avec succès !");
+ layout.addInfo("Modifications enregistrées avec succès !");
} catch (WaoBusinessException eee) {
userForm.recordError(eee.getMessage());
// if (log.isErrorEnabled()) {
Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/Layout.tml
===================================================================
--- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/Layout.tml 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/Layout.tml 2010-03-26 18:26:03 UTC (rev 393)
@@ -72,8 +72,8 @@
</ul>
<div id="${contentId}">
- <t:feedback t:id="contentFeedback" />
- <t:if t:test="canShowPage()">
+ <t:feedback t:id="contentFeedback" t:autoClear="false"/>
+ <t:if t:test="displayBody()">
<t:body />
</t:if>
</div>
Modified: trunk/wao-ui/src/main/webapp/SampleRowForm.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/SampleRowForm.tml 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-ui/src/main/webapp/SampleRowForm.tml 2010-03-26 18:26:03 UTC (rev 393)
@@ -171,7 +171,7 @@
</fieldset>
<fieldset class="clearfix">
<t:errors t:banner="message:errors-banner"/>
- <p><label>Enregistrement fait par : </label>${sampleRowLog.admin.fullName}</p>
+ <p><label>Enregistrement fait par : </label>${sampleRowLog.author.fullName}</p>
<t:unless t:test="createMode">
<p><label>Commentaire sur la modification* :</label></p>
<p><input t:type="textarea" t:id="updateComment" cols="50" rows="5" value="sampleRowLog.comment"/></p>
Modified: trunk/wao-ui/src/main/webapp/SampleRowHistoric.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/SampleRowHistoric.tml 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-ui/src/main/webapp/SampleRowHistoric.tml 2010-03-26 18:26:03 UTC (rev 393)
@@ -4,14 +4,35 @@
<h1>Historique de la ligne ${sampleRow.code}</h1>
<p class="aright">créée le <t:output t:format="dateFormat" t:value="sampleRow.topiaCreateDate"/></p>
<hr />
+ <t:if t:test="canAddComment()">
+ <form t:type="form" t:id="addComment" class="comment-form" action="post">
+ <fieldset>
+ <legend>Ajouter un commentaire</legend>
+ <t:feedback t:id="addCommentInfo" />
+ <p>Auteur : ${newLog.author.fullName}</p>
+ <p><label t:type="label" for="newComment">Commentaire</label> :</p>
+ <p>
+ <textarea t:type="textarea" t:id="newComment" t:value="newLog.comment" cols="90" rows="3" t:validate="required">
+ ${newLog.comment}
+ </textarea>
+ </p>
+ <p class="aright"><input type="submit" t:type="submit" class="ico save" value="Save" title="Ajouter un nouveau commentaire" /></p>
+ </fieldset>
+ </form>
+ </t:if>
<div class="so-samplerow-log" t:type="loop" t:source="sampleRow.sampleRowLog" t:value="sampleRowLog">
- <p class="head">
- Modification du
+ <p class="head-${sampleRowLog.author.userRole.name()}">
+ <t:if t:test="sampleRowLog.author.admin">
+ Modification du
+ <p:else>Commentaire ajouté le</p:else>
+ </t:if>
<strong><t:output t:format="dateFormat" t:value="sampleRowLog.topiaCreateDate"/></strong>
- par <strong>${sampleRowLog.admin.fullName}</strong>
+ par <strong>${sampleRowLog.author.fullName}</strong>
</p>
- <p class="content"><t:outputraw value="content"/></p>
- <p>Commentaire : </p>
+ <t:if t:test="sampleRowLog.logText">
+ <p class="content"><t:outputraw value="content"/></p>
+ <p>Commentaire : </p>
+ </t:if>
<p class="comment">
${sampleRowLog.comment}
</p>
Modified: trunk/wao-ui/src/main/webapp/SamplingPlan.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/SamplingPlan.tml 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-ui/src/main/webapp/SamplingPlan.tml 2010-03-26 18:26:03 UTC (rev 393)
@@ -170,13 +170,13 @@
<img src="${asset:context:}/img/boat-unavailable-22px.png" alt="Navire impossible" title="Accès aux navires impossible, ligne terminée"/>
</p:else>
</t:if>
+ <a t:type="pagelink" t:page="sampleRowHistoric" t:context="row.code">
+ <img src="${asset:context:}/img/clock-22px.png" alt="Historique" title="Voir historique de la ligne"/>
+ </a>
<t:if t:test="user.admin">
<a t:type="pagelink" t:page="sampleRowForm" t:context="row.topiaId">
<img src="${asset:context:}/img/edit.png" alt="Modifier" title="Modifier la ligne"/>
</a>
- <a t:type="pagelink" t:page="sampleRowHistoric" t:context="row.topiaId">
- <img src="${asset:context:}/img/clock-22px.png" alt="Historique" title="Voir historique de la ligne"/>
- </a>
<t:unless t:test="row.hasSampleMonthRealTideTime()">
<a t:type="actionlink" t:id="deleteSampleRow" t:context="rowIndex" title="Supprimer la ligne d'échantillon"
t:mixins="confirm" t:message="Etes-vous sûr de vouloir supprimer définitivement la ligne ${row.code} du plan d\'échantillonnage ?">
Modified: trunk/wao-ui/src/main/webapp/css/sampling.css
===================================================================
--- trunk/wao-ui/src/main/webapp/css/sampling.css 2010-03-25 18:18:36 UTC (rev 392)
+++ trunk/wao-ui/src/main/webapp/css/sampling.css 2010-03-26 18:26:03 UTC (rev 393)
@@ -242,7 +242,19 @@
text-align: center;
}
-div#so-samplerow-historic div.so-samplerow-log p.head {
+div#so-samplerow-historic form.comment-form fieldset {
+ width: 50%;
+ margin-left: auto;
+ margin-right: auto;
+ padding: 10px;
+ margin-bottom: 10px;
+}
+
+div#so-samplerow-historic div.so-samplerow-log p.head-COORDINATOR {
+ color: #19A28D;
+}
+
+div#so-samplerow-historic div.so-samplerow-log p.head-ADMIN {
color: #007CC2;
}
1
0
[Suiviobsmer-commits] r392 - in trunk: . wao-business/src/main/filters wao-ui/src/main/resources
by fdesbois@users.labs.libre-entreprise.org 25 Mar '10
by fdesbois@users.labs.libre-entreprise.org 25 Mar '10
25 Mar '10
Author: fdesbois
Date: 2010-03-25 18:18:36 +0000 (Thu, 25 Mar 2010)
New Revision: 392
Modified:
trunk/README.txt
trunk/changelog.txt
trunk/wao-business/src/main/filters/Wao.properties
trunk/wao-ui/src/main/resources/log4j.properties
Log:
Evo #2229 : Add environment variable to change log home : use -Dwao.log.home=/path/to/log when starting server
Modified: trunk/README.txt
===================================================================
--- trunk/README.txt 2010-03-25 16:48:56 UTC (rev 391)
+++ trunk/README.txt 2010-03-25 18:18:36 UTC (rev 392)
@@ -15,3 +15,9 @@
--------------------------
Encodage UTF-8 obligatoire. Préconisation d'OpenOffice pour la sauvegarde des fichiers.
+
+Configuration au lancement
+--------------------------
+
+-Dconfig.file=/path/to/Wao.properties
+-Dwao.log.home=/path/to/log/folder
Modified: trunk/changelog.txt
===================================================================
--- trunk/changelog.txt 2010-03-25 16:48:56 UTC (rev 391)
+++ trunk/changelog.txt 2010-03-25 18:18:36 UTC (rev 392)
@@ -9,6 +9,7 @@
Evolutions
++++++++++
+- [fdesbois] Evo #2229 : Gestion du chemin vers les logs de l'application
- [fdesbois] Evo #2226 : Amélioration gestion interne des enumérations
(ContactState)
- [fdesbois] Evo #2063 : Créer un profil "coordinateur" pour les sociétés
Modified: trunk/wao-business/src/main/filters/Wao.properties
===================================================================
--- trunk/wao-business/src/main/filters/Wao.properties 2010-03-25 16:48:56 UTC (rev 391)
+++ trunk/wao-business/src/main/filters/Wao.properties 2010-03-25 18:18:36 UTC (rev 392)
@@ -8,9 +8,11 @@
## Database location in user home
hibernate.connection.url=jdbc:h2:file:~/.local/wao/h2data
-## Logs for activityCalendar in user home
-wao.log.activityCalendar.access=${user.home}/.local/wao/log/activity-access.log
-wao.log.activityCalendar.import=${user.home}/.local/wao/log/activity.log
+## Logs for activityCalendar in wao.log.home
+## wao.log.home must be defined when starting server
+## ex : -Dwao.log.home=/home/user/.local/wao
+wao.log.activityCalendar.access=${wao.log.home}/activity-access.log
+wao.log.activityCalendar.import=${wao.log.home}/activity.log
## Config for sending Email
wao.email.host=smtp
@@ -21,4 +23,4 @@
wao.server.path=localhost:8080/wao
## Version (not necessary to override it)
-wao.version=1.0.3
\ No newline at end of file
+wao.version=1.1
\ No newline at end of file
Modified: trunk/wao-ui/src/main/resources/log4j.properties
===================================================================
--- trunk/wao-ui/src/main/resources/log4j.properties 2010-03-25 16:48:56 UTC (rev 391)
+++ trunk/wao-ui/src/main/resources/log4j.properties 2010-03-25 18:18:36 UTC (rev 392)
@@ -8,7 +8,9 @@
log4j.appender.console.Threshold=INFO
log4j.appender.globalfile=org.apache.log4j.RollingFileAppender
-log4j.appender.globalfile.File=/var/log/wao/wao.log
+# wao.log.home must be defined when starting server
+# ex : -Dwao.log.home=/home/user/.local/wao
+log4j.appender.globalfile.File=${wao.log.home}/wao.log
log4j.appender.globalfile.MaxFileSize=500KB
log4j.appender.globalfile.Append=true
log4j.appender.globalfile.MaxBackupIndex=10
1
0
[Suiviobsmer-commits] r391 - in trunk: . wao-ui/src/main/java/fr/ifremer/wao/ui/pages
by fdesbois@users.labs.libre-entreprise.org 25 Mar '10
by fdesbois@users.labs.libre-entreprise.org 25 Mar '10
25 Mar '10
Author: fdesbois
Date: 2010-03-25 16:48:56 +0000 (Thu, 25 Mar 2010)
New Revision: 391
Modified:
trunk/changelog.txt
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java
Log:
Ano #2228 : NPE on reactivityIndicator if no data is retrieve from business
Modified: trunk/changelog.txt
===================================================================
--- trunk/changelog.txt 2010-03-25 13:34:12 UTC (rev 390)
+++ trunk/changelog.txt 2010-03-25 16:48:56 UTC (rev 391)
@@ -27,6 +27,9 @@
Anomalies
+++++++++
+- [fdesbois] Ano #2228 : Erreur d'affichage de la synthèse : réactivité de la
+ saisie dans Allegro
+
1.0.3 (patch)
-------------
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java 2010-03-25 13:34:12 UTC (rev 390)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java 2010-03-25 16:48:56 UTC (rev 391)
@@ -420,7 +420,8 @@
if (allegroReactivity == null) {
Company company = !user.isAdmin() ? user.getCompany() : null;
allegroReactivity =
- serviceSynthesis.getContactDataInputDateReactivity(company, getPeriodForAllegroReactivity());
+ serviceSynthesis.getContactDataInputDateReactivity(company,
+ getPeriodForAllegroReactivity());
}
return allegroReactivity;
}
@@ -433,9 +434,13 @@
}
public Double getAllegroReactivityValue() throws WaoException {
- ContactAverageReactivity entry =
- (ContactAverageReactivity) CollectionUtils.get(getAllegroReactivity(), 0);
- return entry.getResult();
+ if (!getAllegroReactivity().isEmpty()) {
+ ContactAverageReactivity entry = (ContactAverageReactivity)
+ CollectionUtils.get(getAllegroReactivity(), 0);
+ return entry.getResult();
+ } else {
+ return 0.;
+ }
}
public String getAllegroReactivityStyle() throws WaoException {
1
0
25 Mar '10
Author: fdesbois
Date: 2010-03-25 13:34:12 +0000 (Thu, 25 Mar 2010)
New Revision: 390
Modified:
trunk/changelog.txt
Log:
Evo #2226 : change state type String to int for Contact. Use ContactState enum everywhere.
Modified: trunk/changelog.txt
===================================================================
--- trunk/changelog.txt 2010-03-25 13:33:17 UTC (rev 389)
+++ trunk/changelog.txt 2010-03-25 13:34:12 UTC (rev 390)
@@ -9,6 +9,8 @@
Evolutions
++++++++++
+- [fdesbois] Evo #2226 : Amélioration gestion interne des enumérations
+ (ContactState)
- [fdesbois] Evo #2063 : Créer un profil "coordinateur" pour les sociétés
- [fdesbois] Evo #2225 : Tri des utilisateurs d'une société par ordre
alphabétique (prénom, nom)
1
0
[Suiviobsmer-commits] r389 - in trunk: wao-business/src/main/java/fr/ifremer/wao wao-business/src/main/java/fr/ifremer/wao/bean wao-business/src/main/java/fr/ifremer/wao/entity wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity wao-business/src/main/xmi wao-ui/src/main/resources/fr/ifremer/wao/ui/pages wao-ui/src/main/webapp wao-ui/src/main/webapp/WEB-INF
by fdesbois@users.labs.libre-entreprise.org 25 Mar '10
by fdesbois@users.labs.libre-entreprise.org 25 Mar '10
25 Mar '10
Author: fdesbois
Date: 2010-03-25 13:33:17 +0000 (Thu, 25 Mar 2010)
New Revision: 389
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactState.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactStateStatisticsImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactDAOImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ContactImpl.hbm.xml
trunk/wao-business/src/main/xmi/wao.zargo
trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts.properties
trunk/wao-ui/src/main/webapp/Contacts.tml
trunk/wao-ui/src/main/webapp/Synthesis.tml
trunk/wao-ui/src/main/webapp/WEB-INF/app.properties
Log:
Evo #2226 : change state type String to int for Contact. Use ContactState enum everywhere.
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java 2010-03-25 12:35:07 UTC (rev 388)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java 2010-03-25 13:33:17 UTC (rev 389)
@@ -1,6 +1,7 @@
package fr.ifremer.wao;
+import fr.ifremer.wao.bean.ContactState;
import java.util.List;
/**
@@ -30,4 +31,15 @@
queries.add("UPDATE WaoUser SET readOnly = FALSE;");
}
+ @Override
+ protected void changeContactStateColumn_1_1(List<String> queries) {
+ queries.add("ALTER TABLE Contact ADD state1 SMALLINT;");
+ for (ContactState state : ContactState.values()) {
+ queries.add("UPDATE Contact SET state1 = " + state.ordinal() +
+ " WHERE state = '" + state.libelle() + "'");
+ }
+ queries.add("ALTER TABLE Contact DROP COLUMN state;");
+ queries.add("ALTER TABLE Contact RENAME state1 TO state;");
+ }
+
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2010-03-25 12:35:07 UTC (rev 388)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2010-03-25 13:33:17 UTC (rev 389)
@@ -49,6 +49,8 @@
createUserRoleColumn_1_1(queries);
+ changeContactStateColumn_1_1(queries);
+
String[] strings = queries.toArray(new String[queries.size()]);
executeSQL(tx, showSql, showProgression, strings);
@@ -56,6 +58,8 @@
protected abstract void createUserRoleColumn_1_1(List<String> queries);
+ protected abstract void changeContactStateColumn_1_1(List<String> queries);
+
@Override
public boolean askUser(Version dbVersion,
Version applicationVersion,
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterImpl.java 2010-03-25 12:35:07 UTC (rev 388)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterImpl.java 2010-03-25 13:33:17 UTC (rev 389)
@@ -96,7 +96,7 @@
companyValidValues.toArray());
if (getState() != null) {
- query.add(contact + "." + Contact.STATE, getState().libelle());
+ query.add(contact + "." + Contact.STATE, getState().ordinal());
}
if (getFromDate() != null) {
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactState.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactState.java 2010-03-25 12:35:07 UTC (rev 388)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactState.java 2010-03-25 13:33:17 UTC (rev 389)
@@ -25,7 +25,9 @@
import java.util.List;
/**
- * ContactState
+ * Enum for contact state. The ordinal enum is used to save the state in
+ * {@link fr.ifremer.wao.entity.Contact} entity. Don't change the enum values
+ * order.
*
* Created: 3 déc. 2009
*
@@ -87,6 +89,21 @@
return null;
}
+ /**
+ * Get the contactState corresponding to the {@code ordinal} value.
+ *
+ * @param ordinal reference for the ContactState
+ * @return ContactState
+ */
+ public static ContactState valueOf(int ordinal) {
+ for (ContactState curr : ContactState.values()) {
+ if (ordinal == curr.ordinal()) {
+ return curr;
+ }
+ }
+ return null;
+ }
+
public static List<String> availableStates() {
List<String> results = new ArrayList<String>();
for (ContactState state : values()) {
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactStateStatisticsImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactStateStatisticsImpl.java 2010-03-25 12:35:07 UTC (rev 388)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactStateStatisticsImpl.java 2010-03-25 13:33:17 UTC (rev 389)
@@ -39,11 +39,8 @@
public class ContactStateStatisticsImpl extends ContactStateStatistics {
@Override
- public void addResult(String state, int nbResults) {
-
- ContactState stateEnum = ContactState.valueOfLibelle(state);
- getData().put(stateEnum, nbResults);
-
+ public void addResult(ContactState state, int nbResults) {
+ getData().put(state, nbResults);
total += nbResults;
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactDAOImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactDAOImpl.java 2010-03-25 12:35:07 UTC (rev 388)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactDAOImpl.java 2010-03-25 13:33:17 UTC (rev 389)
@@ -77,7 +77,7 @@
@Override
public TopiaQuery createQueryDoneContactsFromDate(Boat boat, Date fromDate) {
TopiaQuery query = createQuery("C").
- add("C." + Contact.STATE, ContactState.BOARDING_DONE.libelle()).
+ add("C." + Contact.STATE, ContactState.BOARDING_DONE.ordinal()).
add("C." + Contact.VALIDATION_COMPANY, Boolean.TRUE).
// TODO : use addNullOr method with Topia version 2.3.0-beta-9
add("C." + Contact.VALIDATION_PROGRAM + " IS NULL OR " + "C." + Contact.VALIDATION_PROGRAM + " = :booleanTrue").
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactImpl.java 2010-03-25 12:35:07 UTC (rev 388)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactImpl.java 2010-03-25 13:33:17 UTC (rev 389)
@@ -79,12 +79,12 @@
@Override
public ContactState getContactState() {
- return ContactState.valueOfLibelle(getState());
+ return ContactState.valueOf(getState());
}
@Override
public void setContactState(ContactState contactState) {
- setState(contactState.libelle());
+ setState(contactState.ordinal());
}
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2010-03-25 12:35:07 UTC (rev 388)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2010-03-25 13:33:17 UTC (rev 389)
@@ -253,7 +253,7 @@
// Contact part
export.record(CONTACT.CONT_CODE, timeFormat.format(contact.getTopiaCreateDate()));
export.record(CONTACT.CONT_CREATION, dateFormat.format(contact.getTopiaCreateDate()));
- export.record(CONTACT.CONT_ETAT, contact.getState());
+ export.record(CONTACT.CONT_ETAT, contact.getContactState().libelle());
if (contact.getTideBeginDate() != null) {
export.record(CONTACT.CONT_DEBUT_MAREE, dateFormat.format(contact.getTideBeginDate()));
}
@@ -452,7 +452,7 @@
ImportHelper.parseContactMammals(reader, CONTACT.CONT_MAM_OBS);
contact.setObserver(observer);
- contact.setState(state);
+ contact.setContactState(contactState);
contact.setTideBeginDate(tideBegin);
contact.setTideEndDate(tideEnd);
contact.setNbObservants(nbObservants);
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2010-03-25 12:35:07 UTC (rev 388)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2010-03-25 13:33:17 UTC (rev 389)
@@ -28,6 +28,7 @@
import fr.ifremer.wao.bean.ContactAverageReactivity;
import fr.ifremer.wao.bean.BoardingResult;
import fr.ifremer.wao.bean.BoardingResultImpl;
+import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.ContactStateStatistics;
import fr.ifremer.wao.bean.ContactStateStatisticsImpl;
import fr.ifremer.wao.bean.SamplingFilter;
@@ -376,11 +377,11 @@
addParam("thruDate", period.getThruDate());
}
- String state = contact + "." + Contact.STATE;
+ String stateProp = contact + "." + Contact.STATE;
String companyName = companyProp + "." + Company.NAME;
- query.addGroup(companyName, state).
+ query.addGroup(companyName, stateProp).
addOrder(companyName).
- setSelect(companyName, state, "COUNT(*)");
+ setSelect(companyName, stateProp, "COUNT(*)");
if (log.isDebugEnabled()) {
log.debug("Exec query : " + query);
@@ -390,10 +391,11 @@
for (Object[] row : res) {
String rowCompanyName = (String)row[0];
- String rowState = (String)row[1];
+ int rowState = (Integer)row[1];
+ ContactState state = ContactState.valueOf(rowState);
Long rowCount = (Long)row[2];
if (log.isDebugEnabled()) {
- log.debug("res : " + rowCompanyName + " _ " + rowState + " _ " + rowCount);
+ log.debug("res : " + rowCompanyName + " _ " + state + " _ " + rowCount);
}
ContactStateStatistics stats = results.get(rowCompanyName);
if (stats == null) {
@@ -401,7 +403,7 @@
stats.setCompanyName(rowCompanyName);
results.put(rowCompanyName, stats);
}
- stats.addResult(rowState, rowCount.intValue());
+ stats.addResult(state, rowCount.intValue());
}
//transaction.closeContext();
Modified: trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ContactImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ContactImpl.hbm.xml 2010-03-25 12:35:07 UTC (rev 388)
+++ trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ContactImpl.hbm.xml 2010-03-25 13:33:17 UTC (rev 389)
@@ -14,7 +14,7 @@
<property name="validationCompany" type="java.lang.Boolean" access="field" column="validationCompany" node="validationCompany"/>
<property name="dataInputDate" type="java.util.Date" access="field" column="dataInputDate" node="dataInputDate"/>
<property name="comment" type="text" access="field" column="comment" node="comment"/>
- <property name="state" type="text" access="field" column="state" node="state"/>
+ <property name="state" type="int" access="field" column="state" node="state"/>
<property name="tideNbDays" type="int" access="field" column="tideNbDays" node="tideNbDays"/>
<many-to-one name="observer" class="fr.ifremer.wao.entity.WaoUserImpl" column="observer" node="observer/@topiaId" embed-xml="false"/>
<many-to-one name="sampleRow" class="fr.ifremer.wao.entity.SampleRowImpl" column="sampleRow" lazy="false" node="sampleRow/@topiaId" embed-xml="false"/>
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts.properties
===================================================================
--- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts.properties 2010-03-25 12:35:07 UTC (rev 388)
+++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts.properties 2010-03-25 13:33:17 UTC (rev 389)
@@ -34,9 +34,3 @@
# Form labels
contactsForm-errors-banner: Le contact n'a pas \u00E9t\u00E9 sauvegard\u00E9 \u00E0 cause des erreurs suivantes :
-ContactState.BOAT_UNAVAILABLE: Non abouti
-ContactState.BOAT_DEFINITIVE_REFUSED: Refus d\u00E9finitif
-ContactState.BOAT_REFUSED: Refus
-ContactState.BOARDING_DONE: Embarquement r\u00E9alis\u00E9
-ContactState.BOARDING_EXPECTED: Embarquement programm\u00E9
-ContactState.CONTACT_START: Contact pris
Modified: trunk/wao-ui/src/main/webapp/Contacts.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Contacts.tml 2010-03-25 12:35:07 UTC (rev 388)
+++ trunk/wao-ui/src/main/webapp/Contacts.tml 2010-03-25 13:33:17 UTC (rev 389)
@@ -159,7 +159,7 @@
<p:stateCell>
<t:if t:test="editionMode">
<input t:type="select" t:id="contactState" t:value="contactEdited.contactState" t:validate="required"/>
- <p:else>${contact.state}</p:else>
+ <p:else>${contact.contactState.libelle()}</p:else>
</t:if>
</p:stateCell>
<p:tideBeginDateCell>
Modified: trunk/wao-ui/src/main/webapp/Synthesis.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Synthesis.tml 2010-03-25 12:35:07 UTC (rev 388)
+++ trunk/wao-ui/src/main/webapp/Synthesis.tml 2010-03-25 13:33:17 UTC (rev 389)
@@ -206,7 +206,7 @@
<th class="company">Société</th>
</t:if>
<th t:type="loop" t:source="contactStates" t:value="contactState">
- ${contactState}
+ ${contactState.libelle()}
</th>
<th>Total</th>
</tr>
Modified: trunk/wao-ui/src/main/webapp/WEB-INF/app.properties
===================================================================
--- trunk/wao-ui/src/main/webapp/WEB-INF/app.properties 2010-03-25 12:35:07 UTC (rev 388)
+++ trunk/wao-ui/src/main/webapp/WEB-INF/app.properties 2010-03-25 13:33:17 UTC (rev 389)
@@ -1,3 +1,10 @@
# This is where global application properties go.
+#ContactState enum
+ContactState.BOAT_UNAVAILABLE: Non abouti
+ContactState.BOAT_DEFINITIVE_REFUSED: Refus d\u00E9finitif
+ContactState.BOAT_REFUSED: Refus
+ContactState.BOARDING_DONE: Embarquement r\u00E9alis\u00E9
+ContactState.BOARDING_EXPECTED: Embarquement programm\u00E9
+ContactState.CONTACT_START: Contact pris
1
0
25 Mar '10
Author: fdesbois
Date: 2010-03-25 12:35:07 +0000 (Thu, 25 Mar 2010)
New Revision: 388
Modified:
trunk/changelog.txt
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactState.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactStateStatisticsImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactDAOImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
trunk/wao-business/src/main/xmi/wao.zargo
trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java
trunk/wao-business/src/test/resources/log4j.properties
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/BusinessUtils.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java
trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Administration.properties
trunk/wao-ui/src/main/webapp/Administration.tml
trunk/wao-ui/src/main/webapp/Contacts.tml
Log:
- Evo #2063 : use coordinator role in Contacts page
- Improve enum managment (UserRole and ContactState) -> add getter/setter directly in entity corresponding to match the enum
Modified: trunk/changelog.txt
===================================================================
--- trunk/changelog.txt 2010-03-25 11:06:45 UTC (rev 387)
+++ trunk/changelog.txt 2010-03-25 12:35:07 UTC (rev 388)
@@ -9,9 +9,9 @@
Evolutions
++++++++++
+- [fdesbois] Evo #2063 : Créer un profil "coordinateur" pour les sociétés
- [fdesbois] Evo #2225 : Tri des utilisateurs d'une société par ordre
alphabétique (prénom, nom)
-
- [fdesbois] Mise à jour librairies :
* commons-lang 2.4 -> 2.5
* commons-beanutils 1.8.0 -> 1.8.2
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterImpl.java 2010-03-25 11:06:45 UTC (rev 387)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterImpl.java 2010-03-25 12:35:07 UTC (rev 388)
@@ -96,7 +96,7 @@
companyValidValues.toArray());
if (getState() != null) {
- query.add(contact + "." + Contact.STATE, getState().toString());
+ query.add(contact + "." + Contact.STATE, getState().libelle());
}
if (getFromDate() != null) {
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactState.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactState.java 2010-03-25 11:06:45 UTC (rev 387)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactState.java 2010-03-25 12:35:07 UTC (rev 388)
@@ -48,21 +48,20 @@
BOAT_DEFINITIVE_REFUSED("Refus définitif", true, true);
- private String value;
+ private String libelle;
private boolean finalState;
private boolean unfinishedState;
ContactState(String value, boolean finalState, boolean unfinishedState) {
- this.value = value;
+ this.libelle = value;
this.finalState = finalState;
this.unfinishedState = unfinishedState;
}
- @Override
- public String toString() {
- return this.value;
+ public String libelle() {
+ return this.libelle;
}
public boolean isFinalState() {
@@ -73,19 +72,17 @@
return this.unfinishedState;
}
- public static ContactState createContactStateEnum(String value) {
- if (value.equals(CONTACT_START.toString())) {
- return CONTACT_START;
- } else if (value.equals(BOARDING_EXPECTED.toString())) {
- return BOARDING_EXPECTED;
- } else if (value.equals(BOARDING_DONE.toString())) {
- return BOARDING_DONE;
- } else if (value.equals(BOAT_UNAVAILABLE.toString())) {
- return BOAT_UNAVAILABLE;
- } else if (value.equals(BOAT_REFUSED.toString())) {
- return BOAT_REFUSED;
- } else if (value.equals(BOAT_DEFINITIVE_REFUSED.toString())) {
- return BOAT_DEFINITIVE_REFUSED;
+ /**
+ * Get the contactState corresponding to the {@code libelle} value.
+ *
+ * @param libelle reference for the ContactState
+ * @return ContactState
+ */
+ public static ContactState valueOfLibelle(String libelle) {
+ for (ContactState curr : ContactState.values()) {
+ if (libelle.equals(curr.libelle())) {
+ return curr;
+ }
}
return null;
}
@@ -93,7 +90,7 @@
public static List<String> availableStates() {
List<String> results = new ArrayList<String>();
for (ContactState state : values()) {
- results.add(state.toString());
+ results.add(state.libelle());
}
return results;
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactStateStatisticsImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactStateStatisticsImpl.java 2010-03-25 11:06:45 UTC (rev 387)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactStateStatisticsImpl.java 2010-03-25 12:35:07 UTC (rev 388)
@@ -41,7 +41,7 @@
@Override
public void addResult(String state, int nbResults) {
- ContactState stateEnum = ContactState.createContactStateEnum(state);
+ ContactState stateEnum = ContactState.valueOfLibelle(state);
getData().put(stateEnum, nbResults);
total += nbResults;
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatImpl.java 2010-03-25 11:06:45 UTC (rev 387)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatImpl.java 2010-03-25 12:35:07 UTC (rev 388)
@@ -73,8 +73,7 @@
Contact contact = dao.findByQuery(dao.createQueryLastContactForBoat(this, company));
if (contact != null) {
- ContactState state = ContactState.createContactStateEnum(contact.getState());
- result = state.isFinalState();
+ result = contact.getContactState().isFinalState();
}
//transaction.closeContext();
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactDAOImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactDAOImpl.java 2010-03-25 11:06:45 UTC (rev 387)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactDAOImpl.java 2010-03-25 12:35:07 UTC (rev 388)
@@ -77,7 +77,7 @@
@Override
public TopiaQuery createQueryDoneContactsFromDate(Boat boat, Date fromDate) {
TopiaQuery query = createQuery("C").
- add("C." + Contact.STATE, ContactState.BOARDING_DONE.toString()).
+ add("C." + Contact.STATE, ContactState.BOARDING_DONE.libelle()).
add("C." + Contact.VALIDATION_COMPANY, Boolean.TRUE).
// TODO : use addNullOr method with Topia version 2.3.0-beta-9
add("C." + Contact.VALIDATION_PROGRAM + " IS NULL OR " + "C." + Contact.VALIDATION_PROGRAM + " = :booleanTrue").
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactImpl.java 2010-03-25 11:06:45 UTC (rev 387)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactImpl.java 2010-03-25 12:35:07 UTC (rev 388)
@@ -21,6 +21,7 @@
package fr.ifremer.wao.entity;
+import fr.ifremer.wao.bean.ContactState;
import java.io.Serializable;
import java.util.Date;
import org.nuiton.util.DateUtils;
@@ -76,4 +77,14 @@
return getTopiaCreateDate();
}
+ @Override
+ public ContactState getContactState() {
+ return ContactState.valueOfLibelle(getState());
+ }
+
+ @Override
+ public void setContactState(ContactState contactState) {
+ setState(contactState.libelle());
+ }
+
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java 2010-03-25 11:06:45 UTC (rev 387)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java 2010-03-25 12:35:07 UTC (rev 388)
@@ -87,4 +87,9 @@
return UserRole.valueOf(getRole());
}
+ @Override
+ public void setUserRole(UserRole role) {
+ setRole(role.ordinal());
+ }
+
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2010-03-25 11:06:45 UTC (rev 387)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2010-03-25 12:35:07 UTC (rev 388)
@@ -159,7 +159,7 @@
result.setObserver(user);
result.setSampleRow(row);
result.setBoat(boat);
- result.setState(ContactState.CONTACT_START.toString());
+ result.setContactState(ContactState.CONTACT_START);
return result;
}
@@ -354,7 +354,7 @@
String observerId = ImportHelper.read(reader, CONTACT.OBSERV_ID);
String state = ImportHelper.read(reader, CONTACT.CONT_ETAT);
- ContactState contactState = ContactState.createContactStateEnum(state);
+ ContactState contactState = ContactState.valueOfLibelle(state);
if (contactState == null) {
throw new WaoBusinessException(Type.IMPORT_ERROR, this.getClass(),
@@ -473,7 +473,7 @@
// Add realTideTime for this contact if validations are ok and state is BOARDING_DONE
if (BooleanUtils.isTrue(companyValidation) && BooleanUtils.isNotFalse(programValidation) &&
- contact.getState().equals(ContactState.BOARDING_DONE.toString())) {
+ contact.getContactState().equals(ContactState.BOARDING_DONE)) {
boolean ok = contact.getSampleRow().addRealTideTime(contact);
if (!ok) {
DateFormat dateFormat1 = new SimpleDateFormat("MM/yyyy");
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java 2010-03-25 11:06:45 UTC (rev 387)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java 2010-03-25 12:35:07 UTC (rev 388)
@@ -139,7 +139,7 @@
ServiceContact serviceContact = new ServiceContactImpl();
Contact contact1 = serviceContact.getNewContact(user, row, boat);
- contact1.setState(ContactState.CONTACT_START.toString());
+ contact1.setContactState(ContactState.CONTACT_START);
serviceContact.saveContact(contact1, false);
/** EXEC METHOD **/
@@ -147,7 +147,7 @@
// contact still open
Assert.assertFalse(result);
- contact1.setState(ContactState.BOAT_DEFINITIVE_REFUSED.toString());
+ contact1.setContactState(ContactState.BOAT_DEFINITIVE_REFUSED);
contact1.setValidationProgram(Boolean.TRUE);
serviceContact.saveContact(contact1, false);
@@ -155,21 +155,21 @@
// contact have a definitive refused for this boat
Assert.assertTrue(result);
- contact1.setState(ContactState.BOARDING_DONE.toString());
+ contact1.setContactState(ContactState.BOARDING_DONE);
serviceContact.saveContact(contact1, false);
result = boat.canCreateContact(company);
// contact is finished
Assert.assertTrue(result);
- contact1.setState(ContactState.BOAT_UNAVAILABLE.toString());
+ contact1.setContactState(ContactState.BOAT_UNAVAILABLE);
serviceContact.saveContact(contact1, false);
result = boat.canCreateContact(company);
// contact is finished
Assert.assertTrue(result);
- contact1.setState(ContactState.BOAT_REFUSED.toString());
+ contact1.setContactState(ContactState.BOAT_REFUSED);
serviceContact.saveContact(contact1, false);
result = boat.canCreateContact(company);
@@ -216,7 +216,7 @@
Contact contact1 = new ContactImpl();
contact1.setBoat(boat);
contact1.setObserver(user);
- contact1.setState(ContactState.BOARDING_DONE.toString());
+ contact1.setContactState(ContactState.BOARDING_DONE);
Date begin = DateUtils.createDate(3, 3, 2009);
contact1.setTideBeginDate(begin);
contact1.setValidationCompany(Boolean.TRUE);
@@ -232,7 +232,7 @@
// Second contact with ValidationProgram = FALSE
contact2.setBoat(boat);
contact2.setObserver(user);
- contact2.setState(ContactState.BOARDING_DONE.toString());
+ contact2.setContactState(ContactState.BOARDING_DONE);
begin = DateUtils.createDate(3, 8, 2009);
contact2.setTideBeginDate(begin);
contact2.setValidationCompany(Boolean.TRUE);
@@ -246,7 +246,7 @@
// Third contact with tideBeginDate < fromDate
contact3.setBoat(boat);
contact3.setObserver(user);
- contact3.setState(ContactState.BOARDING_DONE.toString());
+ contact3.setContactState(ContactState.BOARDING_DONE);
begin = DateUtils.createDate(3, 8, 2008);
contact3.setTideBeginDate(begin);
contact3.setValidationCompany(Boolean.TRUE);
@@ -259,7 +259,7 @@
// Fourth contact : OK with an other company
contact4.setBoat(boat);
contact4.setObserver(user2);
- contact4.setState(ContactState.BOARDING_DONE.toString());
+ contact4.setContactState(ContactState.BOARDING_DONE);
begin = DateUtils.createDate(3, 4, 2009);
contact4.setTideBeginDate(begin);
contact4.setValidationCompany(Boolean.TRUE);
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2010-03-25 11:06:45 UTC (rev 387)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2010-03-25 12:35:07 UTC (rev 388)
@@ -277,7 +277,7 @@
ServiceContact serviceContact = new ServiceContactImpl();
Contact contact1 = serviceContact.getNewContact(user, row, boat);
- contact1.setState(ContactState.CONTACT_START.toString());
+ contact1.setContactState(ContactState.CONTACT_START);
serviceContact.saveContact(contact1, false);
CompanyBoatInfos companyBoatInfos = service.getCompanyBoatInfos(174592, company);
@@ -386,7 +386,7 @@
user.setLastName("Michmuche");
// Evo #2063 : the defaut instanciation of WaoUser doesn't put the
// user automatically as an non admin
- user.setRole(UserRole.OBSERVER.ordinal());
+ user.setUserRole(UserRole.OBSERVER);
Company company = new CompanyImpl();
company.setName("TARTANPION");
user.setCompany(company);
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java 2010-03-25 11:06:45 UTC (rev 387)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java 2010-03-25 12:35:07 UTC (rev 388)
@@ -152,7 +152,7 @@
contact1.setBoat(boat);
contact1.setObserver(user);
contact1.setSampleRow(row);
- contact1.setState(ContactState.BOARDING_DONE.toString());
+ contact1.setContactState(ContactState.BOARDING_DONE);
Date begin = DateUtils.createDate(3, 3, 2009);
contact1.setTideBeginDate(begin);
contact1.setValidationCompany(Boolean.TRUE);
@@ -162,7 +162,7 @@
contact2.setBoat(boat);
contact2.setObserver(user);
contact2.setSampleRow(row);
- contact2.setState(ContactState.BOARDING_DONE.toString());
+ contact2.setContactState(ContactState.BOARDING_DONE);
begin = DateUtils.createDate(3, 3, 2009);
contact2.setTideBeginDate(begin);
contact2.setValidationCompany(Boolean.TRUE);
@@ -172,7 +172,7 @@
contact3.setBoat(boat2);
contact3.setObserver(user);
contact3.setSampleRow(row);
- contact3.setState(ContactState.BOARDING_DONE.toString());
+ contact3.setContactState(ContactState.BOARDING_DONE);
begin = DateUtils.createDate(3, 3, 2009);
contact3.setTideBeginDate(begin);
contact3.setValidationCompany(Boolean.TRUE);
@@ -243,7 +243,7 @@
contact1.setSampleRow(row);
// 1 real observer over 1
contact1.setNbObservants(1);
- contact1.setState(ContactState.BOARDING_DONE.toString());
+ contact1.setContactState(ContactState.BOARDING_DONE);
Date begin = DateUtils.createDate(3, 3, 2009);
contact1.setTideBeginDate(begin);
contact1.setValidationCompany(Boolean.TRUE);
@@ -255,7 +255,7 @@
contact2.setSampleRow(row);
// 2 real observer over 1
contact2.setNbObservants(2);
- contact2.setState(ContactState.BOARDING_DONE.toString());
+ contact2.setContactState(ContactState.BOARDING_DONE);
begin = DateUtils.createDate(3, 3, 2009);
contact2.setTideBeginDate(begin);
contact2.setValidationCompany(Boolean.TRUE);
@@ -267,7 +267,7 @@
contact3.setSampleRow(row2);
// 1 real observer over 2
contact3.setNbObservants(1);
- contact3.setState(ContactState.BOARDING_DONE.toString());
+ contact3.setContactState(ContactState.BOARDING_DONE);
begin = DateUtils.createDate(3, 3, 2009);
contact3.setTideBeginDate(begin);
contact3.setValidationCompany(Boolean.TRUE);
@@ -346,21 +346,21 @@
// Contacts for company TARTANPION
Contact contact1 = new ContactImpl();
contact1.setObserver(user);
- contact1.setState(ContactState.BOARDING_DONE.toString());
+ contact1.setContactState(ContactState.BOARDING_DONE);
Date begin = DateUtils.createDate(3, 3, 2009);
contact1.setTideBeginDate(begin);
serviceContact.saveContact(contact1, false);
Contact contact2 = new ContactImpl();
contact2.setObserver(user);
- contact2.setState(ContactState.BOARDING_DONE.toString());
+ contact2.setContactState(ContactState.BOARDING_DONE);
begin = DateUtils.createDate(3, 10, 2009);
contact2.setTideBeginDate(begin);
serviceContact.saveContact(contact2, false);
Contact contact3 = new ContactImpl();
contact3.setObserver(user);
- contact3.setState(ContactState.BOAT_REFUSED.toString());
+ contact3.setContactState(ContactState.BOAT_REFUSED);
begin = DateUtils.createDate(3, 5, 2009);
contact3.setTopiaCreateDate(begin);
serviceContact.saveContact(contact3, false);
@@ -368,14 +368,14 @@
// Contacts for company BIS
Contact contact4 = new ContactImpl();
contact4.setObserver(user2);
- contact4.setState(ContactState.BOARDING_EXPECTED.toString());
+ contact4.setContactState(ContactState.BOARDING_EXPECTED);
begin = DateUtils.createDate(3, 5, 2009);
contact4.setTopiaCreateDate(begin);
serviceContact.saveContact(contact4, false);
Contact contact5 = new ContactImpl();
contact5.setObserver(user2);
- contact5.setState(ContactState.BOAT_UNAVAILABLE.toString());
+ contact5.setContactState(ContactState.BOAT_UNAVAILABLE);
begin = DateUtils.createDate(3, 3, 2010);
contact5.setTopiaCreateDate(begin);
serviceContact.saveContact(contact5, false);
@@ -383,7 +383,7 @@
// Contact refused by program, will not be in result
Contact contact6 = new ContactImpl();
contact6.setObserver(user2);
- contact6.setState(ContactState.BOAT_UNAVAILABLE.toString());
+ contact6.setContactState(ContactState.BOAT_UNAVAILABLE);
begin = DateUtils.createDate(3, 3, 2010);
contact6.setTopiaCreateDate(begin);
contact6.setValidationProgram(Boolean.FALSE);
@@ -493,7 +493,7 @@
contact1.setTideBeginDate(begin);
Date inputDate = DateUtils.createDate(15, 4, 2009);
contact1.setDataInputDate(inputDate);
- contact1.setState(ContactState.BOARDING_DONE.toString());
+ contact1.setContactState(ContactState.BOARDING_DONE);
contact1.setValidationCompany(Boolean.TRUE);
serviceContact.saveContact(contact1, false);
@@ -503,7 +503,7 @@
contact2.setTideBeginDate(begin);
inputDate = DateUtils.createDate(15, 3, 2009);
contact2.setDataInputDate(inputDate);
- contact2.setState(ContactState.BOARDING_DONE.toString());
+ contact2.setContactState(ContactState.BOARDING_DONE);
contact2.setValidationCompany(Boolean.TRUE);
serviceContact.saveContact(contact2, false);
@@ -512,7 +512,7 @@
begin = DateUtils.createDate(3, 3, 2009);
contact3.setTideBeginDate(begin);
contact3.setDataInputDate(begin);
- contact3.setState(ContactState.BOARDING_DONE.toString());
+ contact3.setContactState(ContactState.BOARDING_DONE);
contact3.setValidationCompany(Boolean.TRUE);
serviceContact.saveContact(contact3, false);
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java 2010-03-25 11:06:45 UTC (rev 387)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java 2010-03-25 12:35:07 UTC (rev 388)
@@ -117,7 +117,7 @@
user1.setLogin("user1");
user1.setFirstName("Jean");
user1.setLastName("Michmuche");
- user1.setRole(UserRole.OBSERVER.ordinal());
+ user1.setUserRole(UserRole.OBSERVER);
user1.setCompany(company);
user1.setActive(true);
service.createUpdateUser(user1, true);
@@ -126,7 +126,7 @@
user2.setLogin("user2");
user2.setFirstName("Jack");
user2.setLastName("Pot");
- user2.setRole(UserRole.ADMIN.ordinal());
+ user2.setUserRole(UserRole.ADMIN);
user2.setCompany(company);
user2.setActive(true);
service.createUpdateUser(user2, true);
@@ -135,7 +135,7 @@
user3.setLogin("user3");
user3.setFirstName("Denis");
user3.setLastName("La Malice");
- user3.setRole(UserRole.OBSERVER.ordinal());
+ user3.setUserRole(UserRole.OBSERVER);
user3.setCompany(company);
user3.setActive(false);
service.createUpdateUser(user3, true);
@@ -145,7 +145,7 @@
user4.setFirstName("Ben");
user4.setLastName("Hur");
// The coordinator is also an observer
- user4.setRole(UserRole.COORDINATOR.ordinal());
+ user4.setUserRole(UserRole.COORDINATOR);
user4.setCompany(company);
user4.setActive(true);
service.createUpdateUser(user4, true);
Modified: trunk/wao-business/src/test/resources/log4j.properties
===================================================================
--- trunk/wao-business/src/test/resources/log4j.properties 2010-03-25 11:06:45 UTC (rev 387)
+++ trunk/wao-business/src/test/resources/log4j.properties 2010-03-25 12:35:07 UTC (rev 388)
@@ -10,3 +10,4 @@
log4j.logger.fr.ifremer.wao=INFO
log4j.logger.org.nuiton.util=INFO
+log4j.logger.org.nuiton.util.beans.BinderProvider=ERROR
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/BusinessUtils.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/BusinessUtils.java 2010-03-25 11:06:45 UTC (rev 387)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/BusinessUtils.java 2010-03-25 12:35:07 UTC (rev 388)
@@ -130,7 +130,7 @@
boolean accepted = BooleanUtils.isTrue(contact.getValidationProgram()) ||
(!admin && BooleanUtils.isTrue(contact.getValidationCompany()));
- ContactState state = ContactState.createContactStateEnum(contact.getState());
+ ContactState state = contact.getContactState();
if (BooleanUtils.isFalse(contact.getValidationProgram()) ||
(!admin && BooleanUtils.isFalse(contact.getValidationCompany()))) {
result = "refused";
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2010-03-25 11:06:45 UTC (rev 387)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2010-03-25 12:35:07 UTC (rev 388)
@@ -23,6 +23,7 @@
import fr.ifremer.wao.WaoBusinessException;
import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.CompanyImpl;
import fr.ifremer.wao.entity.WaoUser;
@@ -229,6 +230,8 @@
log.debug("Set company for new user : " + getCompany().getName());
}
user.setCompany(getCompany());
+ // Default role set to OBSERVER
+ user.setUserRole(UserRole.OBSERVER);
}
}
return user;
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2010-03-25 11:06:45 UTC (rev 387)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2010-03-25 12:35:07 UTC (rev 388)
@@ -29,6 +29,7 @@
import fr.ifremer.wao.bean.ContactFilterImpl;
import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.ImportResults;
+import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.SampleRow;
@@ -264,8 +265,6 @@
@Property
@Persist(PersistenceConstants.FLASH)
private String contactUserId;
-
- private ContactState contactState;
private boolean even = true;
@@ -298,14 +297,6 @@
return contactModel;
}
- public ContactState getContactState() {
- if (contactState == null) {
- // initialization
- this.contactState = ContactState.createContactStateEnum(contactEdited.getState());
- }
- return this.contactState;
- }
-
public GenericSelectModel<WaoUser> getUserSelectModel() {
if (userSelectModel == null) {
List<WaoUser> users = user.getCompany().getWaoUser();
@@ -317,10 +308,6 @@
return userSelectModel;
}
- public void setContactState(ContactState contactState) {
- this.contactState = contactState;
- }
-
public String getCommentDisplayed() {
if (contact.getComment() != null && contact.getComment().length() > 20) {
return contact.getComment().substring(0, 20) + "...";
@@ -392,25 +379,52 @@
return !user.isAdmin() && contact.getValidationCompany() == null;
}
+ /**
+ * Display validation actions. Evo #2063 : only coordinator can validate
+ * for a company.
+ *
+ * @return true if the validation actions can be displayed
+ */
+ public boolean hasValidationActions() {
+ return user.isAdmin() ||
+ user.getUserRole().equals(UserRole.COORDINATOR);
+ }
+
public boolean canValidate() {
// Can't validate during edition of the contact row
if (isEditionMode()) {
return false;
}
- ContactState state = ContactState.createContactStateEnum(contact.getState());
- boolean boardingDone = state.equals(ContactState.BOARDING_DONE) && contact.getDataInputDate() != null;
- if (!user.isAdmin()) {
- return contact.getValidationCompany() == null && (state.isUnfinishedState() || boardingDone);
+ switch (user.getUserRole()) {
+ case ADMIN:
+ return contact.getValidationProgram() == null &&
+ BooleanUtils.isTrue(contact.getValidationCompany());
+ // Evo #2063 : only coordinator can validate
+ case COORDINATOR:
+ ContactState state = contact.getContactState();
+ boolean boardingDone =
+ state.equals(ContactState.BOARDING_DONE) &&
+ contact.getDataInputDate() != null;
+ return contact.getValidationCompany() == null &&
+ (state.isUnfinishedState() || boardingDone);
+ case OBSERVER:
+ default:
+ return false;
}
- return contact.getValidationProgram() == null && BooleanUtils.isTrue(contact.getValidationCompany());
}
public boolean canUnvalidate() {
- if (!user.isAdmin()) {
- return contact.getValidationCompany() != null &&
+ switch (user.getUserRole()) {
+ case ADMIN:
+ return contact.getValidationProgram() != null;
+ // Evo #2063 : only coordinator can unvalidate
+ case COORDINATOR:
+ return contact.getValidationCompany() != null &&
contact.getValidationProgram() == null;
+ case OBSERVER:
+ default:
+ return false;
}
- return contact.getValidationProgram() != null;
}
void onSelectedFromAcceptContact(String contactId) throws WaoException {
@@ -487,7 +501,7 @@
log.debug("Save contact : " + contactId);
}
// ContactEdited is in session, previously set by Edit action
- contactEdited.setState(contactState.toString());
+// contactEdited.setState(contactState.toString());
WaoUser contactUser = getUserSelectModel().findObject(contactUserId);
contactEdited.setObserver(contactUser);
@@ -532,6 +546,7 @@
contactsForm.clearErrors();
// Validation for saving contact depends on contactState (only edition
// form)
+ ContactState contactState = contactEdited.getContactState();
if (!edited && contactState != null) {
if (log.isInfoEnabled()) {
log.info("For state : " + contactState);
Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Administration.properties
===================================================================
--- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Administration.properties 2010-03-25 11:06:45 UTC (rev 387)
+++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Administration.properties 2010-03-25 12:35:07 UTC (rev 388)
@@ -13,4 +13,11 @@
login-label: Identifiant de connexion (email)*
active-label: Actif
generatePassword-label: G\u00E9n\u00E9rer le password
-password-label: ou d\u00E9finir manuellement
\ No newline at end of file
+password-label: ou d\u00E9finir manuellement
+userRole-label: R\u00F4le
+readOnly-label: Lecture seule
+
+# UserRole
+UserRole.ADMIN: Administrateur
+UserRole.OBSERVER: Observateur
+UserRole.COORDINATOR: Coordinateur
\ No newline at end of file
Modified: trunk/wao-ui/src/main/webapp/Administration.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Administration.tml 2010-03-25 11:06:45 UTC (rev 387)
+++ trunk/wao-ui/src/main/webapp/Administration.tml 2010-03-25 12:35:07 UTC (rev 388)
@@ -50,25 +50,32 @@
</form>
<fieldset class="user-form clearfix">
- <form t:type="beaneditform" class="clearfix" t:id="user" t:include="firstName, lastName, login, password, phoneNumber, admin, active">
+ <form t:type="beaneditform" class="clearfix" t:id="user"
+ t:include="firstName, lastName, login, password, phoneNumber, userRole, readOnly, active">
<p:firstName>
- <t:label t:for="firstName" />
+ <label t:type="label" for="firstName" />
<input t:type="textfield" t:id="firstName" value="user.firstName" t:validate="required" />
</p:firstName>
<p:lastName>
- <t:label t:for="lastName" />
+ <label t:type="label" for="lastName" />
<input t:type="textfield" t:id="lastName" value="user.lastName" t:validate="required" />
</p:lastName>
<p:login>
- <t:label t:for="login" />
+ <label t:type="label" for="login" />
<input t:type="textfield" t:id="login" value="user.login" t:validate="required" />
</p:login>
<p:password>
- <t:label t:for="generatePassword" />
+ <label t:type="label" for="generatePassword" />
<input t:type="checkbox" t:id="generatePassword" value="generatePassword" />
<span> ou définir manuellement : </span>
<input t:type="passwordfield" t:id="password2" value="password" />
</p:password>
+ <p:userRole>
+ <label t:type="label" for="userRole" />
+ <select t:type="select" t:id="userRole" t:value="user.userRole" t:validate="required">
+ <option></option>
+ </select>
+ </p:userRole>
</form>
</fieldset>
</t:if>
Modified: trunk/wao-ui/src/main/webapp/Contacts.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Contacts.tml 2010-03-25 11:06:45 UTC (rev 387)
+++ trunk/wao-ui/src/main/webapp/Contacts.tml 2010-03-25 12:35:07 UTC (rev 388)
@@ -158,7 +158,7 @@
</p:boatCell>
<p:stateCell>
<t:if t:test="editionMode">
- <input t:type="select" t:id="contactState" t:validate="required"/>
+ <input t:type="select" t:id="contactState" t:value="contactEdited.contactState" t:validate="required"/>
<p:else>${contact.state}</p:else>
</t:if>
</p:stateCell>
@@ -219,7 +219,7 @@
<p:commentCell>
<t:if t:test="editionMode">
<!--<span t:type="ck/Tooltip" title="Commentaire" t:value="prop:commentTooltip" t:effect="appear">-->
- <a href="#" onclick="openCommentWindow(windowComment, 'commentPopup', 'contact-comment', ${contactstate.isUnfinishedState()})">
+ <a href="#" onclick="openCommentWindow(windowComment, 'commentPopup', 'contact-comment', ${contact.contactState.isUnfinishedState()})">
<img src="${asset:context:}/img/comment-22px.png" id="commentImg" alt="Add comment" />
</a>
<!--</span>-->
@@ -233,7 +233,7 @@
</p>
<p> </p>
<p class="aright">
- <a onclick="closeCommentWindow(windowComment, 'commentPopup', 'contact-comment', ${contactstate.isUnfinishedState()}, 'commentImg', '${asset:context:}')" class="save">
+ <a onclick="closeCommentWindow(windowComment, 'commentPopup', 'contact-comment', ${contact.contactState.isUnfinishedState()}, 'commentImg', '${asset:context:}')" class="save">
<img src="${asset:context:}/img/save-22px.png" alt="Save comment" title="Enregistrer le commentaire"/>
</a>
</p>
@@ -270,22 +270,24 @@
</t:unless>
</p:else>
</t:if>
- <t:if t:test="canValidate()">
- <input t:type="submitContext" t:id="acceptContact" class="ico22px accept" value="Accept"
- t:context="contact.topiaId" title="Valider le contact" />
- <input t:type="submitContext" t:id="refuseContact" class="ico22px refuse" value="Refuse"
- t:context="contact.topiaId" title="Refuser le contact" />
- <p:else>
- <t:unless t:test="canUnvalidate()">
- <img src="${asset:context:}/img/accept-unavailable-22px.png" alt="Accept unavailable" title="Validation du contact indisponible"/>
- <img src="${asset:context:}/img/refuse-unavailable-22px.png" alt="Refuse unavailable" title="Refus du contact indisponible"/>
- </t:unless>
- </p:else>
+ <t:if t:test="hasValidationActions()">
+ <t:if t:test="canValidate()">
+ <input t:type="submitContext" t:id="acceptContact" class="ico22px accept" value="Accept"
+ t:context="contact.topiaId" title="Valider le contact" />
+ <input t:type="submitContext" t:id="refuseContact" class="ico22px refuse" value="Refuse"
+ t:context="contact.topiaId" title="Refuser le contact" />
+ <p:else>
+ <t:unless t:test="canUnvalidate()">
+ <img src="${asset:context:}/img/accept-unavailable-22px.png" alt="Accept unavailable" title="Validation du contact indisponible"/>
+ <img src="${asset:context:}/img/refuse-unavailable-22px.png" alt="Refuse unavailable" title="Refus du contact indisponible"/>
+ </t:unless>
+ </p:else>
+ </t:if>
+ <t:if t:test="canUnvalidate()">
+ <input t:type="submitContext" t:id="unvalidateContact" class="ico22px unvalidate" value="Unvalidate"
+ t:context="contact.topiaId" title="Enlever la validation du contact" />
+ </t:if>
</t:if>
- <t:if t:test="canUnvalidate()">
- <input t:type="submitContext" t:id="unvalidateContact" class="ico22px unvalidate" value="Unvalidate"
- t:context="contact.topiaId" title="Enlever la validation du contact" />
- </t:if>
</p:actionsCell>
</div>
</form>
1
0
[Suiviobsmer-commits] r387 - in trunk: . wao-business/src/main/java/fr/ifremer/wao wao-business/src/main/java/fr/ifremer/wao/bean wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/xmi
by fdesbois@users.labs.libre-entreprise.org 25 Mar '10
by fdesbois@users.labs.libre-entreprise.org 25 Mar '10
25 Mar '10
Author: fdesbois
Date: 2010-03-25 11:06:45 +0000 (Thu, 25 Mar 2010)
New Revision: 387
Modified:
trunk/pom.xml
trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java
trunk/wao-business/src/main/xmi/wao.zargo
Log:
- Use last topia snapshot
- Add missing initialization on readOnly boolean for migration
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-03-25 08:57:20 UTC (rev 386)
+++ trunk/pom.xml 2010-03-25 11:06:45 UTC (rev 387)
@@ -216,7 +216,7 @@
<!-- libraries version -->
<nuitonutils.version>1.2</nuitonutils.version>
- <topia.version>2.3</topia.version>
+ <topia.version>2.3.1-SNAPSHOT</topia.version>
<eugene.version>2.0</eugene.version>
<tapestry.version>5.1.0.5</tapestry.version>
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java 2010-03-25 08:57:20 UTC (rev 386)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java 2010-03-25 11:06:45 UTC (rev 387)
@@ -25,6 +25,9 @@
queries.add("ALTER TABLE WaoUser DROP COLUMN admin;");
// Evo #1980
queries.add("ALTER TABLE WaoUser ADD readOnly BOOLEAN;");
+ // need to initialize readOnly, the entity property has the primitive
+ // type boolean
+ queries.add("UPDATE WaoUser SET readOnly = FALSE;");
}
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterImpl.java 2010-03-25 08:57:20 UTC (rev 386)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterImpl.java 2010-03-25 11:06:45 UTC (rev 387)
@@ -76,7 +76,11 @@
if (getProgramRefused()) {
programValidValues.add(Boolean.FALSE);
}
- query.add(contact + "." + Contact.VALIDATION_PROGRAM, programValidValues, getProgramUndefined());
+ if (getProgramUndefined()) {
+ programValidValues.add(null);
+ }
+ query.add(contact + "." + Contact.VALIDATION_PROGRAM,
+ programValidValues.toArray());
List<Object> companyValidValues = new ArrayList<Object>();
if (getCompanyAccepted()) {
@@ -85,7 +89,11 @@
if (getCompanyRefused()) {
companyValidValues.add(Boolean.FALSE);
}
- query.add(contact + "." + Contact.VALIDATION_COMPANY, companyValidValues, getCompanyUndefined());
+ if (getCompanyUndefined()) {
+ companyValidValues.add(null);
+ }
+ query.add(contact + "." + Contact.VALIDATION_COMPANY,
+ companyValidValues.toArray());
if (getState() != null) {
query.add(contact + "." + Contact.STATE, getState().toString());
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2010-03-25 08:57:20 UTC (rev 386)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2010-03-25 11:06:45 UTC (rev 387)
@@ -37,9 +37,6 @@
import fr.ifremer.wao.entity.*;
import fr.ifremer.wao.io.WaoCsvHeader.FISHING_ZONE;
import fr.ifremer.wao.io.WaoCsvHeader.SAMPLING;
-import fr.ifremer.wao.io.WaoCsvHeader.SamplingHeader;
-import fr.ifremer.wao.io.ExportHelper;
-import fr.ifremer.wao.io.ExportHelper;
import fr.ifremer.wao.io.SamplingExport;
import java.io.File;
import java.io.FileInputStream;
@@ -64,9 +61,10 @@
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.framework.TopiaQuery;
import org.nuiton.topia.framework.TopiaQuery.Op;
-import org.nuiton.topia.persistence.util.EntityLoador;
import org.nuiton.util.DateUtils;
import org.nuiton.util.PeriodDates;
+import org.nuiton.util.beans.BinderBuilder;
+import org.nuiton.util.beans.BinderProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -89,6 +87,7 @@
public ServiceSamplingImpl() throws WaoException {
rootContext = WaoContext.getTopiaRootContext();
+ prepareBinderForProfession();
}
@Override
@@ -506,8 +505,9 @@
}
/**
- * Create a new profession from an existing one. Copy all attributes values from
- * the profession in argument to a new profession not created yet in database.
+ * Create a new profession from an existing one. Copy all attributes values
+ * from the profession in argument to a new profession not created yet in
+ * database.
*
* @param profession the profession source
* @return a new Profession
@@ -515,12 +515,33 @@
@Override
public Profession getNewProfession(Profession profession) {
Profession newProfession = new ProfessionImpl();
- EntityLoador<Profession> loador = EntityLoador.newEntityLoador(Profession.class,
- Profession.CODE_DCF5, Profession.LIBELLE, Profession.MESH_SIZE, Profession.OTHER, Profession.SIZE, Profession.SPECIES);
- loador.load(profession, newProfession, false);
+ // Use of Binder previously initialized to copy the existing
+ // profession in a new one
+ BinderProvider.getBinder(Profession.class).
+ copy(profession, newProfession);
return newProfession;
}
+ /**
+ * Prepare the Binder for Profession copy. This method is called in
+ * service constructor. The copy from two Profession will be available
+ * anywhere using BinderProvider.get(Profession.class).copy(source, dest);
+ *
+ * @see org.nuiton.util.beans.Binder
+ * @see org.nuiton.util.beans.BinderProvider
+ */
+ protected void prepareBinderForProfession() {
+ BinderBuilder builder = new BinderBuilder();
+ builder.createBinderModel(Profession.class).addSimpleProperties(
+ Profession.CODE_DCF5,
+ Profession.LIBELLE,
+ Profession.MESH_SIZE,
+ Profession.OTHER,
+ Profession.SIZE,
+ Profession.SPECIES);
+ BinderProvider.registerBinder(builder);
+ }
+
@Override
public InputStream exportSamplingPlanCsv(WaoUser user, PeriodDates period) throws WaoException {
TopiaContext transaction = null;
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2010-03-25 08:57:20 UTC (rev 386)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2010-03-25 11:06:45 UTC (rev 387)
@@ -39,6 +39,7 @@
import java.util.List;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.framework.TopiaQuery;
+import org.nuiton.topia.framework.TopiaQuery.Op;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -322,7 +323,8 @@
WaoUserDAO dao = WaoModelDAOHelper.getWaoUserDAO(transaction);
TopiaQuery query = dao.createQuery().
- add(WaoUser.ROLE + " != " + UserRole.ADMIN.ordinal());
+ add(WaoUser.ROLE, UserRole.OBSERVER.ordinal(),
+ UserRole.COORDINATOR.ordinal());
if (activeOnly) {
query.add(WaoUser.ACTIVE, Boolean.TRUE);
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
1
0
25 Mar '10
Author: fdesbois
Date: 2010-03-25 08:57:20 +0000 (Thu, 25 Mar 2010)
New Revision: 386
Added:
trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/UserRole.java
trunk/wao-business/src/main/resources/oldmappings/
trunk/wao-business/src/main/resources/oldmappings/WaoModel/
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ActivityCalendarImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ActivityMonthImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ActivityProfessionImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ActivityZoneImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/BoatImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/BoatInfosImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/CompanyImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ContactImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ElligibleBoatImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/FishingZoneImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/NewsImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ProfessionImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/SampleMonthImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/SampleRowImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/SampleRowLogImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ShipOwnerImpl.hbm.xml
trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/WaoUserImpl.hbm.xml
trunk/wao-business/src/test/java/fr/ifremer/wao/service/
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ActivityCalendarImportTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java
Removed:
trunk/wao-business/src/test/java/fr/ifremer/wao/services/ActivityCalendarImportTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/services/ServiceBoatImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/services/ServiceReferentialImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/services/ServiceSamplingImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/services/ServiceSynthesisImplTest.java
Modified:
trunk/wao-business/pom.xml
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoGlobal.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoRunnerImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/SamplingExport.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java
trunk/wao-business/src/main/xmi/wao.zargo
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/Layout.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java
Log:
Evo #2063/1980 :
- Update model to add readOnly and userRole (suppression of boolean admin)
- Add migration callback for 1.1
- Add UserRole enum
Modified: trunk/wao-business/pom.xml
===================================================================
--- trunk/wao-business/pom.xml 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-business/pom.xml 2010-03-25 08:57:20 UTC (rev 386)
@@ -140,7 +140,7 @@
<goal>smart-generate</goal>
</goals>
</execution>
-<!-- <execution>
+ <execution>
<phase>generate-sources</phase>
<id>copy-version-files</id>
<configuration>
@@ -153,7 +153,7 @@
<goals>
<goal>copyVersionFiles</goal>
</goals>
- </execution>-->
+ </execution>
</executions>
</plugin>
</plugins>
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,30 @@
+
+package fr.ifremer.wao;
+
+import java.util.List;
+
+/**
+ * PgMigrationCallback
+ *
+ * Created: 24 mars 2010
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public class PgMigrationCallback extends WaoMigrationCallBack {
+
+ @Override
+ protected void createUserRoleColumn_1_1(List<String> queries) {
+ // Evo #2063
+ queries.add("ALTER TABLE WaoUser ADD role SMALLINT;");
+ queries.add("UPDATE WaoUser SET role = 0 WHERE admin = TRUE;");
+ queries.add("UPDATE WaoUser SET role = 1 WHERE admin = FALSE;");
+ queries.add("ALTER TABLE WaoUser DROP COLUMN admin;");
+ // Evo #1980
+ queries.add("ALTER TABLE WaoUser ADD readOnly BOOLEAN;");
+ }
+
+}
Property changes on: trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java
___________________________________________________________________
Added: svn:keywords
+ "Author Date Id Revision HeadURL"
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoGlobal.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoGlobal.java 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoGlobal.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -21,6 +21,7 @@
package fr.ifremer.wao;
+import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.CompanyDAO;
import fr.ifremer.wao.entity.WaoUser;
@@ -75,7 +76,7 @@
String password = WaoContext.encodeString("password");
WaoUser user = dao.create(
- WaoUser.ADMIN, true,
+ WaoUser.ROLE, UserRole.ADMIN.ordinal(),
WaoUser.ACTIVE, true,
WaoUser.LOGIN, "admin",
WaoUser.PASSWORD, password,
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -20,8 +20,7 @@
*/
package fr.ifremer.wao;
-import fr.ifremer.wao.entity.SampleRow;
-import fr.ifremer.wao.entity.SampleRowDAO;
+import java.util.ArrayList;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
@@ -31,28 +30,31 @@
import java.util.List;
-public class WaoMigrationCallBack extends ManualMigrationCallback {
+public abstract class WaoMigrationCallBack extends ManualMigrationCallback {
/**
* Logger
*/
private static final Log log = LogFactory.getLog(WaoMigrationCallBack.class);
- public void migrateTo_0_4(TopiaContextImplementor tx,
+ public void migrateTo_1_1(TopiaContextImplementor tx,
boolean showSql,
boolean showProgression) throws TopiaException {
if (log.isInfoEnabled()) {
- log.info("Migrate to version 0.4");
+ log.info("Migrate to version 1.1");
}
- SampleRowDAO dao = WaoModelDAOHelper.getSampleRowDAO(tx);
- for (SampleRow row : dao.findAll()) {
- String newCode = WaoContext.prepareSampleRowCode(row.getCode());
- row.setCode(newCode);
- }
+ List<String> queries = new ArrayList<String>();
+
+ createUserRoleColumn_1_1(queries);
+
+ String[] strings = queries.toArray(new String[queries.size()]);
+
+ executeSQL(tx, showSql, showProgression, strings);
}
+ protected abstract void createUserRoleColumn_1_1(List<String> queries);
@Override
public boolean askUser(Version dbVersion,
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoRunnerImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoRunnerImpl.java 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoRunnerImpl.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -28,6 +28,8 @@
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.migration.ManualMigrationEngine;
import org.nuiton.util.ApplicationConfig;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* StartWao
@@ -44,6 +46,9 @@
private ApplicationConfig configuration;
+ private static final Logger logger =
+ LoggerFactory.getLogger(WaoRunnerImpl.class);
+
public WaoRunnerImpl() {
}
@@ -57,13 +62,38 @@
WaoModelDAOHelper.getImplementationClassesAsString());
// migration configuration
- // Temporarly unused before 1.0 version
-// configuration.setOption(ManualMigrationEngine.MIGRATION_APPLICATION_VERSION, WaoModelDAOHelper.getModelVersion());
-// configuration.setOption(ManualMigrationEngine.MIGRATION_MAPPING_DIRECTORY, "oldmappings");
-// configuration.setOption(ManualMigrationEngine.MIGRATION_MODEL_NAME, "WaoModel");
-// configuration.setOption("topia.service.migration", ManualMigrationEngine.class.getName());
-// configuration.setOption(ManualMigrationEngine.MIGRATION_CALLBACK, WaoMigrationCallBack.class.getName());
+ String callBackName = null;
+ String dialect = configuration.getOption("hibernate.dialect");
+ if (dialect.contains("PostgreSQL")) {
+ callBackName = PgMigrationCallback.class.getName();
+ } else if (dialect.contains("H2")) {
+ // Unsupported yet
+ callBackName = null;
+ }
+ if (callBackName != null) {
+ configuration.setOption(
+ ManualMigrationEngine.MIGRATION_APPLICATION_VERSION,
+ WaoModelDAOHelper.getModelVersion());
+ configuration.setOption(
+ ManualMigrationEngine.MIGRATION_MAPPING_DIRECTORY,
+ "oldmappings");
+ configuration.setOption(
+ ManualMigrationEngine.MIGRATION_MODEL_NAME,
+ WaoModelDAOHelper.getModelName());
+ configuration.setOption(
+ "topia.service.migration",
+ ManualMigrationEngine.class.getName());
+ configuration.setOption(
+ ManualMigrationEngine.MIGRATION_CALLBACK,
+ callBackName);
+ } else {
+ if (logger.isWarnEnabled()) {
+ logger.warn("Database with dialect " + dialect + " is not" +
+ "supported for migration from 1.0 version");
+ }
+ }
+
configuration.printConfig();
I18n.init(Locale.FRANCE);
@@ -72,7 +102,8 @@
// Create the default admin in database
WaoGlobal.createDefaultAdmin();
} catch (Exception eee) {
- WaoContext.serviceException(null, "Error during loadConfiguration from " +
+ WaoContext.serviceException(null,
+ "Error during loadConfiguration from " +
"'Wao.properties' file", eee);
}
}
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/UserRole.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/UserRole.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/UserRole.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,41 @@
+
+package fr.ifremer.wao.bean;
+
+/**
+ * UserRole
+ *
+ * Created: 24 mars 2010
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public enum UserRole {
+ /** Admin role **/
+ ADMIN("Administrateur"),
+ /** User/observer role **/
+ OBSERVER("Observateur"),
+ /** Coordinator role **/
+ COORDINATOR("Coordinateur");
+
+ private String libelle;
+
+ UserRole(String libelle) {
+ this.libelle = libelle;
+ }
+
+ public String getLibelle() {
+ return libelle;
+ }
+
+ public static UserRole valueOf(int ordinal) {
+ for (UserRole curr : UserRole.values()) {
+ if (curr.ordinal() == ordinal) {
+ return curr;
+ }
+ }
+ return null;
+ }
+}
Property changes on: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/UserRole.java
___________________________________________________________________
Added: svn:keywords
+ "Author Date Id Revision HeadURL"
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -22,6 +22,7 @@
package fr.ifremer.wao.entity;
import fr.ifremer.wao.WaoContext;
+import fr.ifremer.wao.bean.UserRole;
import java.io.Serializable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -76,4 +77,14 @@
return this.passwordChanged;
}
+ @Override
+ public boolean isAdmin() {
+ return getUserRole().equals(UserRole.ADMIN);
+ }
+
+ @Override
+ public UserRole getUserRole() {
+ return UserRole.valueOf(getRole());
+ }
+
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/SamplingExport.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/SamplingExport.java 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/SamplingExport.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -82,7 +82,7 @@
SamplingHeader header = WaoCsvHeader.getHeaderForSamplingCsv(index, nbHeadersForMonths);
// for an admin, same text as in Import (enum name)
// for a user, the text is complete
- result = user.getAdmin() ? header.name() : header.toString();
+ result = user.isAdmin() ? header.name() : header.toString();
}
return result;
}
@@ -110,7 +110,7 @@
String real = String.valueOf(sampleMonth.getRealTidesValue());
// The admin as only expected value (to be the same as
// in import)
- if (user.getAdmin()) {
+ if (user.isAdmin()) {
record(index, expected); //record[index] = expected;
// The user as both expected and real values
} else {
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -350,7 +350,8 @@
BoatDAO dao = WaoModelDAOHelper.getBoatDAO(transaction);
- results = (List<String>)dao.createQuery().addDistinct().setSelect(Boat.NAME).add(Boat.NAME, Op.LIKE, input + "%").execute();
+ results = dao.createQuery().addDistinct().setSelect(Boat.NAME).
+ add(Boat.NAME, Op.LIKE, input + "%").execute();
//transaction.closeContext();
} catch (Exception eee) {
@@ -618,7 +619,7 @@
}
// Log ActivityCalendar access only for non admin user
- if (!user.getAdmin()) {
+ if (!user.isAdmin()) {
Company company = user.getCompany();
WaoContext.addActivityCalendarAccessLog(
"Calendrier " + result.getYear() + " du navire " +
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -367,7 +367,7 @@
if (observer != null) {
Company company = user.getCompany();
// For an admin, get the company from database
- if (user.getAdmin()) {
+ if (user.isAdmin()) {
// FIXME-FD20100104 findContains not optimized in TopiaDAOImpl
company = companyDAO.findContainsWaoUser(observer);
// For a user, check if the observer as the same company as the current user
@@ -462,7 +462,7 @@
// Import validations only for superadmin and a new contact : useful for archives
// FIXME : can update validation when the user is the super admin
- if (newContact && user.getAdmin() && user.getLogin().equals("admin")) {
+ if (newContact && user.isAdmin() && user.getLogin().equals("admin")) {
if (log.isDebugEnabled()) {
log.debug("SuperAdmin import :: validations");
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -552,7 +552,7 @@
SampleRowDAO dao = WaoModelDAOHelper.getSampleRowDAO(transaction);
TopiaQuery query = dao.createQuery("S");
- if (!user.getAdmin()) {
+ if (!user.isAdmin()) {
query.add("S." + SampleRow.COMPANY, user.getCompany());
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -26,6 +26,7 @@
import fr.ifremer.wao.WaoException;
import fr.ifremer.wao.WaoModelDAOHelper;
import fr.ifremer.wao.WaoContext;
+import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.CompanyDAO;
import fr.ifremer.wao.entity.Contact;
@@ -227,11 +228,11 @@
try {
transaction = rootContext.beginTransaction();
- String userType = user.getAdmin() ? "administrateur" : "observateur";
+ String userType = user.isAdmin() ? "administrateur" : "observateur";
String msgBegin = "L'" + userType + " '" + user.getLogin() + "' ne peut pas être supprimé";
String msgEnd = "Vous pouvez cependant le désactiver pour qu'il ne puisse plus se connecter.";
- if (user.getAdmin()) {
+ if (user.isAdmin()) {
SampleRowLogDAO logDAO = WaoModelDAOHelper.getSampleRowLogDAO(transaction);
List<SampleRowLog> results = logDAO.findAllByAdmin(user);
@@ -320,7 +321,8 @@
transaction = rootContext.beginTransaction();
WaoUserDAO dao = WaoModelDAOHelper.getWaoUserDAO(transaction);
- TopiaQuery query = dao.createQuery().add(WaoUser.ADMIN, Boolean.FALSE);
+ TopiaQuery query = dao.createQuery().
+ add(WaoUser.ROLE + " != " + UserRole.ADMIN.ordinal());
if (activeOnly) {
query.add(WaoUser.ACTIVE, Boolean.TRUE);
Added: trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ActivityCalendarImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ActivityCalendarImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ActivityCalendarImpl.hbm.xml 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.ActivityCalendarImpl" table="activityCalendar" node="fr.ifremer.wao.entity.ActivityCalendarImpl" abstract="false" proxy="fr.ifremer.wao.entity.ActivityCalendar" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="year" type="int" access="field" column="year" node="year"/>
+ <property name="fiability" type="int" access="field" column="fiability" node="fiability"/>
+ <bag name="activityMonth" inverse="true" order-by="month" lazy="true" cascade="all,delete-orphan" node="activityMonth" embed-xml="false">
+ <key column="activityCalendar"/>
+ <one-to-many class="fr.ifremer.wao.entity.ActivityMonthImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ <many-to-one name="boat" class="fr.ifremer.wao.entity.BoatImpl" column="boat" node="boat/@topiaId" embed-xml="false"/>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ActivityMonthImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ActivityMonthImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ActivityMonthImpl.hbm.xml 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.ActivityMonthImpl" table="activityMonth" node="fr.ifremer.wao.entity.ActivityMonthImpl" abstract="false" proxy="fr.ifremer.wao.entity.ActivityMonth" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="harbourLibelle" type="text" access="field" column="harbourLibelle" node="harbourLibelle"/>
+ <property name="active" type="boolean" access="field" column="active" node="active"/>
+ <property name="nbBoardingPersons" type="java.lang.Integer" access="field" column="nbBoardingPersons" node="nbBoardingPersons"/>
+ <property name="nbSeaDays" type="java.lang.Integer" access="field" column="nbSeaDays" node="nbSeaDays"/>
+ <property name="nbFishingDays" type="java.lang.Integer" access="field" column="nbFishingDays" node="nbFishingDays"/>
+ <property name="month" type="int" access="field" column="month" node="month"/>
+ <property name="harbourCode" type="text" access="field" column="harbourCode" node="harbourCode"/>
+ <property name="harbourId" type="int" access="field" column="harbourId" node="harbourId"/>
+ <bag name="activityProfession" inverse="true" order-by="professionOrder" lazy="true" cascade="all,delete-orphan" node="activityProfession" embed-xml="false">
+ <key column="activityMonth"/>
+ <one-to-many class="fr.ifremer.wao.entity.ActivityProfessionImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ <many-to-one name="activityCalendar" class="fr.ifremer.wao.entity.ActivityCalendarImpl" column="activityCalendar" node="activityCalendar/@topiaId" embed-xml="false"/>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ActivityProfessionImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ActivityProfessionImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ActivityProfessionImpl.hbm.xml 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.ActivityProfessionImpl" table="activityProfession" node="fr.ifremer.wao.entity.ActivityProfessionImpl" abstract="false" proxy="fr.ifremer.wao.entity.ActivityProfession" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="code" type="text" access="field" column="code" node="code"/>
+ <property name="libelle" type="text" access="field" column="libelle" node="libelle"/>
+ <property name="id" type="int" access="field" column="id" node="id"/>
+ <property name="professionOrder" type="int" access="field" column="professionOrder" node="professionOrder"/>
+ <many-to-one name="activityMonth" class="fr.ifremer.wao.entity.ActivityMonthImpl" column="activityMonth" node="activityMonth/@topiaId" embed-xml="false"/>
+ <bag name="activityZone" inverse="true" order-by="zoneId" lazy="true" cascade="all,delete-orphan" node="activityZone" embed-xml="false">
+ <key column="activityProfession"/>
+ <one-to-many class="fr.ifremer.wao.entity.ActivityZoneImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ActivityZoneImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ActivityZoneImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ActivityZoneImpl.hbm.xml 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.ActivityZoneImpl" table="activityZone" node="fr.ifremer.wao.entity.ActivityZoneImpl" abstract="false" proxy="fr.ifremer.wao.entity.ActivityZone" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="zoneCode" type="text" access="field" column="zoneCode" node="zoneCode"/>
+ <property name="zoneLibelle" type="text" access="field" column="zoneLibelle" node="zoneLibelle"/>
+ <property name="zoneId" type="int" access="field" column="zoneId" node="zoneId"/>
+ <property name="gradiantCode" type="int" access="field" column="gradiantCode" node="gradiantCode"/>
+ <property name="gradiantLibelle" type="text" access="field" column="gradiantLibelle" node="gradiantLibelle"/>
+ <many-to-one name="activityProfession" class="fr.ifremer.wao.entity.ActivityProfessionImpl" column="activityProfession" node="activityProfession/@topiaId" embed-xml="false"/>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/BoatImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/BoatImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/BoatImpl.hbm.xml 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.BoatImpl" table="boat" node="fr.ifremer.wao.entity.BoatImpl" abstract="false" proxy="fr.ifremer.wao.entity.Boat" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="immatriculation" type="int" access="field" column="immatriculation" node="immatriculation" index="boat_immatriculation_idx" unique="true"/>
+ <property name="name" type="text" access="field" column="name" node="name"/>
+ <property name="districtCode" type="text" access="field" column="districtCode" node="districtCode"/>
+ <property name="boatLength" type="int" access="field" column="boatLength" node="boatLength"/>
+ <property name="buildYear" type="int" access="field" column="buildYear" node="buildYear"/>
+ <property name="active" type="boolean" access="field" column="active" node="active"/>
+ <many-to-one name="shipOwner" class="fr.ifremer.wao.entity.ShipOwnerImpl" column="shipOwner" lazy="false" node="shipOwner/@topiaId" embed-xml="false"/>
+ <bag name="companyBoatInfos" inverse="true" lazy="true" cascade="all,delete-orphan" node="companyBoatInfos" embed-xml="false">
+ <key column="boat"/>
+ <one-to-many class="fr.ifremer.wao.entity.BoatInfosImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ <bag name="activityCalendar" inverse="true" lazy="true" cascade="all,delete-orphan" node="activityCalendar" embed-xml="false">
+ <key column="boat"/>
+ <one-to-many class="fr.ifremer.wao.entity.ActivityCalendarImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ <bag name="elligibleBoat" inverse="true" order-by="companyActive" lazy="true" node="elligibleBoat" embed-xml="false">
+ <key column="boat"/>
+ <one-to-many class="fr.ifremer.wao.entity.ElligibleBoatImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/BoatInfosImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/BoatInfosImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/BoatInfosImpl.hbm.xml 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.BoatInfosImpl" table="boatInfos" node="fr.ifremer.wao.entity.BoatInfosImpl" abstract="false" proxy="fr.ifremer.wao.entity.BoatInfos" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="contactFirstName" type="text" access="field" column="contactFirstName" node="contactFirstName"/>
+ <property name="contactLastName" type="text" access="field" column="contactLastName" node="contactLastName"/>
+ <property name="contactEmail" type="text" access="field" column="contactEmail" node="contactEmail"/>
+ <property name="contactPhoneNumber" type="text" access="field" column="contactPhoneNumber" node="contactPhoneNumber"/>
+ <property name="dup" type="java.lang.Integer" access="field" column="dup" node="dup"/>
+ <property name="comment" type="text" access="field" column="comment" node="comment"/>
+ <many-to-one name="company" class="fr.ifremer.wao.entity.CompanyImpl" column="company" node="company/@topiaId" embed-xml="false" />
+ <many-to-one name="boat" class="fr.ifremer.wao.entity.BoatImpl" column="boat" node="boat/@topiaId" embed-xml="false" />
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/CompanyImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/CompanyImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/CompanyImpl.hbm.xml 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.CompanyImpl" table="company" node="fr.ifremer.wao.entity.CompanyImpl" abstract="false" proxy="fr.ifremer.wao.entity.Company" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="name" type="text" access="field" column="name" node="name"/>
+ <property name="phoneNumber" type="text" access="field" column="phoneNumber" node="phoneNumber"/>
+ <property name="address1" type="text" access="field" column="address1" node="address1"/>
+ <property name="address2" type="text" access="field" column="address2" node="address2"/>
+ <property name="active" type="boolean" access="field" column="active" node="active"/>
+ <property name="email" type="text" access="field" column="email" node="email"/>
+ <property name="city" type="text" access="field" column="city" node="city"/>
+ <property name="postalCode" type="int" access="field" column="postalCode" node="postalCode"/>
+ <bag name="waoUser" inverse="true" order-by="firstName,lastName" lazy="false" cascade="all,delete-orphan" node="waoUser" embed-xml="false">
+ <key column="company"/>
+ <one-to-many class="fr.ifremer.wao.entity.WaoUserImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ <bag name="boatBoatInfos" inverse="true" lazy="true" cascade="all,delete-orphan" node="boatBoatInfos" embed-xml="false">
+ <key column="company"/>
+ <one-to-many class="fr.ifremer.wao.entity.BoatInfosImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ContactImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ContactImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ContactImpl.hbm.xml 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.ContactImpl" table="contact" node="fr.ifremer.wao.entity.ContactImpl" abstract="false" proxy="fr.ifremer.wao.entity.Contact" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="tideBeginDate" type="java.util.Date" access="field" column="tideBeginDate" node="tideBeginDate"/>
+ <property name="tideEndDate" type="java.util.Date" access="field" column="tideEndDate" node="tideEndDate"/>
+ <property name="nbObservants" type="int" access="field" column="nbObservants" node="nbObservants"/>
+ <property name="mammalsObservation" type="boolean" access="field" column="mammalsObservation" node="mammalsObservation"/>
+ <property name="mammalsCapture" type="boolean" access="field" column="mammalsCapture" node="mammalsCapture"/>
+ <property name="validationProgram" type="java.lang.Boolean" access="field" column="validationProgram" node="validationProgram"/>
+ <property name="validationCompany" type="java.lang.Boolean" access="field" column="validationCompany" node="validationCompany"/>
+ <property name="dataInputDate" type="java.util.Date" access="field" column="dataInputDate" node="dataInputDate"/>
+ <property name="comment" type="text" access="field" column="comment" node="comment"/>
+ <property name="state" type="text" access="field" column="state" node="state"/>
+ <property name="tideNbDays" type="int" access="field" column="tideNbDays" node="tideNbDays"/>
+ <many-to-one name="observer" class="fr.ifremer.wao.entity.WaoUserImpl" column="observer" node="observer/@topiaId" embed-xml="false"/>
+ <many-to-one name="sampleRow" class="fr.ifremer.wao.entity.SampleRowImpl" column="sampleRow" lazy="false" node="sampleRow/@topiaId" embed-xml="false"/>
+ <many-to-one name="boat" class="fr.ifremer.wao.entity.BoatImpl" column="boat" lazy="false" node="boat/@topiaId" embed-xml="false"/>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ElligibleBoatImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ElligibleBoatImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ElligibleBoatImpl.hbm.xml 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.ElligibleBoatImpl" table="elligibleBoat" node="fr.ifremer.wao.entity.ElligibleBoatImpl" abstract="false" proxy="fr.ifremer.wao.entity.ElligibleBoat" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="globalActive" type="boolean" access="field" column="globalActive" node="globalActive"/>
+ <property name="companyActive" type="java.lang.Boolean" access="field" column="companyActive" node="companyActive"/>
+ <many-to-one name="boat" class="fr.ifremer.wao.entity.BoatImpl" column="boat" lazy="false" node="boat/@topiaId" embed-xml="false"/>
+ <many-to-one name="sampleRow" class="fr.ifremer.wao.entity.SampleRowImpl" column="sampleRow" node="sampleRow/@topiaId" embed-xml="false"/>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/FishingZoneImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/FishingZoneImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/FishingZoneImpl.hbm.xml 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.FishingZoneImpl" table="fishingZone" node="fr.ifremer.wao.entity.FishingZoneImpl" abstract="false" proxy="fr.ifremer.wao.entity.FishingZone" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="sectorName" type="text" access="field" column="sectorName" node="sectorName"/>
+ <property name="facadeName" type="text" access="field" column="facadeName" node="facadeName"/>
+ <property name="districtCode" type="text" access="field" column="districtCode" node="districtCode"/>
+ <bag name="sampleRow" table="fishingzone_samplerow" lazy="true" node="sampleRow" embed-xml="true">
+ <key column="fishingZone"/>
+ <many-to-many class="fr.ifremer.wao.entity.SampleRowImpl" column="sampleRow" order-by="code" node="topiaId"/>
+ </bag>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/NewsImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/NewsImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/NewsImpl.hbm.xml 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.NewsImpl" table="news" node="fr.ifremer.wao.entity.NewsImpl" abstract="false" proxy="fr.ifremer.wao.entity.News" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="title" type="text" access="field" column="title" node="title"/>
+ <property name="content" type="text" access="field" column="content" node="content"/>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ProfessionImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ProfessionImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ProfessionImpl.hbm.xml 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.ProfessionImpl" table="profession" node="fr.ifremer.wao.entity.ProfessionImpl" abstract="false" proxy="fr.ifremer.wao.entity.Profession" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="codeDCF5" type="text" access="field" column="codeDCF5" node="codeDCF5"/>
+ <property name="meshSize" type="text" access="field" column="meshSize" node="meshSize"/>
+ <property name="size" type="text" access="field" column="size" node="size"/>
+ <property name="other" type="text" access="field" column="other" node="other"/>
+ <property name="libelle" type="text" access="field" column="libelle" node="libelle"/>
+ <property name="species" type="text" access="field" column="species" node="species"/>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/SampleMonthImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/SampleMonthImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/SampleMonthImpl.hbm.xml 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.SampleMonthImpl" table="sampleMonth" node="fr.ifremer.wao.entity.SampleMonthImpl" abstract="false" proxy="fr.ifremer.wao.entity.SampleMonth" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="realTidesValue" type="int" access="field" column="realTidesValue" node="realTidesValue"/>
+ <property name="expectedTidesValue" type="int" access="field" column="expectedTidesValue" node="expectedTidesValue"/>
+ <property name="periodDate" type="java.util.Date" access="field" column="periodDate" node="periodDate"/>
+ <many-to-one name="sampleRow" class="fr.ifremer.wao.entity.SampleRowImpl" column="sampleRow" node="sampleRow/@topiaId" embed-xml="false"/>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/SampleRowImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/SampleRowImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/SampleRowImpl.hbm.xml 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.SampleRowImpl" table="sampleRow" node="fr.ifremer.wao.entity.SampleRowImpl" abstract="false" proxy="fr.ifremer.wao.entity.SampleRow" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="nbObservants" type="int" access="field" column="nbObservants" node="nbObservants"/>
+ <property name="averageTideTime" type="double" access="field" column="averageTideTime" node="averageTideTime"/>
+ <property name="code" type="text" access="field" column="code" node="code" index="sampleRow_code_idx" unique="true"/>
+ <property name="fishingZonesInfos" type="text" access="field" column="fishingZonesInfos" node="fishingZonesInfos"/>
+ <property name="comment" type="text" access="field" column="comment" node="comment"/>
+ <property name="programName" type="text" access="field" column="programName" node="programName"/>
+ <property name="periodBegin" type="java.util.Date" access="field" column="periodBegin" node="periodBegin"/>
+ <property name="periodEnd" type="java.util.Date" access="field" column="periodEnd" node="periodEnd"/>
+ <many-to-one name="profession" class="fr.ifremer.wao.entity.ProfessionImpl" column="profession" lazy="false" node="profession/@topiaId" embed-xml="false"/>
+ <bag name="sampleMonth" inverse="true" order-by="periodDate" lazy="false" cascade="all,delete-orphan" node="sampleMonth" embed-xml="false">
+ <key column="sampleRow"/>
+ <one-to-many class="fr.ifremer.wao.entity.SampleMonthImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ <many-to-one name="company" class="fr.ifremer.wao.entity.CompanyImpl" column="company" lazy="false" node="company/@topiaId" embed-xml="false"/>
+ <bag name="sampleRowLog" inverse="true" order-by="topiaCreateDate desc" lazy="false" cascade="all,delete-orphan" node="sampleRowLog" embed-xml="false">
+ <key column="sampleRow"/>
+ <one-to-many class="fr.ifremer.wao.entity.SampleRowLogImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ <bag name="elligibleBoat" inverse="true" order-by="companyActive" lazy="false" cascade="all,delete-orphan" node="elligibleBoat" embed-xml="false">
+ <key column="sampleRow"/>
+ <one-to-many class="fr.ifremer.wao.entity.ElligibleBoatImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ <bag name="fishingZone" table="fishingzone_samplerow" inverse="true" lazy="false" node="fishingZone" embed-xml="true">
+ <key column="sampleRow"/>
+ <many-to-many class="fr.ifremer.wao.entity.FishingZoneImpl" column="fishingZone" order-by="facadeName,sectorName,districtCode" node="topiaId"/>
+ </bag>
+ <bag name="contact" inverse="true" lazy="true" node="contact" embed-xml="false">
+ <key column="sampleRow"/>
+ <one-to-many class="fr.ifremer.wao.entity.ContactImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/SampleRowLogImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/SampleRowLogImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/SampleRowLogImpl.hbm.xml 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.SampleRowLogImpl" table="sampleRowLog" node="fr.ifremer.wao.entity.SampleRowLogImpl" abstract="false" proxy="fr.ifremer.wao.entity.SampleRowLog" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="logText" type="text" access="field" column="logText" node="logText"/>
+ <property name="comment" type="text" access="field" column="comment" node="comment"/>
+ <many-to-one name="sampleRow" class="fr.ifremer.wao.entity.SampleRowImpl" column="sampleRow" node="sampleRow/@topiaId" embed-xml="false"/>
+ <many-to-one name="admin" class="fr.ifremer.wao.entity.WaoUserImpl" column="admin" lazy="false" node="admin/@topiaId" embed-xml="false"/>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ShipOwnerImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ShipOwnerImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/ShipOwnerImpl.hbm.xml 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.ShipOwnerImpl" table="shipOwner" node="fr.ifremer.wao.entity.ShipOwnerImpl" abstract="false" proxy="fr.ifremer.wao.entity.ShipOwner" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="code" type="text" access="field" column="code" node="code" index="shipOwner_code_idx" unique="true"/>
+ <property name="firstName" type="text" access="field" column="firstName" node="firstName"/>
+ <property name="lastName" type="text" access="field" column="lastName" node="lastName"/>
+ </class>
+</hibernate-mapping>
Added: trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/WaoUserImpl.hbm.xml
===================================================================
--- trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/WaoUserImpl.hbm.xml (rev 0)
+++ trunk/wao-business/src/main/resources/oldmappings/WaoModel/1.1/fr/ifremer/wao/entity/WaoUserImpl.hbm.xml 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-access="field" auto-import="true" package="fr.ifremer.wao.entity">
+ <class name="fr.ifremer.wao.entity.WaoUserImpl" table="waoUser" node="fr.ifremer.wao.entity.WaoUserImpl" abstract="false" proxy="fr.ifremer.wao.entity.WaoUser" >
+ <id name="topiaId" type="string" length="255" node="@topiaId"/>
+ <version name="topiaVersion" type="long" node="@topiaVersion"/>
+ <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
+ <property name="firstName" type="text" access="field" column="firstName" node="firstName"/>
+ <property name="lastName" type="text" access="field" column="lastName" node="lastName"/>
+ <property name="phoneNumber" type="text" access="field" column="phoneNumber" node="phoneNumber"/>
+ <property name="login" type="text" access="field" column="login" node="login"/>
+ <property name="password" type="text" access="field" column="password" node="password"/>
+ <property name="active" type="boolean" access="field" column="active" node="active"/>
+ <property name="role" type="int" access="field" column="role" node="role"/>
+ <property name="readOnly" type="boolean" access="field" column="readOnly" node="readOnly"/>
+ <many-to-one name="company" class="fr.ifremer.wao.entity.CompanyImpl" column="company" node="company/@topiaId" embed-xml="false"/>
+ <bag name="contact" inverse="true" lazy="true" node="contact" embed-xml="false">
+ <key column="observer"/>
+ <one-to-many class="fr.ifremer.wao.entity.ContactImpl" node="topiaId" embed-xml="false"/>
+ </bag>
+ </class>
+</hibernate-mapping>
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Copied: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ActivityCalendarImportTest.java (from rev 378, trunk/wao-business/src/test/java/fr/ifremer/wao/services/ActivityCalendarImportTest.java)
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ActivityCalendarImportTest.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ActivityCalendarImportTest.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,116 @@
+/*
+ * *##%
+ * Wao :: Business
+ * Copyright (C) 2009 - 2010 Ifremer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * ##%*
+ */
+
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoContext;
+import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoRunner;
+import fr.ifremer.wao.WaoRunnerTest;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.zip.GZIPInputStream;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import static org.junit.Assert.*;
+
+/**
+ * ActivityCalendarImport
+ *
+ * Created: 11 déc. 2009
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public class ActivityCalendarImportTest {
+
+ private static WaoRunner runner;
+
+ private static final Logger log = LoggerFactory.getLogger(ActivityCalendarImportTest.class);
+
+ public ActivityCalendarImportTest() {
+ }
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+ runner = new WaoRunnerTest();
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception {
+ }
+
+ @Before
+ public void setUp() throws WaoException {
+ runner.start();
+ }
+
+ @After
+ public void tearDown() throws WaoException {
+ runner.stop();
+ }
+
+ /**
+ * Test of run method, of class ActivityCalendarImport.
+ */
+ @Test
+ public void testRun() throws IOException, InterruptedException, WaoException {
+ log.info("run");
+
+ ServiceBoat serviceBoat = new ServiceBoatImpl();
+ InputStream input = getClass().getResourceAsStream("/import/navires.csv");
+ serviceBoat.importBoatCsv(input);
+
+ input = getClass().getResourceAsStream("/import/activity.csv.gz");
+ input = new GZIPInputStream(input);
+
+ ActivityCalendarImport instance = new ActivityCalendarImport(input);
+
+ Thread t = new Thread(instance);
+ t.start();
+ t.join();
+
+ String filename = WaoContext.getProperty(
+ WaoContext.PROP_FILENAME_LOG_ACTIVITY_IMPORT);
+
+ File file = new File(filename);
+ Assert.assertTrue(file.exists());
+
+ BufferedReader reader = new BufferedReader(new FileReader(file));
+ String line = null;
+ while ((line = reader.readLine()) != null) {
+ log.info(line);
+ }
+ }
+
+}
Property changes on: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ActivityCalendarImportTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Revision
Added: svn:mergeinfo
+
Copied: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java (from rev 378, trunk/wao-business/src/test/java/fr/ifremer/wao/services/ServiceBoatImplTest.java)
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,412 @@
+/*
+ * *##%
+ * Wao :: Business
+ * Copyright (C) 2009 - 2010 Ifremer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * ##%*
+ */
+
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoModelDAOHelper;
+import fr.ifremer.wao.WaoRunner;
+import fr.ifremer.wao.WaoContext;
+import fr.ifremer.wao.bean.BoatFilterImpl;
+import fr.ifremer.wao.WaoRunnerTest;
+import fr.ifremer.wao.bean.BoatFilter;
+import fr.ifremer.wao.bean.CompanyBoatInfos;
+import fr.ifremer.wao.bean.ContactState;
+import fr.ifremer.wao.bean.UserRole;
+import fr.ifremer.wao.entity.ActivityCalendar;
+import fr.ifremer.wao.entity.ActivityCalendarDAO;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.BoatDAO;
+import fr.ifremer.wao.entity.BoatInfos;
+import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.CompanyDAO;
+import fr.ifremer.wao.entity.CompanyImpl;
+import fr.ifremer.wao.entity.Contact;
+import fr.ifremer.wao.entity.ElligibleBoat;
+import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.entity.SampleRowDAO;
+import fr.ifremer.wao.entity.SampleRowLogImpl;
+import fr.ifremer.wao.entity.WaoUser;
+import fr.ifremer.wao.entity.WaoUserImpl;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import static org.junit.Assert.*;
+
+/**
+ *
+ * @author fdesbois
+ */
+public class ServiceBoatImplTest {
+
+ private static WaoRunner runner;
+
+ private static final Logger log = LoggerFactory.getLogger(ServiceBoatImplTest.class);
+
+ private ServiceBoatImpl service;
+
+ public ServiceBoatImplTest() {
+ }
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+ runner = new WaoRunnerTest();
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception {
+ }
+
+ @Before
+ public void setUp() throws Exception {
+ runner.start();
+ service = new ServiceBoatImpl();
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ runner.stop();
+ }
+
+ /**
+ * Test of getBoatsByFilter method, of class ServiceBoatImpl.
+ * @throws Exception
+ */
+ @Test
+ public void testGetBoatsByFilter() throws Exception {
+ log.info("getBoatsByFilter");
+
+ InputStream input = getClass().getResourceAsStream("/import/navires.csv");
+ service.importBoatCsv(input);
+
+ ServiceUser serviceUser = new ServiceUserImpl();
+ Company company = new CompanyImpl();
+ company.setName("TARTANPION");
+ serviceUser.createUpdateCompany(company);
+ WaoUser user = new WaoUserImpl();
+ user.setLogin("login");
+ user.setFirstName("Jean");
+ user.setLastName("Michmuche");
+ user.setCompany(company);
+ serviceUser.createUpdateUser(user, true);
+ List<SampleRow> rows = prepareSampleRows(company);
+
+ BoatFilter filter = new BoatFilterImpl();
+
+ // Exec with no filter
+ Map<Integer, Boat> boats = service.getBoatsByFilter(filter);
+ assertEquals(6, boats.size());
+ // first boat of the file
+ Boat boat = boats.get(273129);
+ assertNotNull(boat);
+
+ // Exec with filter on Immatriculation
+ filter.setBoatImmatriculation(273129);
+ boats = service.getBoatsByFilter(filter);
+ assertEquals(1, boats.size());
+
+ // Exec with filter on Name : start with "M"
+ filter = new BoatFilterImpl();
+ filter.setBoatName("M");
+ boats = service.getBoatsByFilter(filter);
+ assertEquals(2, boats.size());
+
+ // Exec with filter on DistrictCode
+ filter = new BoatFilterImpl();
+ filter.setBoatDistrictCode("UN");
+ boats = service.getBoatsByFilter(filter);
+ assertEquals(4, boats.size());
+
+ // Exec with filter on SampleRowCode and company
+ filter = new BoatFilterImpl();
+ filter.setSampleRow(rows.get(0)); // Code = 2009_03
+ filter.setCompany(company);
+ boats = service.getBoatsByFilter(filter);
+ assertEquals(2, boats.size());
+ }
+
+ @Test
+ public void testGetBoats() throws Exception {
+ log.info("getBoats");
+
+ InputStream input = getClass().getResourceAsStream("/import/navires.csv");
+ service.importBoatCsv(input);
+
+ String immatriculations = "174592 978419 273129";
+ List<Boat> results = service.getBoatsByImmatriculations(immatriculations);
+ assertEquals(3, results.size());
+ immatriculations = "174592 \\ èè-- ç999 àà \n\n 978419 00 ççç 273129";
+ results = service.getBoatsByImmatriculations(immatriculations);
+ assertEquals(3, results.size());
+ }
+
+ /**
+ * Test of getBoatInfos method, of class ServiceBoatImpl.
+ * @throws Exception
+ */
+ //@Test
+ public void testGetBoatInfos() throws Exception {
+ }
+
+
+ @Test
+ public void testGetElligibleBoats() throws Exception {
+ log.info("getElligibleBoats");
+
+ /** PREPARE DATA **/
+ InputStream input = getClass().getResourceAsStream("/import/navires.csv");
+ service.importBoatCsv(input);
+
+ Company company = new CompanyImpl();
+ company.setName("TARTANPION");
+ prepareSampleRows(company);
+
+ /** EXEC METHOD **/
+
+ CompanyBoatInfos result = service.getCompanyBoatInfos(174592, company);
+ assertNotNull(result);
+ assertEquals(174592, result.getBoatInfos().getBoat().getImmatriculation());
+ assertEquals("TARTANPION", result.getCompany().getName());
+ // only row1 is getting
+ assertEquals(1, result.getElligibleBoatsValues().size());
+ }
+
+ private List<SampleRow> prepareSampleRows(Company company)
+ throws WaoException, TopiaException {
+ ServiceReferential serviceReferential = new ServiceReferentialImpl();
+ InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
+ serviceReferential.importFishingZoneCsv(input);
+
+ TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ // Create a company
+ CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ WaoContext.prepareTopiaId(Company.class, company);
+ companyDAO.update(company);
+ companyDAO.create(Company.NAME, "BIS");
+ transaction.commitTransaction();
+
+ ServiceSampling serviceSampling = new ServiceSamplingImpl();
+ input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+ serviceSampling.importSamplingPlanCsv(input);
+
+ // Get two SampleRows : 2009_3 & 2010_4
+ SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRow row1 = rowDAO.findByCode("2009_0003");
+ row1.getProfession();
+ SampleRow row2 = rowDAO.findByCode("2010_0004");
+ row2.getProfession();
+
+ transaction.commitTransaction();
+
+ transaction.closeContext();
+
+ // Set company and elligibleBoats '174592 177474' for row1
+ List<Boat> boats = service.getBoatsByImmatriculations("174592 177474");
+ row1.setCompany(company);
+ serviceSampling.createUpdateSampleRow(row1, boats, new SampleRowLogImpl());
+ // Set company only for row2
+ row2.setCompany(company);
+ serviceSampling.createUpdateSampleRow(row2, new ArrayList<Boat>(), new SampleRowLogImpl());
+
+ return Arrays.asList(new SampleRow[] { row1, row2});
+ }
+
+ @Test
+ public void testCreateUpdateBoatInfos() throws Exception {
+ log.info("createUpdateBoatInfos");
+
+ /** PREPARE DATA **/
+ InputStream input = getClass().getResourceAsStream("/import/navires.csv");
+ service.importBoatCsv(input);
+
+ List<Boat> boats = service.getBoatsByImmatriculations("174592");
+ Boat boat = boats.get(0);
+
+ // Two rows created : 2009_3 & 2010_4 and one Company : "TARTANPION"
+ ServiceUser serviceUser = new ServiceUserImpl();
+ Company company = new CompanyImpl();
+ company.setName("TARTANPION");
+ serviceUser.createUpdateCompany(company);
+ WaoUser user = new WaoUserImpl();
+ user.setLogin("user");
+ user.setFirstName("Jean");
+ user.setLastName("Michmuche");
+ user.setCompany(company);
+ serviceUser.createUpdateUser(user, true);
+ List<SampleRow> rows = prepareSampleRows(company);
+
+ TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRow row = rowDAO.findByCode("2010_0001");
+ row.getCompany();
+ row.getProfession();
+ transaction.closeContext();
+
+ ServiceContact serviceContact = new ServiceContactImpl();
+ Contact contact1 = serviceContact.getNewContact(user, row, boat);
+ contact1.setState(ContactState.CONTACT_START.toString());
+ serviceContact.saveContact(contact1, false);
+
+ CompanyBoatInfos companyBoatInfos = service.getCompanyBoatInfos(174592, company);
+
+ /** EXEC METHOD **/
+ BoatInfos boatInfos = companyBoatInfos.getBoatInfos();
+
+ boatInfos.setDup(2);
+ boatInfos.setContactFirstName("Jean-Paul");
+ boatInfos.setContactLastName("Belmondo");
+
+ /** TEST1 **/
+ // ajout d'une nouvelle ligne "2010_4" non mise en elligible auparavent
+ companyBoatInfos.setNewElligibleBoat(rows.get(1));
+ // ligne deja elligible mise en inactive
+ companyBoatInfos.removeElligibleBoat("2009_0003");
+
+ service.createUpdateCompanyBoatInfos(companyBoatInfos);
+
+ companyBoatInfos = service.getCompanyBoatInfos(174592, company);
+
+ Map<String, ElligibleBoat> results = companyBoatInfos.getElligibleBoats();
+ assertEquals(2, results.size());
+
+ ElligibleBoat elligible = companyBoatInfos.getElligibleBoat("2009_0003");
+ assertNotNull(elligible.getCompanyActive());
+ assertFalse(elligible.getCompanyActive());
+
+ elligible = companyBoatInfos.getElligibleBoat("2010_0004");
+ assertTrue(elligible.getCompanyActive());
+
+ /** TEST2 **/
+ // Suppression ligne lié elligible pour la société
+ companyBoatInfos.removeElligibleBoat("2010_0004");
+ // Reactivation ligne mise en inactive juste avant
+ companyBoatInfos.activeElligibleBoat("2009_0003");
+
+ service.createUpdateCompanyBoatInfos(companyBoatInfos);
+
+ companyBoatInfos = service.getCompanyBoatInfos(174592, company);
+
+ results = companyBoatInfos.getElligibleBoats();
+ assertEquals(1, results.size());
+
+ elligible = companyBoatInfos.getElligibleBoat("2009_0003");
+ assertNull(elligible.getCompanyActive());
+ assertTrue(elligible.getGlobalActive());
+
+ /** EXEC METHOD **/
+ Contact result = companyBoatInfos.getLastContact();
+ Assert.assertEquals(contact1.getTopiaId(), result.getTopiaId());
+ }
+
+ /**
+ * Test of importBoatCsv method, of class ServiceBoatImpl.
+ * @throws Exception
+ */
+ @Test
+ public void testImportBoatCsv() throws Exception {
+ log.info("importBoatCsv");
+
+ InputStream input = getClass().getResourceAsStream("/import/navires.csv");
+ int[] nbBoats = service.importBoatCsv(input);
+ assertEquals(6, nbBoats[0]);
+ // new boats added
+ assertEquals(6, nbBoats[1]);
+
+ // Check boat 174592 is active &nd boat 177474 is inactive
+ List<Boat> results = service.getBoatsByImmatriculations("174592 177474");
+ assertTrue(results.get(0).getActive());
+ assertFalse(results.get(1).getActive());
+ }
+
+ @Test
+ public void testGetLastActivityCalendar() throws Exception {
+ log.info("getLastActivityCalendar");
+
+ /** PREPARE DATA **/
+ TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+
+ BoatDAO boatDAO = WaoModelDAOHelper.getBoatDAO(transaction);
+ Boat boat = boatDAO.create(
+ Boat.NAME, "TESTBOAT",
+ Boat.IMMATRICULATION, 174592);
+
+ ActivityCalendarDAO dao = WaoModelDAOHelper.getActivityCalendarDAO(transaction);
+
+ ActivityCalendar calendar1 = dao.create(
+ ActivityCalendar.BOAT, boat,
+ ActivityCalendar.YEAR, 2008);
+
+ ActivityCalendar calendar2 = dao.create(
+ ActivityCalendar.BOAT, boat,
+ ActivityCalendar.YEAR, 2007);
+
+ ActivityCalendar calendar3 = dao.create(
+ ActivityCalendar.BOAT, boat,
+ ActivityCalendar.YEAR, 2009);
+
+ transaction.commitTransaction();
+ transaction.closeContext();
+
+ /** EXEC METHOD **/
+ WaoUser user = new WaoUserImpl();
+ user.setFirstName("Jean");
+ user.setLastName("Michmuche");
+ // Evo #2063 : the defaut instanciation of WaoUser doesn't put the
+ // user automatically as an non admin
+ user.setRole(UserRole.OBSERVER.ordinal());
+ Company company = new CompanyImpl();
+ company.setName("TARTANPION");
+ user.setCompany(company);
+
+ ActivityCalendar result = service.getLastActivityCalendar(user, boat);
+ Assert.assertNotNull(result);
+ Assert.assertEquals(2009, result.getYear());
+
+ String filename = WaoContext.getProperty(
+ WaoContext.PROP_FILENAME_LOG_ACTIVITY_ACCESS);
+
+ File file = new File(filename);
+ Assert.assertTrue(file.exists());
+
+ BufferedReader reader = new BufferedReader(new FileReader(file));
+ String line = reader.readLine();
+ Assert.assertTrue(line.contains("Jean Michmuche"));
+ Assert.assertTrue(line.contains("TARTANPION"));
+ Assert.assertTrue(line.contains("TESTBOAT"));
+ Assert.assertTrue(line.contains("174592"));
+ }
+
+}
Property changes on: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java
___________________________________________________________________
Added: svn:mergeinfo
+
Copied: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialImplTest.java (from rev 378, trunk/wao-business/src/test/java/fr/ifremer/wao/services/ServiceReferentialImplTest.java)
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialImplTest.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialImplTest.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,155 @@
+/*
+ * *##%
+ * Wao :: Business
+ * Copyright (C) 2009 - 2010 Ifremer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * ##%*
+ */
+
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoRunner;
+import fr.ifremer.wao.WaoRunnerTest;
+import fr.ifremer.wao.bean.SamplingFilter;
+import fr.ifremer.wao.bean.SamplingFilterImpl;
+import fr.ifremer.wao.entity.FishingZone;
+import java.io.InputStream;
+import java.util.List;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import static org.junit.Assert.*;
+
+/**
+ *
+ * @author fdesbois
+ */
+public class ServiceReferentialImplTest {
+
+ private static WaoRunner runner;
+
+ private static final Logger log = LoggerFactory.getLogger(ServiceReferentialImplTest.class);
+
+ private ServiceReferentialImpl service;
+
+ public ServiceReferentialImplTest() {
+ }
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+ runner = new WaoRunnerTest();
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception {
+ }
+
+ @Before
+ public void setUp() throws Exception {
+ runner.start();
+ service = new ServiceReferentialImpl();
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ runner.stop();
+ }
+
+ /**
+ * Test of getFacades method, of class ServiceReferentialImpl.
+ */
+ @Test
+ public void testGetFacades() throws Exception {
+ log.info("getFacades");
+
+ InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
+ service.importFishingZoneCsv(input);
+
+ List<String> facades = service.getFacades(new SamplingFilterImpl());
+ assertEquals(3, facades.size());
+ assertTrue(facades.contains("Atlantique"));
+ assertTrue(facades.contains("Mer du Nord"));
+ assertTrue(facades.contains("Méditerranée"));
+ }
+
+ @Test
+ public void testGetSectors() throws Exception {
+ log.info("getSectors");
+
+ InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
+ service.importFishingZoneCsv(input);
+
+ SamplingFilter filter = new SamplingFilterImpl();
+
+ List<String> sectors = service.getSectors(filter);
+ assertEquals(5, sectors.size());
+ assertTrue(sectors.contains("Manche"));
+ assertTrue(sectors.contains("Mer du Nord"));
+ assertTrue(sectors.contains("Manche Ouest"));
+ assertTrue(sectors.contains("Golfe de Gascogne"));
+ assertTrue(sectors.contains("Méditerranée"));
+
+ filter.setFacadeName("Atlantique");
+
+ sectors = service.getSectors(filter);
+ assertEquals(2, sectors.size());
+ assertTrue(sectors.contains("Manche Ouest"));
+ assertTrue(sectors.contains("Golfe de Gascogne"));
+ }
+
+ /**
+ * Test of getProfessions method, of class ServiceReferentialImpl.
+ */
+ //@Test
+ public void testGetProfessions() throws Exception {
+ System.out.println("getProfessions");
+ }
+
+ /**
+ * Test of getFishingZones method, of class ServiceReferentialImpl.
+ * @throws WaoException if error during import or getFishingZones
+ */
+ @Test
+ public void testGetFishingZones() throws WaoException {
+ log.info("getFishingZones");
+
+ InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
+ int nbNew = service.importFishingZoneCsv(input);
+ // nbNew = 6
+
+ List<FishingZone> results = service.getFishingZones();
+ assertEquals(nbNew, results.size());
+ }
+
+ /**
+ * Test of importFishingZoneCsv method, of class ServiceReferentialImpl.
+ * @throws WaoException if import error
+ */
+ @Test
+ public void testImportFishingZoneCsv() throws WaoException {
+ log.info("importFishingZoneCsv");
+
+ InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
+ int result = service.importFishingZoneCsv(input);
+ assertEquals(6, result);
+ }
+
+}
Property changes on: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialImplTest.java
___________________________________________________________________
Added: svn:mergeinfo
+
Copied: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingImplTest.java (from rev 378, trunk/wao-business/src/test/java/fr/ifremer/wao/services/ServiceSamplingImplTest.java)
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingImplTest.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingImplTest.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,589 @@
+/*
+ * *##%
+ * Wao :: Business
+ * Copyright (C) 2009 - 2010 Ifremer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * ##%*
+ */
+
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.WaoModelDAOHelper;
+import fr.ifremer.wao.WaoRunner;
+import fr.ifremer.wao.WaoContext;
+import fr.ifremer.wao.bean.ImportResults;
+import fr.ifremer.wao.bean.SamplingFilter;
+import fr.ifremer.wao.bean.SamplingFilterImpl;
+import fr.ifremer.wao.WaoRunnerTest;
+import fr.ifremer.wao.bean.FacadeRow;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.CompanyDAO;
+import fr.ifremer.wao.entity.ElligibleBoat;
+import fr.ifremer.wao.entity.ElligibleBoatDAO;
+import fr.ifremer.wao.entity.FishingZone;
+import fr.ifremer.wao.entity.FishingZoneDAO;
+import fr.ifremer.wao.entity.Profession;
+import fr.ifremer.wao.entity.ProfessionDAO;
+import fr.ifremer.wao.entity.ProfessionImpl;
+import fr.ifremer.wao.entity.SampleMonth;
+import fr.ifremer.wao.entity.SampleMonthImpl;
+import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.entity.SampleRowDAO;
+import fr.ifremer.wao.entity.SampleRowLogImpl;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.List;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.util.DateUtils;
+import org.nuiton.util.PeriodDates;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import static org.junit.Assert.*;
+
+/**
+ * ServiceSamplingImplTest
+ *
+ * Created: 30 nov. 2009
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public class ServiceSamplingImplTest {
+
+ private static WaoRunner runner;
+
+ private static final Logger log = LoggerFactory.getLogger(ServiceSamplingImplTest.class);
+
+ private ServiceSamplingImpl service;
+
+ public ServiceSamplingImplTest() {
+ }
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+ runner = new WaoRunnerTest();
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception {
+ }
+
+ @Before
+ public void setUp() throws Exception {
+ runner.start();
+ service = new ServiceSamplingImpl();
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ runner.stop();
+ }
+
+ @Test
+ public void testCreateUpdateSampleRow() throws Exception {
+ log.info("createUpdateSampleRow");
+
+ /** PREPARE DATA **/
+ TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+
+ List<FishingZone> zones = prepareFishingZones(transaction);
+
+ InputStream input = getClass().getResourceAsStream("/import/navires.csv");
+ ServiceBoat serviceBoat = new ServiceBoatImpl();
+ serviceBoat.importBoatCsv(input);
+
+ transaction.closeContext();
+
+ // CREATE
+ Profession profession1 = new ProfessionImpl();
+ profession1.setCodeDCF5("OORR-BDP");
+ profession1.setMeshSize(">=18");
+ profession1.setSize("90-1000");
+ profession1.setLibelle("Chalutage de poissons tubes");
+
+ List<SampleMonth> months = new ArrayList<SampleMonth>();
+ for (int i = 0; i < 12; i++) {
+ SampleMonth month = new SampleMonthImpl();
+ Calendar calendar = new GregorianCalendar(2009, i, 1);
+ month.setPeriodDate(calendar.getTime());
+ month.setExpectedTidesValue(3);
+ months.add(month);
+ }
+ for (int i = 0; i < 3; i++) {
+ SampleMonth month = new SampleMonthImpl();
+ Calendar calendar = new GregorianCalendar(2010, i, 1);
+ month.setPeriodDate(calendar.getTime());
+ month.setExpectedTidesValue(4);
+ months.add(month);
+ }
+
+ SampleRow row = service.getNewSampleRow();
+ row.setCode("2010_03");
+ row.setNbObservants(3);
+ row.setAverageTideTime(2.5);
+ row.setProgramName("DPMA-2009");
+ row.setPeriodBegin(DateUtils.createDate(1, 1, 2009));
+ row.setPeriodEnd(DateUtils.createDate(31, 3, 2010));
+ row.setProfession(profession1);
+ row.setSampleMonth(months);
+ row.setFishingZone(zones);
+ row.setFishingZonesInfos("port tres loin du champ");
+
+ /** EXEC CREATE **/
+ List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174592 978419 273129");
+ service.createUpdateSampleRow(row, boats, new SampleRowLogImpl());
+ assertNotNull(row.getTopiaId());
+ assertNotNull(row.getProfession().getTopiaId());
+
+ SampleRow result = service.getSampleRow(row.getTopiaId());
+ assertEquals(3, result.getFishingZone().size());
+ assertEquals(3, result.getElligibleBoat().size());
+
+ // TEST FOR DELETE ELLIGIBLE BOAT
+ boats.remove(2);
+ service.createUpdateSampleRow(result, boats, new SampleRowLogImpl());
+
+ result = service.getSampleRow(row.getTopiaId());
+ assertEquals(2, result.getElligibleBoat().size());
+
+ }
+
+ /**
+ * Test of getSampleRowsOrderedByFishingZone method, of class ServiceSamplingImpl.
+ */
+ @Test
+ public void testGetSampleRowsOrderedByFishingZone() throws Exception {
+ log.info("getSampleRowsOrderedByFishingZone");
+
+
+ /** PREPARE DATA **/
+
+ TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+
+ List<FishingZone> zones = prepareFishingZones(transaction);
+
+ //Program program1 = programDAO.create(Program.NAME, "DPMA-2009");
+ Date dateBegin1 = DateUtils.createDate(1, 1, 2009);
+ Date dateEnd1 = DateUtils.createDate(1, 3, 2010);
+ PeriodDates period1 = new PeriodDates(dateBegin1, dateEnd1);
+
+ //Program program2 = programDAO.create(Program.NAME, "PPDA-2008");
+ Date dateBegin2 = DateUtils.createDate(1, 1, 2008);
+ Date dateEnd2 = DateUtils.createDate(1, 12, 2008);
+ PeriodDates period2 = new PeriodDates(dateBegin2, dateEnd2);
+
+ SampleRowDAO dao = WaoModelDAOHelper.getSampleRowDAO(transaction);
+
+ SampleRow row1 = dao.create();
+ row1.setCode("2010_0001");
+ row1.addFishingZone(zones.get(2));
+ row1.setProgramName("DPMA-2009");
+ row1.setPeriod(period1);
+
+ log.info(row1.getCode() + " :: " + row1.getFacade() + " :: " + row1.getSectors());
+
+ SampleRow row2 = dao.create();
+ row2.setCode("2010_0002");
+ row2.addFishingZone(zones.get(0));
+ row2.setProgramName("DPMA-2009");
+ row2.setPeriod(period1);
+
+ log.info(row2.getCode() + " :: " + row2.getFacade() + " :: " + row2.getSectors());
+
+ SampleRow row3 = dao.create();
+ row3.setCode("2010_0003");
+ row3.addFishingZone(zones.get(1));
+ row3.addFishingZone(zones.get(2));
+ row3.addFishingZone(zones.get(0));
+ row3.setProgramName("PPDA-2008");
+ row3.setPeriod(period2);
+
+ log.info(row3.getCode() + " :: " + row3.getFacade() + " :: " + row3.getSectors());
+
+ SampleRow row4 = dao.create();
+ row4.setCode("2010_0004");
+ row4.addFishingZone(zones.get(0)); // Mer du Nord :: Manche
+ row4.setProgramName("DPMA-2009");
+ row4.setPeriod(period1);
+
+ log.info(row4.getCode() + " :: " + row4.getFacade() + " :: " + row4.getSectors());
+
+ transaction.commitTransaction();
+
+ /** EXEC service method **/
+
+ // FIRST TEST :
+ // ORDER by FishingZone (facadeName, sectorName, districtCode)
+ // BIG PERIOD, included program1 and program2
+ // NO COMPANY (= null)
+ Calendar begin = new GregorianCalendar(2000, 0, 1, 0, 0, 0);
+ Calendar end = new GregorianCalendar(2020, 11, 31, 0, 0, 0);
+ PeriodDates period = new PeriodDates(begin, end);
+ // RESULT : [2010_0002, 2010_0004, 2010_0001, 2010_0003]
+ FacadeRow facade = service.getSampleRowsOrderedByFishingZone(period, null);
+ List<SampleRow> rows = facade.getValues();
+ assertEquals(4, rows.size());
+ SampleRow resultRow0 = rows.get(0);
+ assertEquals("2010_0002", resultRow0.getCode());
+ SampleRow resultRow1 = rows.get(1);
+ assertEquals("2010_0004", resultRow1.getCode());
+
+// List<FishingZone> zoneRow1 = resultRow1.getFishingZone();
+// assertEquals(3, zoneRow1.size());
+// FishingZone resultZone0 = zoneRow1.get(0);
+// assertEquals("VIIb", resultZone0.getDistrictCode());
+// FishingZone resultZone1 = zoneRow1.get(1);
+// assertEquals("VI", resultZone1.getDistrictCode());
+// FishingZone resultZone2 = zoneRow1.get(2);
+// assertEquals("V", resultZone2.getDistrictCode());
+
+ SampleRow resultRow2 = rows.get(2);
+ assertEquals("2010_0003", resultRow2.getCode());
+ SampleRow resultRow3 = rows.get(3);
+ assertEquals("2010_0001", resultRow3.getCode());
+
+ // SECOND TEST :
+ // ORDER by FishingZone (facadeName, sectorName, districtCode)
+ // BIG PERIOD, not included program2
+ // NO COMPANY (= null)
+ begin = new GregorianCalendar(2009, 0, 1, 0, 0, 0);
+ end = new GregorianCalendar(2020, 11, 31, 0, 0, 0);
+ period = new PeriodDates(begin, end);
+ // RESULT : [2010_0002, 2010_0004, 2010_0001]
+ facade = service.getSampleRowsOrderedByFishingZone(period, null);
+ rows = facade.getValues();
+ assertEquals(3, rows.size());
+ resultRow0 = rows.get(0);
+ assertEquals("2010_0002", resultRow0.getCode());
+ resultRow1 = rows.get(1);
+ assertEquals("2010_0004", resultRow1.getCode());
+ resultRow2 = rows.get(2);
+ assertEquals("2010_0001", resultRow2.getCode());
+
+ }
+
+ private List<FishingZone> prepareFishingZones(TopiaContext transaction) throws WaoException, TopiaException {
+
+ FishingZoneDAO fishingZoneDAO = WaoModelDAOHelper.getFishingZoneDAO(transaction);
+
+ FishingZone fishingZone1 = fishingZoneDAO.create();
+ fishingZone1.setFacadeName("Atlantique");
+ fishingZone1.setSectorName("Secteur Mer Celtique et Ouest Irlande centré Pays bigouden");
+ fishingZone1.setDistrictCode("VIIb");
+
+ FishingZone fishingZone2 = fishingZoneDAO.create();
+ fishingZone2.setFacadeName("Manche");
+ fishingZone2.setSectorName("Secteur Cherbourg Honfleur centré sur Port-en-Bessin");
+ fishingZone2.setDistrictCode("VI");
+
+ FishingZone fishingZone3 = fishingZoneDAO.create();
+ fishingZone3.setFacadeName("Manche");
+ fishingZone3.setSectorName("Secteur du Havre à Dunkerque centré sur Boulogne");
+ fishingZone3.setDistrictCode("V");
+
+ transaction.commitTransaction();
+
+ return fishingZoneDAO.findAll();
+ }
+
+ public void testGetSampleRowsForUser() throws Exception {
+ log.info("getSampleRowsForUser");
+ /** PREPARE DATA **/
+ TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+
+ FishingZoneDAO zoneDAO = WaoModelDAOHelper.getFishingZoneDAO(transaction);
+ FishingZone zoneIId = zoneDAO.create(FishingZone.DISTRICT_CODE, "IId");
+ FishingZone zoneIV = zoneDAO.create(FishingZone.DISTRICT_CODE, "IV");
+ FishingZone zoneI = zoneDAO.create(FishingZone.DISTRICT_CODE, "I");
+
+ CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ Company company = companyDAO.create(Company.NAME, "TARTANPION");
+ Calendar begin = new GregorianCalendar(2009,8,1);
+ Calendar end = new GregorianCalendar(2010,11,31);
+ SampleRowDAO sampleRowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRow row = sampleRowDAO.create(
+ SampleRow.CODE,"2010_178",
+ SampleRow.COMPANY,company,
+ SampleRow.PROGRAM_NAME, "DPMA-2009",
+ SampleRow.PERIOD_BEGIN, begin.getTime(),
+ SampleRow.PERIOD_END, end.getTime());
+
+
+ transaction.commitTransaction();
+ transaction.closeContext();
+
+ InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+ service.importSamplingPlanCsv(input);
+
+ /** EXEC METHOD **/
+ SamplingFilter filter = new SamplingFilterImpl();
+// User admin = new UserImpl();
+// admin.setAdmin(true);
+// filter.setCompany()
+ filter.setNbMonthFinishedFromToday(0);
+ List<SampleRow> results = service.getSampleRowsByFilter(filter);
+ // total in file : 11, 1 refused, 1 finished
+ assertEquals(9, results.size());
+
+// User user = new UserImpl();
+// user.setCompany(company);
+ filter.setCompany(company);
+ results = service.getSampleRowsByFilter(filter);
+ assertEquals(1, results.size());
+ }
+
+ /**
+ * Test of getHistoric method, of class ServiceSamplingImpl.
+ */
+ //@Test
+ public void testGetHistoric() throws Exception {
+ System.out.println("getHistoric");
+ }
+
+ /**
+ * Test of getSampleRow method, of class ServiceSamplingImpl.
+ */
+ //@Test
+ public void testGetSampleRow() throws Exception {
+ System.out.println("getSampleRow");
+ }
+
+ @Test
+ public void testGetNewProfession() throws Exception {
+ log.info("getNewProfession");
+
+ /** PREPARE DATA **/
+
+ TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+
+ ProfessionDAO dao = WaoModelDAOHelper.getProfessionDAO(transaction);
+
+ Profession profession = dao.create(
+ Profession.CODE_DCF5, "OBR",
+ Profession.LIBELLE, "Fileyage en barre",
+ Profession.MESH_SIZE, "< 80",
+ Profession.OTHER, "90mm",
+ Profession.SPECIES, "barre, lieu noir, saumon des plages");
+
+ transaction.commitTransaction();
+ transaction.closeContext();
+
+ /** EXEC METHOD **/
+ Profession newProfession = service.getNewProfession(profession);
+ Assert.assertNotSame(profession, newProfession);
+ Assert.assertEquals("OBR", newProfession.getCodeDCF5());
+ Assert.assertEquals("Fileyage en barre", newProfession.getLibelle());
+ Assert.assertEquals("< 80", newProfession.getMeshSize());
+ Assert.assertEquals("90mm", newProfession.getOther());
+ Assert.assertEquals("barre, lieu noir, saumon des plages", newProfession.getSpecies());
+
+ }
+
+ @Test
+ public void testDeleteSampleRow() throws Exception {
+ log.info("deleteSampleRow");
+
+ /** PREPARE DATA **/
+ TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+
+ FishingZoneDAO zoneDAO = WaoModelDAOHelper.getFishingZoneDAO(transaction);
+ FishingZone zoneIId = zoneDAO.create(FishingZone.DISTRICT_CODE, "IId");
+ FishingZone zoneIV = zoneDAO.create(FishingZone.DISTRICT_CODE, "IV");
+ FishingZone zoneI = zoneDAO.create(FishingZone.DISTRICT_CODE, "I");
+
+ CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ companyDAO.create(Company.NAME, "TARTANPION");
+ companyDAO.create(Company.NAME, "BIS");
+ transaction.commitTransaction();
+
+
+ InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+ service.importSamplingPlanCsv(input);
+
+ SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRow row = rowDAO.findByCode("2010_0001");
+ row.getProfession();
+ row.getCompany();
+ transaction.closeContext();
+
+ input = getClass().getResourceAsStream("/import/navires.csv");
+ ServiceBoat serviceBoat = new ServiceBoatImpl();
+ serviceBoat.importBoatCsv(input);
+ List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174592 978419 273129");
+
+ service.createUpdateSampleRow(row, boats, new SampleRowLogImpl());
+ /** EXEC METHOD **/
+
+ service.deleteSampleRow(row);
+ transaction = WaoContext.getTopiaRootContext().beginTransaction();
+ rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ row = rowDAO.findByCode("2010_0001");
+ assertNull(row);
+
+ ElligibleBoatDAO elligibleDAO = WaoModelDAOHelper.getElligibleBoatDAO(transaction);
+ List<ElligibleBoat> elligibles = elligibleDAO.findAll();
+ assertEquals(0, elligibles.size());
+ transaction.closeContext();
+ }
+
+ @Test
+ public void testImportSamplingPlanCsv() throws WaoException, TopiaException {
+ log.info("importSamplingPlanCsv");
+
+ /** PREPARE DATA **/
+ TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+
+ FishingZoneDAO zoneDAO = WaoModelDAOHelper.getFishingZoneDAO(transaction);
+ FishingZone zoneIId = zoneDAO.create(FishingZone.DISTRICT_CODE, "IId");
+ FishingZone zoneIV = zoneDAO.create(FishingZone.DISTRICT_CODE, "IV");
+ FishingZone zoneI = zoneDAO.create(FishingZone.DISTRICT_CODE, "I");
+
+ CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ companyDAO.create(Company.NAME, "TARTANPION");
+ companyDAO.create(Company.NAME, "BIS");
+ transaction.commitTransaction();
+ transaction.closeContext();
+
+ /** EXEC METHOD **/
+ InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+ ImportResults result = service.importSamplingPlanCsv(input);
+
+ // total imported
+ assertEquals(12, result.getNbRowsImported());
+ // total refused
+ assertEquals(1, result.getNbRowsRefused());
+
+ /** CHECK VALUES **/
+ transaction = WaoContext.getTopiaRootContext().beginTransaction();
+
+ SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+
+ // Error #2221 : don't keep the same profession for two different rows
+ SampleRow row2 = rowDAO.findByCode("2010_0010");
+ SampleRow row3 = rowDAO.findByCode("2010_0011");
+ assertNotSame(row2.getProfession(), row3.getProfession());
+
+ ProfessionDAO professionDAO =
+ WaoModelDAOHelper.getProfessionDAO(transaction);
+
+ List<Profession> professions = professionDAO.findAll();
+ assertEquals(12, professions.size());
+
+ SampleRow row1 = rowDAO.findByCode("2010_0001");
+ assertNotNull(row1);
+ assertEquals(1, row1.getNbObservants());
+ assertEquals(1.5, row1.getAverageTideTime(), 0.1);
+ assertEquals("Un petit commentaire", row1.getComment());
+
+ assertEquals("MA-2009", row1.getProgramName());
+
+ Profession profession = row1.getProfession();
+ assertNotNull(profession);
+ assertEquals("DB_MOL", profession.getCodeDCF5());
+
+ List<SampleMonth> months = row1.getSampleMonth();
+ assertEquals(11, months.size());
+
+ Collection<FishingZone> zones = row1.getFishingZone();
+ assertEquals(2, zones.size());
+ zones.contains(zoneI);
+ zones.contains(zoneIId);
+
+ transaction.closeContext();
+ }
+
+ @Test
+ public void testGetPrograms() throws Exception {
+ /** PREPARE DATA **/
+ TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+
+ FishingZoneDAO zoneDAO = WaoModelDAOHelper.getFishingZoneDAO(transaction);
+ zoneDAO.create(FishingZone.DISTRICT_CODE, "IId");
+ zoneDAO.create(FishingZone.DISTRICT_CODE, "IV");
+ zoneDAO.create(FishingZone.DISTRICT_CODE, "I");
+
+ CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ companyDAO.create(Company.NAME, "TARTANPION");
+ companyDAO.create(Company.NAME, "BIS");
+ transaction.commitTransaction();
+ transaction.closeContext();
+
+ InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+ service.importSamplingPlanCsv(input);
+
+ /** EXEC METHOD **/
+ List<String> programs = service.getPrograms(null);
+ assertEquals(4, programs.size());
+ }
+
+
+ @Test
+ public void testGetNewSampleRowCode() throws Exception {
+ log.info("getNewSampleRowCode");
+
+ /** PREPARE DATA **/
+ TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+
+ FishingZoneDAO zoneDAO = WaoModelDAOHelper.getFishingZoneDAO(transaction);
+ FishingZone zoneIId = zoneDAO.create(FishingZone.DISTRICT_CODE, "IId");
+ FishingZone zoneIV = zoneDAO.create(FishingZone.DISTRICT_CODE, "IV");
+ FishingZone zoneI = zoneDAO.create(FishingZone.DISTRICT_CODE, "I");
+
+ CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ companyDAO.create(Company.NAME, "TARTANPION");
+ companyDAO.create(Company.NAME, "BIS");
+ transaction.commitTransaction();
+
+ ServiceSampling serviceSampling = new ServiceSamplingImpl();
+ InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+ serviceSampling.importSamplingPlanCsv(input);
+
+ transaction.closeContext();
+
+ /** EXEC METHOD **/
+
+ Calendar begin = new GregorianCalendar(2009, 11, 1);
+
+ String result = service.getNewSampleRowCode(begin.getTime());
+ Assert.assertEquals("2009_0007", result);
+
+ // Test regex for replacment in importSamplingPlanCsv
+// String code = "2010_1";
+// code = code.replaceFirst("_(\\d)$", "_0$1");
+// Assert.assertEquals("2010_01", code);
+//
+// code = "2010_04";
+// code = code.replaceFirst("_(\\d)$", "_0$1");
+// Assert.assertEquals("2010_04", code);
+ }
+
+}
Property changes on: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingImplTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Revision
Added: svn:mergeinfo
+
Copied: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java (from rev 378, trunk/wao-business/src/test/java/fr/ifremer/wao/services/ServiceSynthesisImplTest.java)
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,544 @@
+/*
+ * *##%
+ * Wao :: Business
+ * Copyright (C) 2009 - 2010 Ifremer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * ##%*
+ */
+
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoContext;
+import fr.ifremer.wao.WaoModelDAOHelper;
+import fr.ifremer.wao.WaoRunner;
+import fr.ifremer.wao.WaoRunnerTest;
+import fr.ifremer.wao.bean.BoardingResult;
+import fr.ifremer.wao.bean.ContactAverageReactivity;
+import fr.ifremer.wao.bean.ContactState;
+import fr.ifremer.wao.bean.ContactStateStatistics;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.CompanyDAO;
+import fr.ifremer.wao.entity.Contact;
+import fr.ifremer.wao.entity.ContactImpl;
+import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.entity.SampleRowDAO;
+import fr.ifremer.wao.entity.WaoUser;
+import fr.ifremer.wao.entity.WaoUserDAO;
+import java.io.InputStream;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import org.apache.commons.collections.CollectionUtils;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.util.DateUtils;
+import org.nuiton.util.PeriodDates;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import static org.junit.Assert.*;
+
+/**
+ *
+ * @author fdesbois
+ */
+public class ServiceSynthesisImplTest {
+
+ private static WaoRunner runner;
+
+ private static final Logger log = LoggerFactory.getLogger(ServiceSynthesisImplTest.class);
+
+ private ServiceSynthesisImpl service;
+
+ public ServiceSynthesisImplTest() {
+ }
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+ runner = new WaoRunnerTest();
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception {
+ }
+
+ @Before
+ public void setUp() throws Exception {
+ runner.start();
+ service = new ServiceSynthesisImpl();
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ runner.stop();
+ }
+
+ /**
+ * Test of getDataSampling method, of class ServiceSynthesisImpl.
+ */
+ //@Test
+ public void testGetDataSampling() throws Exception {
+ System.out.println("getDataSampling");
+ }
+
+ /**
+ * Test of getBoardingBoats method, of class ServiceSynthesisImpl.
+ */
+ @Test
+ public void testGetBoardingBoats() throws Exception {
+ log.info("getBoardingBoats");
+ /** PREPARE DATA **/
+ InputStream input = getClass().getResourceAsStream("/import/navires.csv");
+ ServiceBoat serviceBoat = new ServiceBoatImpl();
+ serviceBoat.importBoatCsv(input);
+ List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
+ Boat boat = boats.get(0);
+
+ List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
+ Boat boat2 = boats2.get(0);
+
+ TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+
+ CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ Company company = companyDAO.create(Company.NAME, "TARTANPION");
+ Company company2 = companyDAO.create(Company.NAME, "BIS");
+
+ WaoUserDAO userDAO = WaoModelDAOHelper.getWaoUserDAO(transaction);
+ WaoUser user = userDAO.create(WaoUser.FIRST_NAME,"Jean", WaoUser.LAST_NAME, "Michmuche",
+ WaoUser.COMPANY, company);
+ company.addWaoUser(user);
+ WaoUser user2 = userDAO.create(WaoUser.FIRST_NAME,"Bill", WaoUser.LAST_NAME, "Murray",
+ WaoUser.COMPANY, company2);
+ company2.addWaoUser(user2);
+
+ transaction.commitTransaction();
+
+ input = getClass().getResourceAsStream("/import/zonesPeche.csv");
+ ServiceReferential serviceReferential = new ServiceReferentialImpl();
+ serviceReferential.importFishingZoneCsv(input);
+
+ input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+ ServiceSampling serviceSampling = new ServiceSamplingImpl();
+ serviceSampling.importSamplingPlanCsv(input);
+
+ SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRow row = rowDAO.findByCode("2010_0001");
+
+ transaction.closeContext();
+
+
+ ServiceContact serviceContact = new ServiceContactImpl();
+ // First contact : OK
+ Contact contact1 = new ContactImpl();
+ contact1.setBoat(boat);
+ contact1.setObserver(user);
+ contact1.setSampleRow(row);
+ contact1.setState(ContactState.BOARDING_DONE.toString());
+ Date begin = DateUtils.createDate(3, 3, 2009);
+ contact1.setTideBeginDate(begin);
+ contact1.setValidationCompany(Boolean.TRUE);
+ serviceContact.saveContact(contact1, false);
+
+ Contact contact2 = new ContactImpl();
+ contact2.setBoat(boat);
+ contact2.setObserver(user);
+ contact2.setSampleRow(row);
+ contact2.setState(ContactState.BOARDING_DONE.toString());
+ begin = DateUtils.createDate(3, 3, 2009);
+ contact2.setTideBeginDate(begin);
+ contact2.setValidationCompany(Boolean.TRUE);
+ serviceContact.saveContact(contact2, false);
+
+ Contact contact3 = new ContactImpl();
+ contact3.setBoat(boat2);
+ contact3.setObserver(user);
+ contact3.setSampleRow(row);
+ contact3.setState(ContactState.BOARDING_DONE.toString());
+ begin = DateUtils.createDate(3, 3, 2009);
+ contact3.setTideBeginDate(begin);
+ contact3.setValidationCompany(Boolean.TRUE);
+ serviceContact.saveContact(contact3, false);
+
+ /** EXEC METHOD **/
+ BoardingResult result = service.getBoardingBoats(null, null);
+ // one boat with one boarding (177474)
+ assertEquals(1, result.getData().get("1").intValue());
+ // one boat with two boardings (174258)
+ assertEquals(1, result.getData().get("2").intValue());
+ assertEquals(2, result.getMaxBoardingValue());
+ assertEquals(174258, result.getMaxBoardingBoat().getImmatriculation());
+ }
+
+ /**
+ * Test of getBoardingBoats method, of class ServiceSynthesisImpl.
+ */
+ @Test
+ public void testGetNonComplianceBoardingIndicator() throws Exception {
+ log.info("getNonComplianceBoardingIndicator");
+ /** PREPARE DATA **/
+ InputStream input = getClass().getResourceAsStream("/import/navires.csv");
+ ServiceBoat serviceBoat = new ServiceBoatImpl();
+ serviceBoat.importBoatCsv(input);
+ List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
+ Boat boat = boats.get(0);
+
+ List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
+ Boat boat2 = boats2.get(0);
+
+ TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+
+ CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ Company company = companyDAO.create(Company.NAME, "TARTANPION");
+ Company company2 = companyDAO.create(Company.NAME, "BIS");
+
+ WaoUserDAO userDAO = WaoModelDAOHelper.getWaoUserDAO(transaction);
+ WaoUser user = userDAO.create(WaoUser.FIRST_NAME,"Jean", WaoUser.LAST_NAME, "Michmuche",
+ WaoUser.COMPANY, company);
+ company.addWaoUser(user);
+ WaoUser user2 = userDAO.create(WaoUser.FIRST_NAME,"Bill", WaoUser.LAST_NAME, "Murray",
+ WaoUser.COMPANY, company2);
+ company2.addWaoUser(user2);
+
+ transaction.commitTransaction();
+
+ input = getClass().getResourceAsStream("/import/zonesPeche.csv");
+ ServiceReferential serviceReferential = new ServiceReferentialImpl();
+ serviceReferential.importFishingZoneCsv(input);
+
+ input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+ ServiceSampling serviceSampling = new ServiceSamplingImpl();
+ serviceSampling.importSamplingPlanCsv(input);
+
+ SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRow row = rowDAO.findByCode("2010_0001");
+ SampleRow row2 = rowDAO.findByCode("2009_0006");
+
+ transaction.closeContext();
+
+
+ ServiceContact serviceContact = new ServiceContactImpl();
+ // First contact : OK
+ Contact contact1 = new ContactImpl();
+ contact1.setBoat(boat);
+ contact1.setObserver(user);
+ contact1.setSampleRow(row);
+ // 1 real observer over 1
+ contact1.setNbObservants(1);
+ contact1.setState(ContactState.BOARDING_DONE.toString());
+ Date begin = DateUtils.createDate(3, 3, 2009);
+ contact1.setTideBeginDate(begin);
+ contact1.setValidationCompany(Boolean.TRUE);
+ serviceContact.saveContact(contact1, false);
+
+ Contact contact2 = new ContactImpl();
+ contact2.setBoat(boat);
+ contact2.setObserver(user);
+ contact2.setSampleRow(row);
+ // 2 real observer over 1
+ contact2.setNbObservants(2);
+ contact2.setState(ContactState.BOARDING_DONE.toString());
+ begin = DateUtils.createDate(3, 3, 2009);
+ contact2.setTideBeginDate(begin);
+ contact2.setValidationCompany(Boolean.TRUE);
+ serviceContact.saveContact(contact2, false);
+
+ Contact contact3 = new ContactImpl();
+ contact3.setBoat(boat2);
+ contact3.setObserver(user2);
+ contact3.setSampleRow(row2);
+ // 1 real observer over 2
+ contact3.setNbObservants(1);
+ contact3.setState(ContactState.BOARDING_DONE.toString());
+ begin = DateUtils.createDate(3, 3, 2009);
+ contact3.setTideBeginDate(begin);
+ contact3.setValidationCompany(Boolean.TRUE);
+ serviceContact.saveContact(contact3, false);
+
+ /** EXEC METHOD **/
+
+ // result for company TARTANPION
+ Map<String, Double> results =
+ service.getNonComplianceBoardingIndicator(company);
+
+ assertEquals(1, results.size());
+
+ // 0% of non compliance
+ Double value = results.get(company.getName());
+ assertEquals(0., value, 0);
+
+ // result for company BIS using admin mode (no company filtered)
+ results = service.getNonComplianceBoardingIndicator(null);
+
+ assertEquals(2, results.size());
+
+ // 100% of non compliance
+ value = results.get(company2.getName());
+ assertEquals(1., value, 0);
+ }
+
+ /**
+ * Test of getBoardingBoats method, of class ServiceSynthesisImpl.
+ */
+ @Test
+ public void testGetContactStateStatistics() throws Exception {
+ log.info("getContactStateStatistics");
+ /** PREPARE DATA **/
+ InputStream input = getClass().getResourceAsStream("/import/navires.csv");
+ ServiceBoat serviceBoat = new ServiceBoatImpl();
+ serviceBoat.importBoatCsv(input);
+ List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
+ Boat boat = boats.get(0);
+
+ List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
+ Boat boat2 = boats2.get(0);
+
+ TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+
+ CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ Company company = companyDAO.create(Company.NAME, "TARTANPION");
+ Company company2 = companyDAO.create(Company.NAME, "BIS");
+
+ WaoUserDAO userDAO = WaoModelDAOHelper.getWaoUserDAO(transaction);
+ WaoUser user = userDAO.create(WaoUser.FIRST_NAME,"Jean", WaoUser.LAST_NAME, "Michmuche",
+ WaoUser.COMPANY, company);
+ company.addWaoUser(user);
+ WaoUser user2 = userDAO.create(WaoUser.FIRST_NAME,"Bill", WaoUser.LAST_NAME, "Murray",
+ WaoUser.COMPANY, company2);
+ company2.addWaoUser(user2);
+
+ transaction.commitTransaction();
+
+ input = getClass().getResourceAsStream("/import/zonesPeche.csv");
+ ServiceReferential serviceReferential = new ServiceReferentialImpl();
+ serviceReferential.importFishingZoneCsv(input);
+
+ input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+ ServiceSampling serviceSampling = new ServiceSamplingImpl();
+ serviceSampling.importSamplingPlanCsv(input);
+
+ SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRow row = rowDAO.findByCode("2010_0001");
+
+ transaction.closeContext();
+
+
+ ServiceContact serviceContact = new ServiceContactImpl();
+
+ // Contacts for company TARTANPION
+ Contact contact1 = new ContactImpl();
+ contact1.setObserver(user);
+ contact1.setState(ContactState.BOARDING_DONE.toString());
+ Date begin = DateUtils.createDate(3, 3, 2009);
+ contact1.setTideBeginDate(begin);
+ serviceContact.saveContact(contact1, false);
+
+ Contact contact2 = new ContactImpl();
+ contact2.setObserver(user);
+ contact2.setState(ContactState.BOARDING_DONE.toString());
+ begin = DateUtils.createDate(3, 10, 2009);
+ contact2.setTideBeginDate(begin);
+ serviceContact.saveContact(contact2, false);
+
+ Contact contact3 = new ContactImpl();
+ contact3.setObserver(user);
+ contact3.setState(ContactState.BOAT_REFUSED.toString());
+ begin = DateUtils.createDate(3, 5, 2009);
+ contact3.setTopiaCreateDate(begin);
+ serviceContact.saveContact(contact3, false);
+
+ // Contacts for company BIS
+ Contact contact4 = new ContactImpl();
+ contact4.setObserver(user2);
+ contact4.setState(ContactState.BOARDING_EXPECTED.toString());
+ begin = DateUtils.createDate(3, 5, 2009);
+ contact4.setTopiaCreateDate(begin);
+ serviceContact.saveContact(contact4, false);
+
+ Contact contact5 = new ContactImpl();
+ contact5.setObserver(user2);
+ contact5.setState(ContactState.BOAT_UNAVAILABLE.toString());
+ begin = DateUtils.createDate(3, 3, 2010);
+ contact5.setTopiaCreateDate(begin);
+ serviceContact.saveContact(contact5, false);
+
+ // Contact refused by program, will not be in result
+ Contact contact6 = new ContactImpl();
+ contact6.setObserver(user2);
+ contact6.setState(ContactState.BOAT_UNAVAILABLE.toString());
+ begin = DateUtils.createDate(3, 3, 2010);
+ contact6.setTopiaCreateDate(begin);
+ contact6.setValidationProgram(Boolean.FALSE);
+ serviceContact.saveContact(contact6, false);
+
+ /** EXEC METHOD **/
+
+ // result for company TARTANPION with no period
+ Collection<ContactStateStatistics> results =
+ service.getContactStateStatistics(company, null);
+
+ assertEquals(1, results.size());
+ ContactStateStatistics result = (ContactStateStatistics)CollectionUtils.get(results, 0);
+ assertEquals(3, result.getTotal());
+ Map<ContactState, Integer> data = result.getData();
+ assertNotNull(data);
+
+ assertEquals(ContactState.values().length, data.size());
+ assertEquals(2, data.get(ContactState.BOARDING_DONE).intValue());
+ assertEquals(1, data.get(ContactState.BOAT_REFUSED).intValue());
+
+ // result for company BIS using admin mode
+ results = service.getContactStateStatistics(null, null);
+ assertEquals(2, results.size());
+
+ result = null;
+ for (ContactStateStatistics stats : results) {
+ if (stats.getCompanyName().equals(company2.getName())) {
+ result = stats;
+ break;
+ }
+ }
+
+ assertEquals(2, result.getTotal());
+ data = result.getData();
+ assertEquals(1, data.get(ContactState.BOARDING_EXPECTED).intValue());
+ assertEquals(1, data.get(ContactState.BOAT_UNAVAILABLE).intValue());
+
+ // result for period 3/5/2009 to 3/10/2009 for BIS company
+ begin = DateUtils.createDate(3, 5, 2009);
+ Date end = DateUtils.createDate(31, 10, 2009);
+ PeriodDates period = new PeriodDates(begin, end);
+
+ results = service.getContactStateStatistics(company2, period);
+ assertEquals(1, results.size());
+
+ result = (ContactStateStatistics)CollectionUtils.get(results, 0);
+
+ assertEquals(1, result.getTotal());
+ data = result.getData();
+ assertEquals(1, data.get(ContactState.BOARDING_EXPECTED).intValue());
+ assertEquals(0, data.get(ContactState.BOAT_UNAVAILABLE).intValue());
+ }
+
+ /**
+ * Test of getBoardingBoats method, of class ServiceSynthesisImpl.
+ */
+ @Test
+ public void testGetContactDataInputDateReactivity() throws Exception {
+ log.info("getContactDataInputDateReactivity");
+ /** PREPARE DATA **/
+ InputStream input = getClass().getResourceAsStream("/import/navires.csv");
+ ServiceBoat serviceBoat = new ServiceBoatImpl();
+ serviceBoat.importBoatCsv(input);
+ List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
+ Boat boat = boats.get(0);
+
+ List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
+ Boat boat2 = boats2.get(0);
+
+ TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
+
+ CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
+ Company company = companyDAO.create(Company.NAME, "TARTANPION");
+ Company company2 = companyDAO.create(Company.NAME, "BIS");
+
+ WaoUserDAO userDAO = WaoModelDAOHelper.getWaoUserDAO(transaction);
+ WaoUser user = userDAO.create(WaoUser.FIRST_NAME,"Jean", WaoUser.LAST_NAME, "Michmuche",
+ WaoUser.COMPANY, company);
+ company.addWaoUser(user);
+ WaoUser user2 = userDAO.create(WaoUser.FIRST_NAME,"Bill", WaoUser.LAST_NAME, "Murray",
+ WaoUser.COMPANY, company2);
+ company2.addWaoUser(user2);
+
+ transaction.commitTransaction();
+
+ input = getClass().getResourceAsStream("/import/zonesPeche.csv");
+ ServiceReferential serviceReferential = new ServiceReferentialImpl();
+ serviceReferential.importFishingZoneCsv(input);
+
+ input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+ ServiceSampling serviceSampling = new ServiceSamplingImpl();
+ serviceSampling.importSamplingPlanCsv(input);
+
+ SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
+ SampleRow row = rowDAO.findByCode("2010_0001");
+ SampleRow row2 = rowDAO.findByCode("2009_0006");
+
+ transaction.closeContext();
+
+
+ ServiceContact serviceContact = new ServiceContactImpl();
+ // First contact : OK
+ Contact contact1 = new ContactImpl();
+ contact1.setObserver(user);
+ Date begin = DateUtils.createDate(3, 3, 2009);
+ contact1.setTideBeginDate(begin);
+ Date inputDate = DateUtils.createDate(15, 4, 2009);
+ contact1.setDataInputDate(inputDate);
+ contact1.setState(ContactState.BOARDING_DONE.toString());
+ contact1.setValidationCompany(Boolean.TRUE);
+ serviceContact.saveContact(contact1, false);
+
+ Contact contact2 = new ContactImpl();
+ contact2.setObserver(user);
+ begin = DateUtils.createDate(3, 3, 2009);
+ contact2.setTideBeginDate(begin);
+ inputDate = DateUtils.createDate(15, 3, 2009);
+ contact2.setDataInputDate(inputDate);
+ contact2.setState(ContactState.BOARDING_DONE.toString());
+ contact2.setValidationCompany(Boolean.TRUE);
+ serviceContact.saveContact(contact2, false);
+
+ Contact contact3 = new ContactImpl();
+ contact3.setObserver(user2);
+ begin = DateUtils.createDate(3, 3, 2009);
+ contact3.setTideBeginDate(begin);
+ contact3.setDataInputDate(begin);
+ contact3.setState(ContactState.BOARDING_DONE.toString());
+ contact3.setValidationCompany(Boolean.TRUE);
+ serviceContact.saveContact(contact3, false);
+
+ /** EXEC METHOD **/
+
+ PeriodDates period = new PeriodDates(begin, begin);
+
+ // result for company TARTANPION
+ Collection<ContactAverageReactivity> results =
+ service.getContactDataInputDateReactivity(company, period);
+
+ assertEquals(1, results.size());
+
+ // 12 days for contact1 + 43 days for contact2 / 2 = 27.5 days
+ ContactAverageReactivity res =
+ (ContactAverageReactivity)CollectionUtils.get(results, 0);
+
+ assertEquals(27., res.getResult(), 0.01);
+
+ // result for company BIS using admin mode (no company filtered)
+ results = service.getContactDataInputDateReactivity(null, period);
+
+ // 0 days for contact3 / 1 = O days
+ res = (ContactAverageReactivity)CollectionUtils.get(results, 0);
+
+ assertEquals(0, res.getResult(), 0.01);
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java
___________________________________________________________________
Added: svn:keywords
+ "Author Date Id Revision HeadURL"
Added: svn:mergeinfo
+
Added: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -0,0 +1,163 @@
+
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoRunner;
+import fr.ifremer.wao.WaoRunnerTest;
+import fr.ifremer.wao.bean.UserRole;
+import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.CompanyImpl;
+import fr.ifremer.wao.entity.WaoUser;
+import fr.ifremer.wao.entity.WaoUserImpl;
+import java.util.List;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ *
+ * @author fdesbois
+ */
+public class ServiceUserImplTest {
+
+ private static WaoRunner runner;
+
+ private static final Logger logger =
+ LoggerFactory.getLogger(ServiceUserImplTest.class);
+
+ private ServiceUserImpl service;
+
+ public ServiceUserImplTest() {
+ }
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+ runner = new WaoRunnerTest();
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception {
+ }
+
+ @Before
+ public void setUp() throws Exception {
+ runner.start();
+ service = new ServiceUserImpl();
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ runner.stop();
+ }
+
+ /**
+ * Test of connect method, of class ServiceUserImpl.
+ */
+ //@Test
+ public void testConnect() throws Exception {
+ System.out.println("connect");
+ }
+
+ /**
+ * Test of forgetPassword method, of class ServiceUserImpl.
+ */
+ //@Test
+ public void testForgetPassword() throws Exception {
+ System.out.println("forgetPassword");
+ }
+
+ /**
+ * Test of createUpdateUser method, of class ServiceUserImpl.
+ */
+ //@Test
+ public void testCreateUpdateUser() throws Exception {
+ System.out.println("createUpdateUser");
+ }
+
+ /**
+ * Test of deleteUser method, of class ServiceUserImpl.
+ */
+ //@Test
+ public void testDeleteUser() throws Exception {
+ System.out.println("deleteUser");
+ }
+
+ /**
+ * Test of createUpdateCompany method, of class ServiceUserImpl.
+ */
+ //@Test
+ public void testCreateUpdateCompany() throws Exception {
+ System.out.println("createUpdateCompany");
+ }
+
+ /**
+ * Test of getCompanies method, of class ServiceUserImpl.
+ */
+ //@Test
+ public void testGetCompanies() throws Exception {
+ System.out.println("getCompanies");
+ }
+
+ /**
+ * Test of getObservers method, of class ServiceUserImpl.
+ */
+ @Test
+ public void testGetObservers() throws Exception {
+ logger.info("## START ## getObservers");
+
+ Company company = new CompanyImpl();
+ company.setName("TARTANPION");
+ service.createUpdateCompany(company);
+
+ WaoUser user1 = new WaoUserImpl();
+ user1.setLogin("user1");
+ user1.setFirstName("Jean");
+ user1.setLastName("Michmuche");
+ user1.setRole(UserRole.OBSERVER.ordinal());
+ user1.setCompany(company);
+ user1.setActive(true);
+ service.createUpdateUser(user1, true);
+
+ WaoUser user2 = new WaoUserImpl();
+ user2.setLogin("user2");
+ user2.setFirstName("Jack");
+ user2.setLastName("Pot");
+ user2.setRole(UserRole.ADMIN.ordinal());
+ user2.setCompany(company);
+ user2.setActive(true);
+ service.createUpdateUser(user2, true);
+
+ WaoUser user3 = new WaoUserImpl();
+ user3.setLogin("user3");
+ user3.setFirstName("Denis");
+ user3.setLastName("La Malice");
+ user3.setRole(UserRole.OBSERVER.ordinal());
+ user3.setCompany(company);
+ user3.setActive(false);
+ service.createUpdateUser(user3, true);
+
+ WaoUser user4 = new WaoUserImpl();
+ user4.setLogin("user4");
+ user4.setFirstName("Ben");
+ user4.setLastName("Hur");
+ // The coordinator is also an observer
+ user4.setRole(UserRole.COORDINATOR.ordinal());
+ user4.setCompany(company);
+ user4.setActive(true);
+ service.createUpdateUser(user4, true);
+
+ /** EXEC METHOD **/
+ List<WaoUser> users = service.getObservers(false);
+ // user1, user3 and user4
+ Assert.assertEquals(3, users.size());
+
+ users = service.getObservers(true);
+ // user1 and user4
+ Assert.assertEquals(2, users.size());
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java
___________________________________________________________________
Added: svn:keywords
+ "Author Date Id Revision HeadURL"
Deleted: trunk/wao-business/src/test/java/fr/ifremer/wao/services/ActivityCalendarImportTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/services/ActivityCalendarImportTest.java 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/services/ActivityCalendarImportTest.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -1,116 +0,0 @@
-/*
- * *##%
- * Wao :: Business
- * Copyright (C) 2009 - 2010 Ifremer
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/gpl-3.0.html>.
- * ##%*
- */
-
-package fr.ifremer.wao.service;
-
-import fr.ifremer.wao.WaoContext;
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.WaoRunner;
-import fr.ifremer.wao.WaoRunnerTest;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.zip.GZIPInputStream;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import static org.junit.Assert.*;
-
-/**
- * ActivityCalendarImport
- *
- * Created: 11 déc. 2009
- *
- * @author fdesbois
- * @version $Revision$
- *
- * Mise a jour: $Date$
- * par : $Author$
- */
-public class ActivityCalendarImportTest {
-
- private static WaoRunner runner;
-
- private static final Logger log = LoggerFactory.getLogger(ActivityCalendarImportTest.class);
-
- public ActivityCalendarImportTest() {
- }
-
- @BeforeClass
- public static void setUpClass() throws Exception {
- runner = new WaoRunnerTest();
- }
-
- @AfterClass
- public static void tearDownClass() throws Exception {
- }
-
- @Before
- public void setUp() throws WaoException {
- runner.start();
- }
-
- @After
- public void tearDown() throws WaoException {
- runner.stop();
- }
-
- /**
- * Test of run method, of class ActivityCalendarImport.
- */
- @Test
- public void testRun() throws IOException, InterruptedException, WaoException {
- log.info("run");
-
- ServiceBoat serviceBoat = new ServiceBoatImpl();
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- serviceBoat.importBoatCsv(input);
-
- input = getClass().getResourceAsStream("/import/activity.csv.gz");
- input = new GZIPInputStream(input);
-
- ActivityCalendarImport instance = new ActivityCalendarImport(input);
-
- Thread t = new Thread(instance);
- t.start();
- t.join();
-
- String filename = WaoContext.getProperty(
- WaoContext.PROP_FILENAME_LOG_ACTIVITY_IMPORT);
-
- File file = new File(filename);
- Assert.assertTrue(file.exists());
-
- BufferedReader reader = new BufferedReader(new FileReader(file));
- String line = null;
- while ((line = reader.readLine()) != null) {
- log.info(line);
- }
- }
-
-}
Deleted: trunk/wao-business/src/test/java/fr/ifremer/wao/services/ServiceBoatImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/services/ServiceBoatImplTest.java 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/services/ServiceBoatImplTest.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -1,408 +0,0 @@
-/*
- * *##%
- * Wao :: Business
- * Copyright (C) 2009 - 2010 Ifremer
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/gpl-3.0.html>.
- * ##%*
- */
-
-package fr.ifremer.wao.service;
-
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.WaoModelDAOHelper;
-import fr.ifremer.wao.WaoRunner;
-import fr.ifremer.wao.WaoContext;
-import fr.ifremer.wao.bean.BoatFilterImpl;
-import fr.ifremer.wao.WaoRunnerTest;
-import fr.ifremer.wao.bean.BoatFilter;
-import fr.ifremer.wao.bean.CompanyBoatInfos;
-import fr.ifremer.wao.bean.ContactState;
-import fr.ifremer.wao.entity.ActivityCalendar;
-import fr.ifremer.wao.entity.ActivityCalendarDAO;
-import fr.ifremer.wao.entity.Boat;
-import fr.ifremer.wao.entity.BoatDAO;
-import fr.ifremer.wao.entity.BoatInfos;
-import fr.ifremer.wao.entity.Company;
-import fr.ifremer.wao.entity.CompanyDAO;
-import fr.ifremer.wao.entity.CompanyImpl;
-import fr.ifremer.wao.entity.Contact;
-import fr.ifremer.wao.entity.ElligibleBoat;
-import fr.ifremer.wao.entity.SampleRow;
-import fr.ifremer.wao.entity.SampleRowDAO;
-import fr.ifremer.wao.entity.SampleRowLogImpl;
-import fr.ifremer.wao.entity.WaoUser;
-import fr.ifremer.wao.entity.WaoUserImpl;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import static org.junit.Assert.*;
-
-/**
- *
- * @author fdesbois
- */
-public class ServiceBoatImplTest {
-
- private static WaoRunner runner;
-
- private static final Logger log = LoggerFactory.getLogger(ServiceBoatImplTest.class);
-
- private ServiceBoatImpl service;
-
- public ServiceBoatImplTest() {
- }
-
- @BeforeClass
- public static void setUpClass() throws Exception {
- runner = new WaoRunnerTest();
- }
-
- @AfterClass
- public static void tearDownClass() throws Exception {
- }
-
- @Before
- public void setUp() throws Exception {
- runner.start();
- service = new ServiceBoatImpl();
- }
-
- @After
- public void tearDown() throws Exception {
- runner.stop();
- }
-
- /**
- * Test of getBoatsByFilter method, of class ServiceBoatImpl.
- * @throws Exception
- */
- @Test
- public void testGetBoatsByFilter() throws Exception {
- log.info("getBoatsByFilter");
-
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- service.importBoatCsv(input);
-
- ServiceUser serviceUser = new ServiceUserImpl();
- Company company = new CompanyImpl();
- company.setName("TARTANPION");
- serviceUser.createUpdateCompany(company);
- WaoUser user = new WaoUserImpl();
- user.setLogin("login");
- user.setFirstName("Jean");
- user.setLastName("Michmuche");
- user.setCompany(company);
- serviceUser.createUpdateUser(user, true);
- List<SampleRow> rows = prepareSampleRows(company);
-
- BoatFilter filter = new BoatFilterImpl();
-
- // Exec with no filter
- Map<Integer, Boat> boats = service.getBoatsByFilter(filter);
- assertEquals(6, boats.size());
- // first boat of the file
- Boat boat = boats.get(273129);
- assertNotNull(boat);
-
- // Exec with filter on Immatriculation
- filter.setBoatImmatriculation(273129);
- boats = service.getBoatsByFilter(filter);
- assertEquals(1, boats.size());
-
- // Exec with filter on Name : start with "M"
- filter = new BoatFilterImpl();
- filter.setBoatName("M");
- boats = service.getBoatsByFilter(filter);
- assertEquals(2, boats.size());
-
- // Exec with filter on DistrictCode
- filter = new BoatFilterImpl();
- filter.setBoatDistrictCode("UN");
- boats = service.getBoatsByFilter(filter);
- assertEquals(4, boats.size());
-
- // Exec with filter on SampleRowCode and company
- filter = new BoatFilterImpl();
- filter.setSampleRow(rows.get(0)); // Code = 2009_03
- filter.setCompany(company);
- boats = service.getBoatsByFilter(filter);
- assertEquals(2, boats.size());
- }
-
- @Test
- public void testGetBoats() throws Exception {
- log.info("getBoats");
-
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- service.importBoatCsv(input);
-
- String immatriculations = "174592 978419 273129";
- List<Boat> results = service.getBoatsByImmatriculations(immatriculations);
- assertEquals(3, results.size());
- immatriculations = "174592 \\ èè-- ç999 àà \n\n 978419 00 ççç 273129";
- results = service.getBoatsByImmatriculations(immatriculations);
- assertEquals(3, results.size());
- }
-
- /**
- * Test of getBoatInfos method, of class ServiceBoatImpl.
- * @throws Exception
- */
- //@Test
- public void testGetBoatInfos() throws Exception {
- }
-
-
- @Test
- public void testGetElligibleBoats() throws Exception {
- log.info("getElligibleBoats");
-
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- service.importBoatCsv(input);
-
- Company company = new CompanyImpl();
- company.setName("TARTANPION");
- prepareSampleRows(company);
-
- /** EXEC METHOD **/
-
- CompanyBoatInfos result = service.getCompanyBoatInfos(174592, company);
- assertNotNull(result);
- assertEquals(174592, result.getBoatInfos().getBoat().getImmatriculation());
- assertEquals("TARTANPION", result.getCompany().getName());
- // only row1 is getting
- assertEquals(1, result.getElligibleBoatsValues().size());
- }
-
- private List<SampleRow> prepareSampleRows(Company company)
- throws WaoException, TopiaException {
- ServiceReferential serviceReferential = new ServiceReferentialImpl();
- InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- serviceReferential.importFishingZoneCsv(input);
-
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
- // Create a company
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
- WaoContext.prepareTopiaId(Company.class, company);
- companyDAO.update(company);
- companyDAO.create(Company.NAME, "BIS");
- transaction.commitTransaction();
-
- ServiceSampling serviceSampling = new ServiceSamplingImpl();
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- serviceSampling.importSamplingPlanCsv(input);
-
- // Get two SampleRows : 2009_3 & 2010_4
- SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
- SampleRow row1 = rowDAO.findByCode("2009_0003");
- row1.getProfession();
- SampleRow row2 = rowDAO.findByCode("2010_0004");
- row2.getProfession();
-
- transaction.commitTransaction();
-
- transaction.closeContext();
-
- // Set company and elligibleBoats '174592 177474' for row1
- List<Boat> boats = service.getBoatsByImmatriculations("174592 177474");
- row1.setCompany(company);
- serviceSampling.createUpdateSampleRow(row1, boats, new SampleRowLogImpl());
- // Set company only for row2
- row2.setCompany(company);
- serviceSampling.createUpdateSampleRow(row2, new ArrayList<Boat>(), new SampleRowLogImpl());
-
- return Arrays.asList(new SampleRow[] { row1, row2});
- }
-
- @Test
- public void testCreateUpdateBoatInfos() throws Exception {
- log.info("createUpdateBoatInfos");
-
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- service.importBoatCsv(input);
-
- List<Boat> boats = service.getBoatsByImmatriculations("174592");
- Boat boat = boats.get(0);
-
- // Two rows created : 2009_3 & 2010_4 and one Company : "TARTANPION"
- ServiceUser serviceUser = new ServiceUserImpl();
- Company company = new CompanyImpl();
- company.setName("TARTANPION");
- serviceUser.createUpdateCompany(company);
- WaoUser user = new WaoUserImpl();
- user.setLogin("user");
- user.setFirstName("Jean");
- user.setLastName("Michmuche");
- user.setCompany(company);
- serviceUser.createUpdateUser(user, true);
- List<SampleRow> rows = prepareSampleRows(company);
-
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
- SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
- row.getCompany();
- row.getProfession();
- transaction.closeContext();
-
- ServiceContact serviceContact = new ServiceContactImpl();
- Contact contact1 = serviceContact.getNewContact(user, row, boat);
- contact1.setState(ContactState.CONTACT_START.toString());
- serviceContact.saveContact(contact1, false);
-
- CompanyBoatInfos companyBoatInfos = service.getCompanyBoatInfos(174592, company);
-
- /** EXEC METHOD **/
- BoatInfos boatInfos = companyBoatInfos.getBoatInfos();
-
- boatInfos.setDup(2);
- boatInfos.setContactFirstName("Jean-Paul");
- boatInfos.setContactLastName("Belmondo");
-
- /** TEST1 **/
- // ajout d'une nouvelle ligne "2010_4" non mise en elligible auparavent
- companyBoatInfos.setNewElligibleBoat(rows.get(1));
- // ligne deja elligible mise en inactive
- companyBoatInfos.removeElligibleBoat("2009_0003");
-
- service.createUpdateCompanyBoatInfos(companyBoatInfos);
-
- companyBoatInfos = service.getCompanyBoatInfos(174592, company);
-
- Map<String, ElligibleBoat> results = companyBoatInfos.getElligibleBoats();
- assertEquals(2, results.size());
-
- ElligibleBoat elligible = companyBoatInfos.getElligibleBoat("2009_0003");
- assertNotNull(elligible.getCompanyActive());
- assertFalse(elligible.getCompanyActive());
-
- elligible = companyBoatInfos.getElligibleBoat("2010_0004");
- assertTrue(elligible.getCompanyActive());
-
- /** TEST2 **/
- // Suppression ligne lié elligible pour la société
- companyBoatInfos.removeElligibleBoat("2010_0004");
- // Reactivation ligne mise en inactive juste avant
- companyBoatInfos.activeElligibleBoat("2009_0003");
-
- service.createUpdateCompanyBoatInfos(companyBoatInfos);
-
- companyBoatInfos = service.getCompanyBoatInfos(174592, company);
-
- results = companyBoatInfos.getElligibleBoats();
- assertEquals(1, results.size());
-
- elligible = companyBoatInfos.getElligibleBoat("2009_0003");
- assertNull(elligible.getCompanyActive());
- assertTrue(elligible.getGlobalActive());
-
- /** EXEC METHOD **/
- Contact result = companyBoatInfos.getLastContact();
- Assert.assertEquals(contact1.getTopiaId(), result.getTopiaId());
- }
-
- /**
- * Test of importBoatCsv method, of class ServiceBoatImpl.
- * @throws Exception
- */
- @Test
- public void testImportBoatCsv() throws Exception {
- log.info("importBoatCsv");
-
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- int[] nbBoats = service.importBoatCsv(input);
- assertEquals(6, nbBoats[0]);
- // new boats added
- assertEquals(6, nbBoats[1]);
-
- // Check boat 174592 is active &nd boat 177474 is inactive
- List<Boat> results = service.getBoatsByImmatriculations("174592 177474");
- assertTrue(results.get(0).getActive());
- assertFalse(results.get(1).getActive());
- }
-
- @Test
- public void testGetLastActivityCalendar() throws Exception {
- log.info("getLastActivityCalendar");
-
- /** PREPARE DATA **/
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
-
- BoatDAO boatDAO = WaoModelDAOHelper.getBoatDAO(transaction);
- Boat boat = boatDAO.create(
- Boat.NAME, "TESTBOAT",
- Boat.IMMATRICULATION, 174592);
-
- ActivityCalendarDAO dao = WaoModelDAOHelper.getActivityCalendarDAO(transaction);
-
- ActivityCalendar calendar1 = dao.create(
- ActivityCalendar.BOAT, boat,
- ActivityCalendar.YEAR, 2008);
-
- ActivityCalendar calendar2 = dao.create(
- ActivityCalendar.BOAT, boat,
- ActivityCalendar.YEAR, 2007);
-
- ActivityCalendar calendar3 = dao.create(
- ActivityCalendar.BOAT, boat,
- ActivityCalendar.YEAR, 2009);
-
- transaction.commitTransaction();
- transaction.closeContext();
-
- /** EXEC METHOD **/
- WaoUser user = new WaoUserImpl();
- user.setFirstName("Jean");
- user.setLastName("Michmuche");
- Company company = new CompanyImpl();
- company.setName("TARTANPION");
- user.setCompany(company);
-
- ActivityCalendar result = service.getLastActivityCalendar(user, boat);
- Assert.assertNotNull(result);
- Assert.assertEquals(2009, result.getYear());
-
- String filename = WaoContext.getProperty(
- WaoContext.PROP_FILENAME_LOG_ACTIVITY_ACCESS);
-
- File file = new File(filename);
- Assert.assertTrue(file.exists());
-
- BufferedReader reader = new BufferedReader(new FileReader(file));
- String line = reader.readLine();
- Assert.assertTrue(line.contains("Jean Michmuche"));
- Assert.assertTrue(line.contains("TARTANPION"));
- Assert.assertTrue(line.contains("TESTBOAT"));
- Assert.assertTrue(line.contains("174592"));
- }
-
-}
Deleted: trunk/wao-business/src/test/java/fr/ifremer/wao/services/ServiceReferentialImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/services/ServiceReferentialImplTest.java 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/services/ServiceReferentialImplTest.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -1,155 +0,0 @@
-/*
- * *##%
- * Wao :: Business
- * Copyright (C) 2009 - 2010 Ifremer
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/gpl-3.0.html>.
- * ##%*
- */
-
-package fr.ifremer.wao.service;
-
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.WaoRunner;
-import fr.ifremer.wao.WaoRunnerTest;
-import fr.ifremer.wao.bean.SamplingFilter;
-import fr.ifremer.wao.bean.SamplingFilterImpl;
-import fr.ifremer.wao.entity.FishingZone;
-import java.io.InputStream;
-import java.util.List;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import static org.junit.Assert.*;
-
-/**
- *
- * @author fdesbois
- */
-public class ServiceReferentialImplTest {
-
- private static WaoRunner runner;
-
- private static final Logger log = LoggerFactory.getLogger(ServiceReferentialImplTest.class);
-
- private ServiceReferentialImpl service;
-
- public ServiceReferentialImplTest() {
- }
-
- @BeforeClass
- public static void setUpClass() throws Exception {
- runner = new WaoRunnerTest();
- }
-
- @AfterClass
- public static void tearDownClass() throws Exception {
- }
-
- @Before
- public void setUp() throws Exception {
- runner.start();
- service = new ServiceReferentialImpl();
- }
-
- @After
- public void tearDown() throws Exception {
- runner.stop();
- }
-
- /**
- * Test of getFacades method, of class ServiceReferentialImpl.
- */
- @Test
- public void testGetFacades() throws Exception {
- log.info("getFacades");
-
- InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- service.importFishingZoneCsv(input);
-
- List<String> facades = service.getFacades(new SamplingFilterImpl());
- assertEquals(3, facades.size());
- assertTrue(facades.contains("Atlantique"));
- assertTrue(facades.contains("Mer du Nord"));
- assertTrue(facades.contains("Méditerranée"));
- }
-
- @Test
- public void testGetSectors() throws Exception {
- log.info("getSectors");
-
- InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- service.importFishingZoneCsv(input);
-
- SamplingFilter filter = new SamplingFilterImpl();
-
- List<String> sectors = service.getSectors(filter);
- assertEquals(5, sectors.size());
- assertTrue(sectors.contains("Manche"));
- assertTrue(sectors.contains("Mer du Nord"));
- assertTrue(sectors.contains("Manche Ouest"));
- assertTrue(sectors.contains("Golfe de Gascogne"));
- assertTrue(sectors.contains("Méditerranée"));
-
- filter.setFacadeName("Atlantique");
-
- sectors = service.getSectors(filter);
- assertEquals(2, sectors.size());
- assertTrue(sectors.contains("Manche Ouest"));
- assertTrue(sectors.contains("Golfe de Gascogne"));
- }
-
- /**
- * Test of getProfessions method, of class ServiceReferentialImpl.
- */
- //@Test
- public void testGetProfessions() throws Exception {
- System.out.println("getProfessions");
- }
-
- /**
- * Test of getFishingZones method, of class ServiceReferentialImpl.
- * @throws WaoException if error during import or getFishingZones
- */
- @Test
- public void testGetFishingZones() throws WaoException {
- log.info("getFishingZones");
-
- InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- int nbNew = service.importFishingZoneCsv(input);
- // nbNew = 6
-
- List<FishingZone> results = service.getFishingZones();
- assertEquals(nbNew, results.size());
- }
-
- /**
- * Test of importFishingZoneCsv method, of class ServiceReferentialImpl.
- * @throws WaoException if import error
- */
- @Test
- public void testImportFishingZoneCsv() throws WaoException {
- log.info("importFishingZoneCsv");
-
- InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- int result = service.importFishingZoneCsv(input);
- assertEquals(6, result);
- }
-
-}
Deleted: trunk/wao-business/src/test/java/fr/ifremer/wao/services/ServiceSamplingImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/services/ServiceSamplingImplTest.java 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/services/ServiceSamplingImplTest.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -1,589 +0,0 @@
-/*
- * *##%
- * Wao :: Business
- * Copyright (C) 2009 - 2010 Ifremer
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/gpl-3.0.html>.
- * ##%*
- */
-
-package fr.ifremer.wao.service;
-
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.WaoModelDAOHelper;
-import fr.ifremer.wao.WaoRunner;
-import fr.ifremer.wao.WaoContext;
-import fr.ifremer.wao.bean.ImportResults;
-import fr.ifremer.wao.bean.SamplingFilter;
-import fr.ifremer.wao.bean.SamplingFilterImpl;
-import fr.ifremer.wao.WaoRunnerTest;
-import fr.ifremer.wao.bean.FacadeRow;
-import fr.ifremer.wao.entity.Boat;
-import fr.ifremer.wao.entity.Company;
-import fr.ifremer.wao.entity.CompanyDAO;
-import fr.ifremer.wao.entity.ElligibleBoat;
-import fr.ifremer.wao.entity.ElligibleBoatDAO;
-import fr.ifremer.wao.entity.FishingZone;
-import fr.ifremer.wao.entity.FishingZoneDAO;
-import fr.ifremer.wao.entity.Profession;
-import fr.ifremer.wao.entity.ProfessionDAO;
-import fr.ifremer.wao.entity.ProfessionImpl;
-import fr.ifremer.wao.entity.SampleMonth;
-import fr.ifremer.wao.entity.SampleMonthImpl;
-import fr.ifremer.wao.entity.SampleRow;
-import fr.ifremer.wao.entity.SampleRowDAO;
-import fr.ifremer.wao.entity.SampleRowLogImpl;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.List;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.util.DateUtils;
-import org.nuiton.util.PeriodDates;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import static org.junit.Assert.*;
-
-/**
- * ServiceSamplingImplTest
- *
- * Created: 30 nov. 2009
- *
- * @author fdesbois
- * @version $Revision$
- *
- * Mise a jour: $Date$
- * par : $Author$
- */
-public class ServiceSamplingImplTest {
-
- private static WaoRunner runner;
-
- private static final Logger log = LoggerFactory.getLogger(ServiceSamplingImplTest.class);
-
- private ServiceSamplingImpl service;
-
- public ServiceSamplingImplTest() {
- }
-
- @BeforeClass
- public static void setUpClass() throws Exception {
- runner = new WaoRunnerTest();
- }
-
- @AfterClass
- public static void tearDownClass() throws Exception {
- }
-
- @Before
- public void setUp() throws Exception {
- runner.start();
- service = new ServiceSamplingImpl();
- }
-
- @After
- public void tearDown() throws Exception {
- runner.stop();
- }
-
- @Test
- public void testCreateUpdateSampleRow() throws Exception {
- log.info("createUpdateSampleRow");
-
- /** PREPARE DATA **/
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
-
- List<FishingZone> zones = prepareFishingZones(transaction);
-
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = new ServiceBoatImpl();
- serviceBoat.importBoatCsv(input);
-
- transaction.closeContext();
-
- // CREATE
- Profession profession1 = new ProfessionImpl();
- profession1.setCodeDCF5("OORR-BDP");
- profession1.setMeshSize(">=18");
- profession1.setSize("90-1000");
- profession1.setLibelle("Chalutage de poissons tubes");
-
- List<SampleMonth> months = new ArrayList<SampleMonth>();
- for (int i = 0; i < 12; i++) {
- SampleMonth month = new SampleMonthImpl();
- Calendar calendar = new GregorianCalendar(2009, i, 1);
- month.setPeriodDate(calendar.getTime());
- month.setExpectedTidesValue(3);
- months.add(month);
- }
- for (int i = 0; i < 3; i++) {
- SampleMonth month = new SampleMonthImpl();
- Calendar calendar = new GregorianCalendar(2010, i, 1);
- month.setPeriodDate(calendar.getTime());
- month.setExpectedTidesValue(4);
- months.add(month);
- }
-
- SampleRow row = service.getNewSampleRow();
- row.setCode("2010_03");
- row.setNbObservants(3);
- row.setAverageTideTime(2.5);
- row.setProgramName("DPMA-2009");
- row.setPeriodBegin(DateUtils.createDate(1, 1, 2009));
- row.setPeriodEnd(DateUtils.createDate(31, 3, 2010));
- row.setProfession(profession1);
- row.setSampleMonth(months);
- row.setFishingZone(zones);
- row.setFishingZonesInfos("port tres loin du champ");
-
- /** EXEC CREATE **/
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174592 978419 273129");
- service.createUpdateSampleRow(row, boats, new SampleRowLogImpl());
- assertNotNull(row.getTopiaId());
- assertNotNull(row.getProfession().getTopiaId());
-
- SampleRow result = service.getSampleRow(row.getTopiaId());
- assertEquals(3, result.getFishingZone().size());
- assertEquals(3, result.getElligibleBoat().size());
-
- // TEST FOR DELETE ELLIGIBLE BOAT
- boats.remove(2);
- service.createUpdateSampleRow(result, boats, new SampleRowLogImpl());
-
- result = service.getSampleRow(row.getTopiaId());
- assertEquals(2, result.getElligibleBoat().size());
-
- }
-
- /**
- * Test of getSampleRowsOrderedByFishingZone method, of class ServiceSamplingImpl.
- */
- @Test
- public void testGetSampleRowsOrderedByFishingZone() throws Exception {
- log.info("getSampleRowsOrderedByFishingZone");
-
-
- /** PREPARE DATA **/
-
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
-
- List<FishingZone> zones = prepareFishingZones(transaction);
-
- //Program program1 = programDAO.create(Program.NAME, "DPMA-2009");
- Date dateBegin1 = DateUtils.createDate(1, 1, 2009);
- Date dateEnd1 = DateUtils.createDate(1, 3, 2010);
- PeriodDates period1 = new PeriodDates(dateBegin1, dateEnd1);
-
- //Program program2 = programDAO.create(Program.NAME, "PPDA-2008");
- Date dateBegin2 = DateUtils.createDate(1, 1, 2008);
- Date dateEnd2 = DateUtils.createDate(1, 12, 2008);
- PeriodDates period2 = new PeriodDates(dateBegin2, dateEnd2);
-
- SampleRowDAO dao = WaoModelDAOHelper.getSampleRowDAO(transaction);
-
- SampleRow row1 = dao.create();
- row1.setCode("2010_0001");
- row1.addFishingZone(zones.get(2));
- row1.setProgramName("DPMA-2009");
- row1.setPeriod(period1);
-
- log.info(row1.getCode() + " :: " + row1.getFacade() + " :: " + row1.getSectors());
-
- SampleRow row2 = dao.create();
- row2.setCode("2010_0002");
- row2.addFishingZone(zones.get(0));
- row2.setProgramName("DPMA-2009");
- row2.setPeriod(period1);
-
- log.info(row2.getCode() + " :: " + row2.getFacade() + " :: " + row2.getSectors());
-
- SampleRow row3 = dao.create();
- row3.setCode("2010_0003");
- row3.addFishingZone(zones.get(1));
- row3.addFishingZone(zones.get(2));
- row3.addFishingZone(zones.get(0));
- row3.setProgramName("PPDA-2008");
- row3.setPeriod(period2);
-
- log.info(row3.getCode() + " :: " + row3.getFacade() + " :: " + row3.getSectors());
-
- SampleRow row4 = dao.create();
- row4.setCode("2010_0004");
- row4.addFishingZone(zones.get(0)); // Mer du Nord :: Manche
- row4.setProgramName("DPMA-2009");
- row4.setPeriod(period1);
-
- log.info(row4.getCode() + " :: " + row4.getFacade() + " :: " + row4.getSectors());
-
- transaction.commitTransaction();
-
- /** EXEC service method **/
-
- // FIRST TEST :
- // ORDER by FishingZone (facadeName, sectorName, districtCode)
- // BIG PERIOD, included program1 and program2
- // NO COMPANY (= null)
- Calendar begin = new GregorianCalendar(2000, 0, 1, 0, 0, 0);
- Calendar end = new GregorianCalendar(2020, 11, 31, 0, 0, 0);
- PeriodDates period = new PeriodDates(begin, end);
- // RESULT : [2010_0002, 2010_0004, 2010_0001, 2010_0003]
- FacadeRow facade = service.getSampleRowsOrderedByFishingZone(period, null);
- List<SampleRow> rows = facade.getValues();
- assertEquals(4, rows.size());
- SampleRow resultRow0 = rows.get(0);
- assertEquals("2010_0002", resultRow0.getCode());
- SampleRow resultRow1 = rows.get(1);
- assertEquals("2010_0004", resultRow1.getCode());
-
-// List<FishingZone> zoneRow1 = resultRow1.getFishingZone();
-// assertEquals(3, zoneRow1.size());
-// FishingZone resultZone0 = zoneRow1.get(0);
-// assertEquals("VIIb", resultZone0.getDistrictCode());
-// FishingZone resultZone1 = zoneRow1.get(1);
-// assertEquals("VI", resultZone1.getDistrictCode());
-// FishingZone resultZone2 = zoneRow1.get(2);
-// assertEquals("V", resultZone2.getDistrictCode());
-
- SampleRow resultRow2 = rows.get(2);
- assertEquals("2010_0003", resultRow2.getCode());
- SampleRow resultRow3 = rows.get(3);
- assertEquals("2010_0001", resultRow3.getCode());
-
- // SECOND TEST :
- // ORDER by FishingZone (facadeName, sectorName, districtCode)
- // BIG PERIOD, not included program2
- // NO COMPANY (= null)
- begin = new GregorianCalendar(2009, 0, 1, 0, 0, 0);
- end = new GregorianCalendar(2020, 11, 31, 0, 0, 0);
- period = new PeriodDates(begin, end);
- // RESULT : [2010_0002, 2010_0004, 2010_0001]
- facade = service.getSampleRowsOrderedByFishingZone(period, null);
- rows = facade.getValues();
- assertEquals(3, rows.size());
- resultRow0 = rows.get(0);
- assertEquals("2010_0002", resultRow0.getCode());
- resultRow1 = rows.get(1);
- assertEquals("2010_0004", resultRow1.getCode());
- resultRow2 = rows.get(2);
- assertEquals("2010_0001", resultRow2.getCode());
-
- }
-
- private List<FishingZone> prepareFishingZones(TopiaContext transaction) throws WaoException, TopiaException {
-
- FishingZoneDAO fishingZoneDAO = WaoModelDAOHelper.getFishingZoneDAO(transaction);
-
- FishingZone fishingZone1 = fishingZoneDAO.create();
- fishingZone1.setFacadeName("Atlantique");
- fishingZone1.setSectorName("Secteur Mer Celtique et Ouest Irlande centré Pays bigouden");
- fishingZone1.setDistrictCode("VIIb");
-
- FishingZone fishingZone2 = fishingZoneDAO.create();
- fishingZone2.setFacadeName("Manche");
- fishingZone2.setSectorName("Secteur Cherbourg Honfleur centré sur Port-en-Bessin");
- fishingZone2.setDistrictCode("VI");
-
- FishingZone fishingZone3 = fishingZoneDAO.create();
- fishingZone3.setFacadeName("Manche");
- fishingZone3.setSectorName("Secteur du Havre à Dunkerque centré sur Boulogne");
- fishingZone3.setDistrictCode("V");
-
- transaction.commitTransaction();
-
- return fishingZoneDAO.findAll();
- }
-
- public void testGetSampleRowsForUser() throws Exception {
- log.info("getSampleRowsForUser");
- /** PREPARE DATA **/
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
-
- FishingZoneDAO zoneDAO = WaoModelDAOHelper.getFishingZoneDAO(transaction);
- FishingZone zoneIId = zoneDAO.create(FishingZone.DISTRICT_CODE, "IId");
- FishingZone zoneIV = zoneDAO.create(FishingZone.DISTRICT_CODE, "IV");
- FishingZone zoneI = zoneDAO.create(FishingZone.DISTRICT_CODE, "I");
-
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
- Company company = companyDAO.create(Company.NAME, "TARTANPION");
- Calendar begin = new GregorianCalendar(2009,8,1);
- Calendar end = new GregorianCalendar(2010,11,31);
- SampleRowDAO sampleRowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = sampleRowDAO.create(
- SampleRow.CODE,"2010_178",
- SampleRow.COMPANY,company,
- SampleRow.PROGRAM_NAME, "DPMA-2009",
- SampleRow.PERIOD_BEGIN, begin.getTime(),
- SampleRow.PERIOD_END, end.getTime());
-
-
- transaction.commitTransaction();
- transaction.closeContext();
-
- InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- service.importSamplingPlanCsv(input);
-
- /** EXEC METHOD **/
- SamplingFilter filter = new SamplingFilterImpl();
-// User admin = new UserImpl();
-// admin.setAdmin(true);
-// filter.setCompany()
- filter.setNbMonthFinishedFromToday(0);
- List<SampleRow> results = service.getSampleRowsByFilter(filter);
- // total in file : 11, 1 refused, 1 finished
- assertEquals(9, results.size());
-
-// User user = new UserImpl();
-// user.setCompany(company);
- filter.setCompany(company);
- results = service.getSampleRowsByFilter(filter);
- assertEquals(1, results.size());
- }
-
- /**
- * Test of getHistoric method, of class ServiceSamplingImpl.
- */
- //@Test
- public void testGetHistoric() throws Exception {
- System.out.println("getHistoric");
- }
-
- /**
- * Test of getSampleRow method, of class ServiceSamplingImpl.
- */
- //@Test
- public void testGetSampleRow() throws Exception {
- System.out.println("getSampleRow");
- }
-
- @Test
- public void testGetNewProfession() throws Exception {
- log.info("getNewProfession");
-
- /** PREPARE DATA **/
-
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
-
- ProfessionDAO dao = WaoModelDAOHelper.getProfessionDAO(transaction);
-
- Profession profession = dao.create(
- Profession.CODE_DCF5, "OBR",
- Profession.LIBELLE, "Fileyage en barre",
- Profession.MESH_SIZE, "< 80",
- Profession.OTHER, "90mm",
- Profession.SPECIES, "barre, lieu noir, saumon des plages");
-
- transaction.commitTransaction();
- transaction.closeContext();
-
- /** EXEC METHOD **/
- Profession newProfession = service.getNewProfession(profession);
- Assert.assertNotSame(profession, newProfession);
- Assert.assertEquals("OBR", newProfession.getCodeDCF5());
- Assert.assertEquals("Fileyage en barre", newProfession.getLibelle());
- Assert.assertEquals("< 80", newProfession.getMeshSize());
- Assert.assertEquals("90mm", newProfession.getOther());
- Assert.assertEquals("barre, lieu noir, saumon des plages", newProfession.getSpecies());
-
- }
-
- @Test
- public void testDeleteSampleRow() throws Exception {
- log.info("deleteSampleRow");
-
- /** PREPARE DATA **/
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
-
- FishingZoneDAO zoneDAO = WaoModelDAOHelper.getFishingZoneDAO(transaction);
- FishingZone zoneIId = zoneDAO.create(FishingZone.DISTRICT_CODE, "IId");
- FishingZone zoneIV = zoneDAO.create(FishingZone.DISTRICT_CODE, "IV");
- FishingZone zoneI = zoneDAO.create(FishingZone.DISTRICT_CODE, "I");
-
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
- companyDAO.create(Company.NAME, "TARTANPION");
- companyDAO.create(Company.NAME, "BIS");
- transaction.commitTransaction();
-
-
- InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- service.importSamplingPlanCsv(input);
-
- SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
- row.getProfession();
- row.getCompany();
- transaction.closeContext();
-
- input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = new ServiceBoatImpl();
- serviceBoat.importBoatCsv(input);
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174592 978419 273129");
-
- service.createUpdateSampleRow(row, boats, new SampleRowLogImpl());
- /** EXEC METHOD **/
-
- service.deleteSampleRow(row);
- transaction = WaoContext.getTopiaRootContext().beginTransaction();
- rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
- row = rowDAO.findByCode("2010_0001");
- assertNull(row);
-
- ElligibleBoatDAO elligibleDAO = WaoModelDAOHelper.getElligibleBoatDAO(transaction);
- List<ElligibleBoat> elligibles = elligibleDAO.findAll();
- assertEquals(0, elligibles.size());
- transaction.closeContext();
- }
-
- @Test
- public void testImportSamplingPlanCsv() throws WaoException, TopiaException {
- log.info("importSamplingPlanCsv");
-
- /** PREPARE DATA **/
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
-
- FishingZoneDAO zoneDAO = WaoModelDAOHelper.getFishingZoneDAO(transaction);
- FishingZone zoneIId = zoneDAO.create(FishingZone.DISTRICT_CODE, "IId");
- FishingZone zoneIV = zoneDAO.create(FishingZone.DISTRICT_CODE, "IV");
- FishingZone zoneI = zoneDAO.create(FishingZone.DISTRICT_CODE, "I");
-
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
- companyDAO.create(Company.NAME, "TARTANPION");
- companyDAO.create(Company.NAME, "BIS");
- transaction.commitTransaction();
- transaction.closeContext();
-
- /** EXEC METHOD **/
- InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ImportResults result = service.importSamplingPlanCsv(input);
-
- // total imported
- assertEquals(12, result.getNbRowsImported());
- // total refused
- assertEquals(1, result.getNbRowsRefused());
-
- /** CHECK VALUES **/
- transaction = WaoContext.getTopiaRootContext().beginTransaction();
-
- SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
-
- // Error #2221 : don't keep the same profession for two different rows
- SampleRow row2 = rowDAO.findByCode("2010_0010");
- SampleRow row3 = rowDAO.findByCode("2010_0011");
- assertNotSame(row2.getProfession(), row3.getProfession());
-
- ProfessionDAO professionDAO =
- WaoModelDAOHelper.getProfessionDAO(transaction);
-
- List<Profession> professions = professionDAO.findAll();
- assertEquals(12, professions.size());
-
- SampleRow row1 = rowDAO.findByCode("2010_0001");
- assertNotNull(row1);
- assertEquals(1, row1.getNbObservants());
- assertEquals(1.5, row1.getAverageTideTime(), 0.1);
- assertEquals("Un petit commentaire", row1.getComment());
-
- assertEquals("MA-2009", row1.getProgramName());
-
- Profession profession = row1.getProfession();
- assertNotNull(profession);
- assertEquals("DB_MOL", profession.getCodeDCF5());
-
- List<SampleMonth> months = row1.getSampleMonth();
- assertEquals(11, months.size());
-
- Collection<FishingZone> zones = row1.getFishingZone();
- assertEquals(2, zones.size());
- zones.contains(zoneI);
- zones.contains(zoneIId);
-
- transaction.closeContext();
- }
-
- @Test
- public void testGetPrograms() throws Exception {
- /** PREPARE DATA **/
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
-
- FishingZoneDAO zoneDAO = WaoModelDAOHelper.getFishingZoneDAO(transaction);
- zoneDAO.create(FishingZone.DISTRICT_CODE, "IId");
- zoneDAO.create(FishingZone.DISTRICT_CODE, "IV");
- zoneDAO.create(FishingZone.DISTRICT_CODE, "I");
-
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
- companyDAO.create(Company.NAME, "TARTANPION");
- companyDAO.create(Company.NAME, "BIS");
- transaction.commitTransaction();
- transaction.closeContext();
-
- InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- service.importSamplingPlanCsv(input);
-
- /** EXEC METHOD **/
- List<String> programs = service.getPrograms(null);
- assertEquals(4, programs.size());
- }
-
-
- @Test
- public void testGetNewSampleRowCode() throws Exception {
- log.info("getNewSampleRowCode");
-
- /** PREPARE DATA **/
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
-
- FishingZoneDAO zoneDAO = WaoModelDAOHelper.getFishingZoneDAO(transaction);
- FishingZone zoneIId = zoneDAO.create(FishingZone.DISTRICT_CODE, "IId");
- FishingZone zoneIV = zoneDAO.create(FishingZone.DISTRICT_CODE, "IV");
- FishingZone zoneI = zoneDAO.create(FishingZone.DISTRICT_CODE, "I");
-
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
- companyDAO.create(Company.NAME, "TARTANPION");
- companyDAO.create(Company.NAME, "BIS");
- transaction.commitTransaction();
-
- ServiceSampling serviceSampling = new ServiceSamplingImpl();
- InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- serviceSampling.importSamplingPlanCsv(input);
-
- transaction.closeContext();
-
- /** EXEC METHOD **/
-
- Calendar begin = new GregorianCalendar(2009, 11, 1);
-
- String result = service.getNewSampleRowCode(begin.getTime());
- Assert.assertEquals("2009_0007", result);
-
- // Test regex for replacment in importSamplingPlanCsv
-// String code = "2010_1";
-// code = code.replaceFirst("_(\\d)$", "_0$1");
-// Assert.assertEquals("2010_01", code);
-//
-// code = "2010_04";
-// code = code.replaceFirst("_(\\d)$", "_0$1");
-// Assert.assertEquals("2010_04", code);
- }
-
-}
Deleted: trunk/wao-business/src/test/java/fr/ifremer/wao/services/ServiceSynthesisImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/services/ServiceSynthesisImplTest.java 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/services/ServiceSynthesisImplTest.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -1,544 +0,0 @@
-/*
- * *##%
- * Wao :: Business
- * Copyright (C) 2009 - 2010 Ifremer
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/gpl-3.0.html>.
- * ##%*
- */
-
-package fr.ifremer.wao.service;
-
-import fr.ifremer.wao.WaoContext;
-import fr.ifremer.wao.WaoModelDAOHelper;
-import fr.ifremer.wao.WaoRunner;
-import fr.ifremer.wao.WaoRunnerTest;
-import fr.ifremer.wao.bean.BoardingResult;
-import fr.ifremer.wao.bean.ContactAverageReactivity;
-import fr.ifremer.wao.bean.ContactState;
-import fr.ifremer.wao.bean.ContactStateStatistics;
-import fr.ifremer.wao.entity.Boat;
-import fr.ifremer.wao.entity.Company;
-import fr.ifremer.wao.entity.CompanyDAO;
-import fr.ifremer.wao.entity.Contact;
-import fr.ifremer.wao.entity.ContactImpl;
-import fr.ifremer.wao.entity.SampleRow;
-import fr.ifremer.wao.entity.SampleRowDAO;
-import fr.ifremer.wao.entity.WaoUser;
-import fr.ifremer.wao.entity.WaoUserDAO;
-import java.io.InputStream;
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import org.apache.commons.collections.CollectionUtils;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.util.DateUtils;
-import org.nuiton.util.PeriodDates;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import static org.junit.Assert.*;
-
-/**
- *
- * @author fdesbois
- */
-public class ServiceSynthesisImplTest {
-
- private static WaoRunner runner;
-
- private static final Logger log = LoggerFactory.getLogger(ServiceSynthesisImplTest.class);
-
- private ServiceSynthesisImpl service;
-
- public ServiceSynthesisImplTest() {
- }
-
- @BeforeClass
- public static void setUpClass() throws Exception {
- runner = new WaoRunnerTest();
- }
-
- @AfterClass
- public static void tearDownClass() throws Exception {
- }
-
- @Before
- public void setUp() throws Exception {
- runner.start();
- service = new ServiceSynthesisImpl();
- }
-
- @After
- public void tearDown() throws Exception {
- runner.stop();
- }
-
- /**
- * Test of getDataSampling method, of class ServiceSynthesisImpl.
- */
- //@Test
- public void testGetDataSampling() throws Exception {
- System.out.println("getDataSampling");
- }
-
- /**
- * Test of getBoardingBoats method, of class ServiceSynthesisImpl.
- */
- @Test
- public void testGetBoardingBoats() throws Exception {
- log.info("getBoardingBoats");
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = new ServiceBoatImpl();
- serviceBoat.importBoatCsv(input);
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
- Boat boat = boats.get(0);
-
- List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
- Boat boat2 = boats2.get(0);
-
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
-
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
- Company company = companyDAO.create(Company.NAME, "TARTANPION");
- Company company2 = companyDAO.create(Company.NAME, "BIS");
-
- WaoUserDAO userDAO = WaoModelDAOHelper.getWaoUserDAO(transaction);
- WaoUser user = userDAO.create(WaoUser.FIRST_NAME,"Jean", WaoUser.LAST_NAME, "Michmuche",
- WaoUser.COMPANY, company);
- company.addWaoUser(user);
- WaoUser user2 = userDAO.create(WaoUser.FIRST_NAME,"Bill", WaoUser.LAST_NAME, "Murray",
- WaoUser.COMPANY, company2);
- company2.addWaoUser(user2);
-
- transaction.commitTransaction();
-
- input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- ServiceReferential serviceReferential = new ServiceReferentialImpl();
- serviceReferential.importFishingZoneCsv(input);
-
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ServiceSampling serviceSampling = new ServiceSamplingImpl();
- serviceSampling.importSamplingPlanCsv(input);
-
- SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
-
- transaction.closeContext();
-
-
- ServiceContact serviceContact = new ServiceContactImpl();
- // First contact : OK
- Contact contact1 = new ContactImpl();
- contact1.setBoat(boat);
- contact1.setObserver(user);
- contact1.setSampleRow(row);
- contact1.setState(ContactState.BOARDING_DONE.toString());
- Date begin = DateUtils.createDate(3, 3, 2009);
- contact1.setTideBeginDate(begin);
- contact1.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(contact1, false);
-
- Contact contact2 = new ContactImpl();
- contact2.setBoat(boat);
- contact2.setObserver(user);
- contact2.setSampleRow(row);
- contact2.setState(ContactState.BOARDING_DONE.toString());
- begin = DateUtils.createDate(3, 3, 2009);
- contact2.setTideBeginDate(begin);
- contact2.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(contact2, false);
-
- Contact contact3 = new ContactImpl();
- contact3.setBoat(boat2);
- contact3.setObserver(user);
- contact3.setSampleRow(row);
- contact3.setState(ContactState.BOARDING_DONE.toString());
- begin = DateUtils.createDate(3, 3, 2009);
- contact3.setTideBeginDate(begin);
- contact3.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(contact3, false);
-
- /** EXEC METHOD **/
- BoardingResult result = service.getBoardingBoats(null, null);
- // one boat with one boarding (177474)
- assertEquals(1, result.getData().get("1").intValue());
- // one boat with two boardings (174258)
- assertEquals(1, result.getData().get("2").intValue());
- assertEquals(2, result.getMaxBoardingValue());
- assertEquals(174258, result.getMaxBoardingBoat().getImmatriculation());
- }
-
- /**
- * Test of getBoardingBoats method, of class ServiceSynthesisImpl.
- */
- @Test
- public void testGetNonComplianceBoardingIndicator() throws Exception {
- log.info("getNonComplianceBoardingIndicator");
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = new ServiceBoatImpl();
- serviceBoat.importBoatCsv(input);
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
- Boat boat = boats.get(0);
-
- List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
- Boat boat2 = boats2.get(0);
-
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
-
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
- Company company = companyDAO.create(Company.NAME, "TARTANPION");
- Company company2 = companyDAO.create(Company.NAME, "BIS");
-
- WaoUserDAO userDAO = WaoModelDAOHelper.getWaoUserDAO(transaction);
- WaoUser user = userDAO.create(WaoUser.FIRST_NAME,"Jean", WaoUser.LAST_NAME, "Michmuche",
- WaoUser.COMPANY, company);
- company.addWaoUser(user);
- WaoUser user2 = userDAO.create(WaoUser.FIRST_NAME,"Bill", WaoUser.LAST_NAME, "Murray",
- WaoUser.COMPANY, company2);
- company2.addWaoUser(user2);
-
- transaction.commitTransaction();
-
- input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- ServiceReferential serviceReferential = new ServiceReferentialImpl();
- serviceReferential.importFishingZoneCsv(input);
-
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ServiceSampling serviceSampling = new ServiceSamplingImpl();
- serviceSampling.importSamplingPlanCsv(input);
-
- SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
- SampleRow row2 = rowDAO.findByCode("2009_0006");
-
- transaction.closeContext();
-
-
- ServiceContact serviceContact = new ServiceContactImpl();
- // First contact : OK
- Contact contact1 = new ContactImpl();
- contact1.setBoat(boat);
- contact1.setObserver(user);
- contact1.setSampleRow(row);
- // 1 real observer over 1
- contact1.setNbObservants(1);
- contact1.setState(ContactState.BOARDING_DONE.toString());
- Date begin = DateUtils.createDate(3, 3, 2009);
- contact1.setTideBeginDate(begin);
- contact1.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(contact1, false);
-
- Contact contact2 = new ContactImpl();
- contact2.setBoat(boat);
- contact2.setObserver(user);
- contact2.setSampleRow(row);
- // 2 real observer over 1
- contact2.setNbObservants(2);
- contact2.setState(ContactState.BOARDING_DONE.toString());
- begin = DateUtils.createDate(3, 3, 2009);
- contact2.setTideBeginDate(begin);
- contact2.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(contact2, false);
-
- Contact contact3 = new ContactImpl();
- contact3.setBoat(boat2);
- contact3.setObserver(user2);
- contact3.setSampleRow(row2);
- // 1 real observer over 2
- contact3.setNbObservants(1);
- contact3.setState(ContactState.BOARDING_DONE.toString());
- begin = DateUtils.createDate(3, 3, 2009);
- contact3.setTideBeginDate(begin);
- contact3.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(contact3, false);
-
- /** EXEC METHOD **/
-
- // result for company TARTANPION
- Map<String, Double> results =
- service.getNonComplianceBoardingIndicator(company);
-
- assertEquals(1, results.size());
-
- // 0% of non compliance
- Double value = results.get(company.getName());
- assertEquals(0., value, 0);
-
- // result for company BIS using admin mode (no company filtered)
- results = service.getNonComplianceBoardingIndicator(null);
-
- assertEquals(2, results.size());
-
- // 100% of non compliance
- value = results.get(company2.getName());
- assertEquals(1., value, 0);
- }
-
- /**
- * Test of getBoardingBoats method, of class ServiceSynthesisImpl.
- */
- @Test
- public void testGetContactStateStatistics() throws Exception {
- log.info("getContactStateStatistics");
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = new ServiceBoatImpl();
- serviceBoat.importBoatCsv(input);
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
- Boat boat = boats.get(0);
-
- List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
- Boat boat2 = boats2.get(0);
-
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
-
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
- Company company = companyDAO.create(Company.NAME, "TARTANPION");
- Company company2 = companyDAO.create(Company.NAME, "BIS");
-
- WaoUserDAO userDAO = WaoModelDAOHelper.getWaoUserDAO(transaction);
- WaoUser user = userDAO.create(WaoUser.FIRST_NAME,"Jean", WaoUser.LAST_NAME, "Michmuche",
- WaoUser.COMPANY, company);
- company.addWaoUser(user);
- WaoUser user2 = userDAO.create(WaoUser.FIRST_NAME,"Bill", WaoUser.LAST_NAME, "Murray",
- WaoUser.COMPANY, company2);
- company2.addWaoUser(user2);
-
- transaction.commitTransaction();
-
- input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- ServiceReferential serviceReferential = new ServiceReferentialImpl();
- serviceReferential.importFishingZoneCsv(input);
-
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ServiceSampling serviceSampling = new ServiceSamplingImpl();
- serviceSampling.importSamplingPlanCsv(input);
-
- SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
-
- transaction.closeContext();
-
-
- ServiceContact serviceContact = new ServiceContactImpl();
-
- // Contacts for company TARTANPION
- Contact contact1 = new ContactImpl();
- contact1.setObserver(user);
- contact1.setState(ContactState.BOARDING_DONE.toString());
- Date begin = DateUtils.createDate(3, 3, 2009);
- contact1.setTideBeginDate(begin);
- serviceContact.saveContact(contact1, false);
-
- Contact contact2 = new ContactImpl();
- contact2.setObserver(user);
- contact2.setState(ContactState.BOARDING_DONE.toString());
- begin = DateUtils.createDate(3, 10, 2009);
- contact2.setTideBeginDate(begin);
- serviceContact.saveContact(contact2, false);
-
- Contact contact3 = new ContactImpl();
- contact3.setObserver(user);
- contact3.setState(ContactState.BOAT_REFUSED.toString());
- begin = DateUtils.createDate(3, 5, 2009);
- contact3.setTopiaCreateDate(begin);
- serviceContact.saveContact(contact3, false);
-
- // Contacts for company BIS
- Contact contact4 = new ContactImpl();
- contact4.setObserver(user2);
- contact4.setState(ContactState.BOARDING_EXPECTED.toString());
- begin = DateUtils.createDate(3, 5, 2009);
- contact4.setTopiaCreateDate(begin);
- serviceContact.saveContact(contact4, false);
-
- Contact contact5 = new ContactImpl();
- contact5.setObserver(user2);
- contact5.setState(ContactState.BOAT_UNAVAILABLE.toString());
- begin = DateUtils.createDate(3, 3, 2010);
- contact5.setTopiaCreateDate(begin);
- serviceContact.saveContact(contact5, false);
-
- // Contact refused by program, will not be in result
- Contact contact6 = new ContactImpl();
- contact6.setObserver(user2);
- contact6.setState(ContactState.BOAT_UNAVAILABLE.toString());
- begin = DateUtils.createDate(3, 3, 2010);
- contact6.setTopiaCreateDate(begin);
- contact6.setValidationProgram(Boolean.FALSE);
- serviceContact.saveContact(contact6, false);
-
- /** EXEC METHOD **/
-
- // result for company TARTANPION with no period
- Collection<ContactStateStatistics> results =
- service.getContactStateStatistics(company, null);
-
- assertEquals(1, results.size());
- ContactStateStatistics result = (ContactStateStatistics)CollectionUtils.get(results, 0);
- assertEquals(3, result.getTotal());
- Map<ContactState, Integer> data = result.getData();
- assertNotNull(data);
-
- assertEquals(ContactState.values().length, data.size());
- assertEquals(2, data.get(ContactState.BOARDING_DONE).intValue());
- assertEquals(1, data.get(ContactState.BOAT_REFUSED).intValue());
-
- // result for company BIS using admin mode
- results = service.getContactStateStatistics(null, null);
- assertEquals(2, results.size());
-
- result = null;
- for (ContactStateStatistics stats : results) {
- if (stats.getCompanyName().equals(company2.getName())) {
- result = stats;
- break;
- }
- }
-
- assertEquals(2, result.getTotal());
- data = result.getData();
- assertEquals(1, data.get(ContactState.BOARDING_EXPECTED).intValue());
- assertEquals(1, data.get(ContactState.BOAT_UNAVAILABLE).intValue());
-
- // result for period 3/5/2009 to 3/10/2009 for BIS company
- begin = DateUtils.createDate(3, 5, 2009);
- Date end = DateUtils.createDate(31, 10, 2009);
- PeriodDates period = new PeriodDates(begin, end);
-
- results = service.getContactStateStatistics(company2, period);
- assertEquals(1, results.size());
-
- result = (ContactStateStatistics)CollectionUtils.get(results, 0);
-
- assertEquals(1, result.getTotal());
- data = result.getData();
- assertEquals(1, data.get(ContactState.BOARDING_EXPECTED).intValue());
- assertEquals(0, data.get(ContactState.BOAT_UNAVAILABLE).intValue());
- }
-
- /**
- * Test of getBoardingBoats method, of class ServiceSynthesisImpl.
- */
- @Test
- public void testGetContactDataInputDateReactivity() throws Exception {
- log.info("getContactDataInputDateReactivity");
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = new ServiceBoatImpl();
- serviceBoat.importBoatCsv(input);
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
- Boat boat = boats.get(0);
-
- List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
- Boat boat2 = boats2.get(0);
-
- TopiaContext transaction = WaoContext.getTopiaRootContext().beginTransaction();
-
- CompanyDAO companyDAO = WaoModelDAOHelper.getCompanyDAO(transaction);
- Company company = companyDAO.create(Company.NAME, "TARTANPION");
- Company company2 = companyDAO.create(Company.NAME, "BIS");
-
- WaoUserDAO userDAO = WaoModelDAOHelper.getWaoUserDAO(transaction);
- WaoUser user = userDAO.create(WaoUser.FIRST_NAME,"Jean", WaoUser.LAST_NAME, "Michmuche",
- WaoUser.COMPANY, company);
- company.addWaoUser(user);
- WaoUser user2 = userDAO.create(WaoUser.FIRST_NAME,"Bill", WaoUser.LAST_NAME, "Murray",
- WaoUser.COMPANY, company2);
- company2.addWaoUser(user2);
-
- transaction.commitTransaction();
-
- input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- ServiceReferential serviceReferential = new ServiceReferentialImpl();
- serviceReferential.importFishingZoneCsv(input);
-
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ServiceSampling serviceSampling = new ServiceSamplingImpl();
- serviceSampling.importSamplingPlanCsv(input);
-
- SampleRowDAO rowDAO = WaoModelDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
- SampleRow row2 = rowDAO.findByCode("2009_0006");
-
- transaction.closeContext();
-
-
- ServiceContact serviceContact = new ServiceContactImpl();
- // First contact : OK
- Contact contact1 = new ContactImpl();
- contact1.setObserver(user);
- Date begin = DateUtils.createDate(3, 3, 2009);
- contact1.setTideBeginDate(begin);
- Date inputDate = DateUtils.createDate(15, 4, 2009);
- contact1.setDataInputDate(inputDate);
- contact1.setState(ContactState.BOARDING_DONE.toString());
- contact1.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(contact1, false);
-
- Contact contact2 = new ContactImpl();
- contact2.setObserver(user);
- begin = DateUtils.createDate(3, 3, 2009);
- contact2.setTideBeginDate(begin);
- inputDate = DateUtils.createDate(15, 3, 2009);
- contact2.setDataInputDate(inputDate);
- contact2.setState(ContactState.BOARDING_DONE.toString());
- contact2.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(contact2, false);
-
- Contact contact3 = new ContactImpl();
- contact3.setObserver(user2);
- begin = DateUtils.createDate(3, 3, 2009);
- contact3.setTideBeginDate(begin);
- contact3.setDataInputDate(begin);
- contact3.setState(ContactState.BOARDING_DONE.toString());
- contact3.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(contact3, false);
-
- /** EXEC METHOD **/
-
- PeriodDates period = new PeriodDates(begin, begin);
-
- // result for company TARTANPION
- Collection<ContactAverageReactivity> results =
- service.getContactDataInputDateReactivity(company, period);
-
- assertEquals(1, results.size());
-
- // 12 days for contact1 + 43 days for contact2 / 2 = 27.5 days
- ContactAverageReactivity res =
- (ContactAverageReactivity)CollectionUtils.get(results, 0);
-
- assertEquals(27., res.getResult(), 0.01);
-
- // result for company BIS using admin mode (no company filtered)
- results = service.getContactDataInputDateReactivity(null, period);
-
- // 0 days for contact3 / 1 = O days
- res = (ContactAverageReactivity)CollectionUtils.get(results, 0);
-
- assertEquals(0, res.getResult(), 0.01);
- }
-
-}
\ No newline at end of file
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -154,12 +154,12 @@
sampleRowId = getFilter().getSampleRow().getTopiaId();
}
- if (user.getAdmin() && companySelect) {
+ if (user.isAdmin() && companySelect) {
resetCompanySelect();
if (getFilter().getCompany() != null) {
companyId = getFilter().getCompany().getTopiaId();
}
- } else if (!user.getAdmin()) {
+ } else if (!user.isAdmin()) {
if (log.isDebugEnabled()) {
log.debug("Company filtered : " + user.getCompany());
}
@@ -306,7 +306,7 @@
List<WaoUser> observers = new ArrayList<WaoUser>();
if (getFilter().getCompany() != null) {
observers = getFilter().getCompany().getWaoUser();
- } else if (user.getAdmin()) {
+ } else if (user.isAdmin()) {
if (log.isInfoEnabled()) {
log.info("BUSINESS REQUEST [getObservers]");
}
@@ -368,7 +368,7 @@
}
SampleRow row = getSampleRowSelectModel().findObject(sampleRowId);
getFilter().setSampleRow(row);
- if (user.getAdmin()) {
+ if (user.isAdmin()) {
Company company = getCompanySelectModel().findObject(companyId);
getFilter().setCompany(company);
} else {
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/Layout.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/Layout.java 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/Layout.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -150,7 +150,7 @@
}
public String getAdminClass() {
- return this.currentUser.getAdmin() ? " admin" : "";
+ return this.currentUser.isAdmin() ? " admin" : "";
}
public String getSamplingSelected() {
@@ -174,7 +174,7 @@
}
public boolean canShowPage() {
- if (!currentUser.getAdmin()) {
+ if (!currentUser.isAdmin()) {
return !page.isOnlyForAdmin();
}
return true;
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -509,7 +509,7 @@
}
public boolean canCreateNewContactFromList() throws WaoException {
- if (!user.getAdmin() && isSampleRowExists()) {
+ if (!user.isAdmin() && isSampleRowExists()) {
return boat.canCreateContact(user.getCompany());
}
return false;
@@ -543,7 +543,7 @@
log.debug("Show infos for boat : " + boatImma);
}
- if (user.getAdmin() && getCompany() != null) {
+ if (user.isAdmin() && getCompany() != null) {
companySelectedId = getCompany().getTopiaId();
}
return boatsZone.getBody();
@@ -639,7 +639,7 @@
if (company == null) {
if (StringUtils.isNotEmpty(companySelectedId)) {
company = getCompanies().findObject(companySelectedId);
- } else if (!user.getAdmin()) {
+ } else if (!user.isAdmin()) {
company = user.getCompany();
}
}
@@ -700,7 +700,7 @@
*/
public String getlastContactStyle() throws WaoException {
Contact contact = getCompanyBoatInfos().getLastContact();
- return BusinessUtils.getContactStyle(contact, user.getAdmin());
+ return BusinessUtils.getContactStyle(contact, user.isAdmin());
}
/** /////////////////////// FOR EACH ELLIGIBLEBOAT ROW ///////////////// **/
@@ -714,7 +714,7 @@
}
public boolean canCreateNewContactFromElligibleBoat() throws WaoException {
- if (!user.getAdmin() && !isElligibleBoatCompanyActiveFalse()) {
+ if (!user.isAdmin() && !isElligibleBoatCompanyActiveFalse()) {
Boat currentBoat = getBoatInfos().getBoat();
return currentBoat.canCreateContact(user.getCompany());
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -156,7 +156,7 @@
}
public boolean isFiltersVisible() {
- boolean companyFiltered = contactFilter.getCompany() != null && user.getAdmin();
+ boolean companyFiltered = contactFilter.getCompany() != null && user.isAdmin();
return (contactFilter.isFiltered() || companyFiltered) && StringUtils.isEmpty(contactFilter.getBoatName()); /*&& !getDefaultFromDate().equals(contactFilter.getFromDate());*/
}
@@ -291,7 +291,7 @@
public BeanModel<Contact> getContactModel() {
if (contactModel == null) {
- contactModel = user.getAdmin() ?
+ contactModel = user.isAdmin() ?
contactModelFactory.buildAdminContactModel(beanModelSource, resources) :
contactModelFactory.buildContactModel(beanModelSource, resources);
}
@@ -348,11 +348,11 @@
}
public String getGridClass() {
- return user.getAdmin() ? "admin" : "user";
+ return user.isAdmin() ? "admin" : "user";
}
public String getRowClass() {
- String result = BusinessUtils.getContactStyle(contact, user.getAdmin());
+ String result = BusinessUtils.getContactStyle(contact, user.isAdmin());
if (contact.getTopiaId().equals(contactSelectedId)) {
result = "selected";
}
@@ -389,7 +389,7 @@
private String oldComment;
public boolean hasActions() {
- return !user.getAdmin() && contact.getValidationCompany() == null;
+ return !user.isAdmin() && contact.getValidationCompany() == null;
}
public boolean canValidate() {
@@ -399,14 +399,14 @@
}
ContactState state = ContactState.createContactStateEnum(contact.getState());
boolean boardingDone = state.equals(ContactState.BOARDING_DONE) && contact.getDataInputDate() != null;
- if (!user.getAdmin()) {
+ if (!user.isAdmin()) {
return contact.getValidationCompany() == null && (state.isUnfinishedState() || boardingDone);
}
return contact.getValidationProgram() == null && BooleanUtils.isTrue(contact.getValidationCompany());
}
public boolean canUnvalidate() {
- if (!user.getAdmin()) {
+ if (!user.isAdmin()) {
return contact.getValidationCompany() != null &&
contact.getValidationProgram() == null;
}
@@ -418,7 +418,7 @@
log.debug("Accept contact : " + contactId);
}
contactEdited = getContacts().get(contactId);
- if (user.getAdmin()) {
+ if (user.isAdmin()) {
contactEdited.setValidationProgram(Boolean.TRUE);
} else {
// For company accepted, addRealTideTime
@@ -432,7 +432,7 @@
log.debug("Refuse contact : " + contactId);
}
contactEdited = getContacts().get(contactId);
- if (user.getAdmin()) {
+ if (user.isAdmin()) {
// For program refused, removeRealTideTime
contactEdited.getSampleRow().removeRealTideTime(contactEdited);
contactEdited.setValidationProgram(Boolean.FALSE);
@@ -446,7 +446,7 @@
log.debug("Unvalidate contact : " + contactId);
}
contactEdited = getContacts().get(contactId);
- if (user.getAdmin()) {
+ if (user.isAdmin()) {
// For program unvalidate from previous refused validation, addRealTideTime
if (BooleanUtils.isFalse(contactEdited.getValidationProgram())) {
contactEdited.getSampleRow().addRealTideTime(contactEdited);
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -204,7 +204,7 @@
log.info("BUSINESS REQUEST [getSampleRowsOrderedByFishingZone]");
}
Company company = null;
- if (!user.getAdmin()) {
+ if (!user.isAdmin()) {
company = user.getCompany();
}
FacadeRow facade = serviceSampling.getSampleRowsOrderedByFishingZone(getPeriod(), company);
@@ -318,7 +318,7 @@
public int getNbColumnsForProfession() {
// code, program.name, fishingZone.districts, profession.code, profession.libelle
int fixed = 5;
- if (user.getAdmin()) {
+ if (user.isAdmin()) {
// company, program.periodBegin, program.periodEnd, fishingZonesInfos
// profession.meshSize, profession.size, profession.other, profession.species
fixed += 8;
@@ -340,7 +340,7 @@
}
public String getMainClass() {
- return user.getAdmin() ? "admin" : "user";
+ return user.isAdmin() ? "admin" : "user";
}
public String getParityClass() {
@@ -348,7 +348,7 @@
}
public String getActionsClass() {
- return user.getAdmin() ? "width100" : "width30";
+ return user.isAdmin() ? "width100" : "width30";
}
public String getRealTidesClass() {
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java 2010-03-24 15:15:37 UTC (rev 385)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java 2010-03-25 08:57:20 UTC (rev 386)
@@ -168,7 +168,7 @@
public BoatFilter getFilter() throws WaoException {
if (dataSamplingFilter == null) {
dataSamplingFilter = new BoatFilterImpl();
- if (!user.getAdmin()) {
+ if (!user.isAdmin()) {
dataSamplingFilter.setCompany(user.getCompany());
}
}
@@ -243,7 +243,7 @@
// Set the companyIdForBoarding is only necessary for an admin which
// have access to a select with all active companies (from Filters :
// getCompanySelectModel())
- if (companyForBoarding != null && user.getAdmin()) {
+ if (companyForBoarding != null && user.isAdmin()) {
companyIdForBoarding = companyForBoarding.getTopiaId();
if (log.isDebugEnabled()) {
log.debug("companyId init : " + companyIdForBoarding);
@@ -281,7 +281,7 @@
public Company getCompanyForBoarding() {
// Initialize only for an observer user. For admin, the company can
// be null to search boardings for all companies.
- if (companyForBoarding == null && !user.getAdmin()) {
+ if (companyForBoarding == null && !user.isAdmin()) {
companyForBoarding = user.getCompany();
}
if (log.isDebugEnabled()) {
@@ -317,7 +317,7 @@
public Map<String, Double> getNonComplianceBoarding()
throws WaoException {
if (nonComplianceBoarding == null) {
- Company company = !user.getAdmin() ? user.getCompany() : null;
+ Company company = !user.isAdmin() ? user.getCompany() : null;
nonComplianceBoarding =
serviceSynthesis.getNonComplianceBoardingIndicator(company);
}
@@ -367,7 +367,7 @@
public Collection<ContactStateStatistics> getContactStateStatistics()
throws WaoException {
if (contactStateStatistics == null) {
- Company company = !user.getAdmin() ? user.getCompany() : null;
+ Company company = !user.isAdmin() ? user.getCompany() : null;
contactStateStatistics =
serviceSynthesis.getContactStateStatistics(company, getPeriodForContactStates());
}
@@ -418,7 +418,7 @@
public Collection<ContactAverageReactivity> getAllegroReactivity()
throws WaoException {
if (allegroReactivity == null) {
- Company company = !user.getAdmin() ? user.getCompany() : null;
+ Company company = !user.isAdmin() ? user.getCompany() : null;
allegroReactivity =
serviceSynthesis.getContactDataInputDateReactivity(company, getPeriodForAllegroReactivity());
}
@@ -439,7 +439,7 @@
}
public String getAllegroReactivityStyle() throws WaoException {
- double value = user.getAdmin() ?
+ double value = user.isAdmin() ?
allegroReactivityEntry.getResult() : getAllegroReactivityValue();
if (value >= 15.) {
return " warn";
1
0
24 Mar '10
Author: fdesbois
Date: 2010-03-24 15:15:37 +0000 (Wed, 24 Mar 2010)
New Revision: 385
Modified:
trunk/changelog.txt
trunk/pom.xml
Log:
Update libs
Modified: trunk/changelog.txt
===================================================================
--- trunk/changelog.txt 2010-03-24 14:38:54 UTC (rev 384)
+++ trunk/changelog.txt 2010-03-24 15:15:37 UTC (rev 385)
@@ -3,6 +3,28 @@
Historique des versions
+1.1
+---
+
+Evolutions
+++++++++++
+
+- [fdesbois] Evo #2225 : Tri des utilisateurs d'une société par ordre
+ alphabétique (prénom, nom)
+
+- [fdesbois] Mise à jour librairies :
+ * commons-lang 2.4 -> 2.5
+ * commons-beanutils 1.8.0 -> 1.8.2
+ * junit 4.7 -> 4.8.1
+ * topia 2.3.0-beta-8 -> 2.3
+ * eugene 2.0.0-beta-4 -> 2.0
+ * nuiton-utils 1.1.5 -> 1.2
+ * h2 1.2.128 -> 1.2.132
+ * postgresql 8.3-603.jdbc4 -> 8.4-701.jdbc4
+
+Anomalies
++++++++++
+
1.0.3 (patch)
-------------
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-03-24 14:38:54 UTC (rev 384)
+++ trunk/pom.xml 2010-03-24 15:15:37 UTC (rev 385)
@@ -28,7 +28,7 @@
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
- <version>2.4</version>
+ <version>2.5</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
@@ -38,7 +38,7 @@
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
- <version>1.8.0</version>
+ <version>1.8.2</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
@@ -132,22 +132,23 @@
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
- <version>1.2.128</version>
+ <version>1.2.132</version>
</dependency>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
- <version>8.3-603.jdbc4</version>
+ <version>8.4-701.jdbc4</version>
</dependency>
<dependency>
<groupId>org.jvnet.hudson.winstone</groupId>
<artifactId>winstone</artifactId>
<version>0.9.10-hudson-16</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.7</version>
+ <version>4.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
@@ -214,9 +215,9 @@
<labs.id>154</labs.id>
<!-- libraries version -->
- <nuitonutils.version>1.1.5</nuitonutils.version>
- <topia.version>2.3.0-beta-8</topia.version>
- <eugene.version>2.0.0-beta-4</eugene.version>
+ <nuitonutils.version>1.2</nuitonutils.version>
+ <topia.version>2.3</topia.version>
+ <eugene.version>2.0</eugene.version>
<tapestry.version>5.1.0.5</tapestry.version>
</properties>
1
0
[Suiviobsmer-commits] r384 - trunk/wao-business/src/main/xmi
by fdesbois@users.labs.libre-entreprise.org 24 Mar '10
by fdesbois@users.labs.libre-entreprise.org 24 Mar '10
24 Mar '10
Author: fdesbois
Date: 2010-03-24 14:38:54 +0000 (Wed, 24 Mar 2010)
New Revision: 384
Modified:
trunk/wao-business/src/main/xmi/wao.properties
trunk/wao-business/src/main/xmi/wao.zargo
Log:
Display user list from company ordered by firstName, lastName
Modified: trunk/wao-business/src/main/xmi/wao.properties
===================================================================
--- trunk/wao-business/src/main/xmi/wao.properties 2010-03-24 12:15:07 UTC (rev 383)
+++ trunk/wao-business/src/main/xmi/wao.properties 2010-03-24 14:38:54 UTC (rev 384)
@@ -1,6 +1,7 @@
model.tagvalue.copyright=/* *##%\n Copyright (C) 2009 Wao\n *##%*/
model.tagvalue.java.lang.String=text
fr.ifremer.wao.entity.Company.attribute.waoUser.tagvalue.lazy=false
+fr.ifremer.wao.entity.Company.attribute.waoUser.tagvalue.orderBy=firstName,lastName
fr.ifremer.wao.entity.SampleRow.attribute.sampleMonth.tagvalue.lazy=false
fr.ifremer.wao.entity.SampleRow.attribute.sampleMonth.tagvalue.orderBy=periodDate
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
1
0