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
March 2010
- 2 participants
- 35 discussions
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
[Suiviobsmer-commits] r383 - in trunk/src: . announcement
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 12:15:07 +0000 (Wed, 24 Mar 2010)
New Revision: 383
Added:
trunk/src/announcement/
trunk/src/announcement/release-email-1.0.3.txt
Log:
Add announce for 1.0.3
Added: trunk/src/announcement/release-email-1.0.3.txt
===================================================================
--- trunk/src/announcement/release-email-1.0.3.txt (rev 0)
+++ trunk/src/announcement/release-email-1.0.3.txt 2010-03-24 12:15:07 UTC (rev 383)
@@ -0,0 +1,26 @@
+
+La nouvelle version 1.0.3 de l'applicatif Wao est disponible !
+
+Nouveautés :
+
+- Ajout du script pour Google Analytics [fdesbois-Evo#2223]
+
+Résolutions d'anomalies :
+
+- Plan d'échantillonnage : Problème d'import sur un fichier précédemment
+ exporté. [fdesbois-Ano#2222]
+- Les métiers (libelle/ espèces) ne sont pas isolés d'une ligne du plan à
+ l'autre. [fdesbois-Ano#2221]
+
+Documentation :
+
+http://suiviobsmer.labs.libre-entreprise.org/wao/
+
+Téléchargement :
+
+https://labs.libre-entreprise.org/frs/?group_id=154
+
+Cordialement,
+
+L'équipe Wao
+
1
0
[Suiviobsmer-commits] r382 - in trunk: . wao-business wao-ui
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 11:18:25 +0000 (Wed, 24 Mar 2010)
New Revision: 382
Modified:
trunk/pom.xml
trunk/wao-business/pom.xml
trunk/wao-ui/pom.xml
Log:
[maven-release-plugin] prepare for next development iteration
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-03-24 11:18:21 UTC (rev 381)
+++ trunk/pom.xml 2010-03-24 11:18:25 UTC (rev 382)
@@ -15,7 +15,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>wao</artifactId>
- <version>1.0.3</version>
+ <version>1.0.4-SNAPSHOT</version>
<modules>
<module>wao-ui</module>
@@ -226,9 +226,9 @@
<!-- ************************************************************* -->
<scm>
- <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-1.0.3</connection>
- <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-1.0.3</developerConnection>
- <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/wao-1.0.3?root=suiviob…</url>
+ <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk</connection>
+ <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk</developerConnection>
+ <url>http://labs.libre-entreprise.org/scm/viewvc.php/trunk/?root=suiviobsmer</url>
</scm>
<build>
Modified: trunk/wao-business/pom.xml
===================================================================
--- trunk/wao-business/pom.xml 2010-03-24 11:18:21 UTC (rev 381)
+++ trunk/wao-business/pom.xml 2010-03-24 11:18:25 UTC (rev 382)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>wao</artifactId>
- <version>1.0.3</version>
+ <version>1.0.4-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.wao</groupId>
@@ -160,9 +160,9 @@
</build>
<scm>
- <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/wao-1.0.3/?root=suivio…</url>
- <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-1.0.3/wao-business</connection>
- <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-1.0.3/wao-business</developerConnection>
+ <url>http://labs.libre-entreprise.org/scm/viewvc.php/trunk/wao-business/?root=su…</url>
+ <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/wao-business</connection>
+ <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/wao-business</developerConnection>
</scm>
</project>
Modified: trunk/wao-ui/pom.xml
===================================================================
--- trunk/wao-ui/pom.xml 2010-03-24 11:18:21 UTC (rev 381)
+++ trunk/wao-ui/pom.xml 2010-03-24 11:18:25 UTC (rev 382)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>wao</artifactId>
- <version>1.0.3</version>
+ <version>1.0.4-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.wao</groupId>
@@ -141,9 +141,9 @@
</repositories>
<scm>
- <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/wao-1.0.3/?root=suivio…</url>
- <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-1.0.3/wao-ui</connection>
- <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-1.0.3/wao-ui</developerConnection>
+ <url>http://labs.libre-entreprise.org/scm/viewvc.php/trunk/wao-ui/?root=suiviobs…</url>
+ <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/wao-ui</connection>
+ <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/wao-ui</developerConnection>
</scm>
</project>
1
0
Author: fdesbois
Date: 2010-03-24 11:18:21 +0000 (Wed, 24 Mar 2010)
New Revision: 381
Added:
tags/wao-1.0.3/
Log:
[maven-release-plugin] copy for tag wao-1.0.3
1
0