Wao-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- 2352 discussions
[Suiviobsmer-commits] r293 - in trunk: . suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl suiviobsmer-business/src/main/xmi suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/data suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages suiviobsmer-ui/src/main/webapp
by fdesbois@users.labs.libre-entreprise.org 28 Jan '10
by fdesbois@users.labs.libre-entreprise.org 28 Jan '10
28 Jan '10
Author: fdesbois
Date: 2010-01-28 21:53:14 +0000 (Thu, 28 Jan 2010)
New Revision: 293
Modified:
trunk/changelog.txt
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ContactDAOImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSynthesisImpl.java
trunk/suiviobsmer-business/src/main/xmi/suiviobsmer.zargo
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/data/ChartUtils.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Synthesis.java
trunk/suiviobsmer-ui/src/main/webapp/Synthesis.tml
Log:
Evo #1967 : Static graph for boardings on boat (todo style)
Modified: trunk/changelog.txt
===================================================================
--- trunk/changelog.txt 2010-01-28 19:51:18 UTC (rev 292)
+++ trunk/changelog.txt 2010-01-28 21:53:14 UTC (rev 293)
@@ -4,6 +4,7 @@
0.3.1
-----
+- [fdesbois] Amélioration import pour prise en charge du code ligne du plan (sur 4 digits dans l'application)
- [fdesbois] Evo #2061 : Synthèse : ajouter le filtre "Programme ou règlement rattachement"
- [fdesbois] Ano #2056 : Le filtre sur la date de début pour les contacts ne reste pas
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ContactDAOImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ContactDAOImpl.java 2010-01-28 19:51:18 UTC (rev 292)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ContactDAOImpl.java 2010-01-28 21:53:14 UTC (rev 293)
@@ -77,12 +77,15 @@
@Override
public TopiaQuery<E> createQueryDoneContactsFromDate(Boat boat, Date fromDate) {
TopiaQuery<E> query = createQuery().
- add(Contact.BOAT, boat).
add(Contact.STATE, ContactState.BOARDING_DONE.toString()).
add(Contact.VALIDATION_COMPANY, Boolean.TRUE).
add(Contact.VALIDATION_PROGRAM + " IS NULL OR " + Contact.VALIDATION_PROGRAM + " = :booleanTrue").
addParam("booleanTrue", Boolean.TRUE);
+ if (boat != null) {
+ query.add(Contact.BOAT, boat);
+ }
+
if (fromDate != null) {
query.add(Contact.TIDE_BEGIN_DATE, Op.GE, fromDate);
}
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSynthesisImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSynthesisImpl.java 2010-01-28 19:51:18 UTC (rev 292)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSynthesisImpl.java 2010-01-28 21:53:14 UTC (rev 293)
@@ -25,6 +25,9 @@
import fr.ifremer.suiviobsmer.SuiviObsmerException;
import fr.ifremer.suiviobsmer.SuiviObsmerModelDAOHelper;
import fr.ifremer.suiviobsmer.bean.SamplingFilter;
+import fr.ifremer.suiviobsmer.entity.Company;
+import fr.ifremer.suiviobsmer.entity.Contact;
+import fr.ifremer.suiviobsmer.entity.ContactDAO;
import fr.ifremer.suiviobsmer.entity.SampleMonth;
import fr.ifremer.suiviobsmer.entity.SampleMonthDAO;
import fr.ifremer.suiviobsmer.entity.SampleRow;
@@ -38,6 +41,7 @@
import java.util.TreeMap;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.framework.TopiaQuery;
+import org.nuiton.topia.framework.TopiaQuery.Op;
import org.nuiton.util.PeriodDates;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -124,4 +128,49 @@
return results;
}
+ @Override
+ public SortedMap<Integer, Integer> getBoardingBoats(Company company, Date fromDate) throws SuiviObsmerException {
+ TopiaContext transaction = null;
+ SortedMap<Integer, Integer> results = new TreeMap<Integer, Integer>();
+ try {
+ transaction = rootContext.beginTransaction();
+
+ for (int i = 1; i <= 12; i++) {
+ results.put(i, 0);
+ }
+
+ ContactDAO dao = SuiviObsmerModelDAOHelper.getContactDAO(transaction);
+ TopiaQuery<Contact> query = dao.createQueryDoneContactsFromDate(null, fromDate);
+
+ // Only for sampleRows with averageTideTime less or equals to 2 days
+ query.add(Contact.SAMPLE_ROW + "." + SampleRow.AVERAGE_TIDE_TIME, Op.LE, 2.).
+ addGroup(Contact.BOAT).setSelect("COUNT(*)");
+
+ if (company != null) {
+ query.add(Contact.SAMPLE_ROW + "." + SampleRow.COMPANY, company);
+ }
+
+ if (log.isTraceEnabled()) {
+ log.trace("Exec query : " + query);
+ }
+
+ List<Long> nbBoardingsByBoat = (List<Long>)query.execute();
+
+ for (Long boardings : nbBoardingsByBoat) {
+ int value = boardings.intValue();
+ if (value >= 12) {
+ value = 12;
+ }
+ Integer nbBoats = results.get(value);
+ results.put(value, nbBoats + 1);
+ }
+
+ transaction.closeContext();
+ } catch (Exception eee) {
+ SuiviObsmerContext.serviceException(transaction,
+ "Impossible de récupérer les données pour le graphique dynamique des efforts de marées", eee);
+ }
+ return results;
+ }
+
}
Modified: trunk/suiviobsmer-business/src/main/xmi/suiviobsmer.zargo
===================================================================
(Binary files differ)
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/data/ChartUtils.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/data/ChartUtils.java 2010-01-28 19:51:18 UTC (rev 292)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/data/ChartUtils.java 2010-01-28 21:53:14 UTC (rev 293)
@@ -78,24 +78,35 @@
}
- public static JFreeChart createCategoryChart(String title, String axisName, ChartType type,
- Map<String, SortedMap<Date, Integer>> input) {
+ public static JFreeChart createCategoryChart(String title, String axisName, String categoryName, ChartType type,
+ Map<String, SortedMap<?, Integer>> input) {
DateFormat format = new SimpleDateFormat("MM/yyyy");
+ boolean dateType = false;
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
// Fill data in dataset
int i = 0;
- for (Map.Entry<String, SortedMap<Date, Integer>> map : input.entrySet()) {
- for (Map.Entry<Date, Integer> data : map.getValue().entrySet()) {
- dataset.setValue(data.getValue(), map.getKey(), format.format(data.getKey()));
+ for (Map.Entry<String, SortedMap<?, Integer>> map : input.entrySet()) {
+ for (Map.Entry<?, Integer> data : map.getValue().entrySet()) {
+ Object dataKey = data.getKey();
+ String columnKey = "";
+ if (Date.class.isAssignableFrom(dataKey.getClass())) {
+ columnKey = format.format((Date)dataKey);
+ dateType = true;
+ } else {
+ columnKey = dataKey.toString();
+ }
+ dataset.setValue(data.getValue(), map.getKey(), columnKey);
}
i++;
}
// Axises
- CategoryAxis categoryAxis = new CategoryAxis("Mois");
- categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_90);
+ CategoryAxis categoryAxis = new CategoryAxis(categoryName);
+ if (dateType) {
+ categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_90);
+ }
if (type.noCategoryMargin) {
categoryAxis.setCategoryMargin(0);
}
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Synthesis.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Synthesis.java 2010-01-28 19:51:18 UTC (rev 292)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Synthesis.java 2010-01-28 21:53:14 UTC (rev 293)
@@ -24,6 +24,7 @@
import fr.ifremer.suiviobsmer.SuiviObsmerException;
import fr.ifremer.suiviobsmer.bean.BoatFilter;
import fr.ifremer.suiviobsmer.bean.BoatFilterImpl;
+import fr.ifremer.suiviobsmer.entity.Company;
import fr.ifremer.suiviobsmer.entity.WaoUser;
import fr.ifremer.suiviobsmer.services.ServiceSynthesis;
import fr.ifremer.suiviobsmer.ui.base.AbstractFilteredPage;
@@ -31,6 +32,8 @@
import fr.ifremer.suiviobsmer.ui.data.BusinessUtils;
import fr.ifremer.suiviobsmer.ui.data.ChartUtils;
import fr.ifremer.suiviobsmer.ui.data.ChartUtils.ChartType;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -44,6 +47,7 @@
import org.apache.tapestry5.corelib.components.Zone;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.jfree.chart.JFreeChart;
+import org.nuiton.util.DateUtils;
import org.nuiton.util.PeriodDates;
import org.slf4j.Logger;
@@ -126,11 +130,11 @@
log.info("BUSINESS REQUEST [getDataSampling]");
}
List<SortedMap<Date, Integer>> res = serviceSynthesis.getDataSampling(getFilter());
- Map<String, SortedMap<Date, Integer>> data = new HashMap<String, SortedMap<Date, Integer>>();
+ Map<String, SortedMap<?, Integer>> data = new HashMap<String, SortedMap<?, Integer>>();
data.put("Planifié", res.get(0));
data.put("Réalisé", res.get(1));
String title = BusinessUtils.getDataSamplingTitle(getFilter());
- return ChartUtils.createCategoryChart(title, "Nb marées", getDataSamplingChartType(), data);
+ return ChartUtils.createCategoryChart(title, "Nb marées", "Mois", getDataSamplingChartType(), data);
}
public ChartType getDataSamplingChartType() {
@@ -169,5 +173,22 @@
}
return this;
}
-
+
+ /********************* STATIC GRAPH : BOARDINGBOAT ************************/
+
+ public JFreeChart getBoardingBoatsChart() throws SuiviObsmerException {
+ if (log.isInfoEnabled()) {
+ log.info("BUSINESS REQUEST [getBoardingBoats]");
+ }
+ //Company company = user.getAdmin() ? null : user.getCompany();
+ Date fromDate = DateUtils.createDateAfterToday(0, -12, 0);
+ SortedMap<Integer, Integer> res = serviceSynthesis.getBoardingBoats(getFilter().getCompany(), fromDate);
+ Map<String, SortedMap<?, Integer>> data = new HashMap<String, SortedMap<?, Integer>>();
+ data.put("Navires", res);
+
+ DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
+
+ String title = "Sollicitations des navires depuis le " + dateFormat.format(fromDate);
+ return ChartUtils.createCategoryChart(title, "Nb navires", "Nb embarquements", ChartType.BAR, data);
+ }
}
Modified: trunk/suiviobsmer-ui/src/main/webapp/Synthesis.tml
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/Synthesis.tml 2010-01-28 19:51:18 UTC (rev 292)
+++ trunk/suiviobsmer-ui/src/main/webapp/Synthesis.tml 2010-01-28 21:53:14 UTC (rev 293)
@@ -106,4 +106,7 @@
</p>
<t:chart t:width="600" t:height="400" t:chart="dataSamplingChart" />
</div>
+ <div class="acenter">
+ <t:chart t:width="600" t:height="400" t:chart="boardingBoatsChart" />
+ </div>
</t:layout>
1
0
28 Jan '10
Author: fdesbois
Date: 2010-01-28 19:51:18 +0000 (Thu, 28 Jan 2010)
New Revision: 292
Added:
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerRunnerTest.java
trunk/suiviobsmer-business/src/test/resources/import/misc.csv
Removed:
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/business/SuiviObsmerRunnerTest.java
Modified:
trunk/changelog.txt
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/ImportHelper.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/SamplingFilterImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSynthesisImpl.java
trunk/suiviobsmer-business/src/main/xmi/suiviobsmer.zargo
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/ImportHelperTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobalTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerUtilsTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatImplTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatInfosImplTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/SampleRowImplTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ActivityCalendarImportTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImplTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImplTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImplTest.java
trunk/suiviobsmer-business/src/test/resources/import/contacts.csv
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/AbstractFilteredPage.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Boats.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SampleRowForm.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Synthesis.java
trunk/suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/pages/Synthesis.properties
trunk/suiviobsmer-ui/src/main/webapp/Synthesis.tml
Log:
- Improve tests
- Evo #2061 : add program filter for synthesis
Modified: trunk/changelog.txt
===================================================================
--- trunk/changelog.txt 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/changelog.txt 2010-01-28 19:51:18 UTC (rev 292)
@@ -1,6 +1,12 @@
Release note
============
+0.3.1
+-----
+
+- [fdesbois] Evo #2061 : Synthèse : ajouter le filtre "Programme ou règlement rattachement"
+- [fdesbois] Ano #2056 : Le filtre sur la date de début pour les contacts ne reste pas
+
0.3.0
-----
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/ImportHelper.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/ImportHelper.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/ImportHelper.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -393,6 +393,17 @@
return result.getTime();
}
+ public static String readSampleRowCode(CsvReader reader) throws IOException {
+ String code = read(reader, SAMPLING.PLAN_CODE);
+ // Replace single number after year by a double one : 2010_111 -> 2010_0111
+ code = code.replaceFirst("_(\\d{3})$", "_0$1");
+ // Replace single number after year by a double one : 2010_11 -> 2010_0011
+ code = code.replaceFirst("_(\\d{2})$", "_00$1");
+ // Replace single number after year by a double one : 2010_1 -> 2010_0001
+ code = code.replaceFirst("_(\\d)$", "_000$1");
+ return code;
+ }
+
public static DateFormat getContactDateFormat() {
return new SimpleDateFormat(CONTACT_DATE_PATTERN, Locale.FRENCH);
}
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -59,9 +59,9 @@
// Seems to be necessary to have distinct on sampleRows in case of
// fishingZone join. Otherwise multiple contacts for sames sampleRow
// will be returned (Bad count).
- TopiaQuery<SampleRow> subquery = TopiaQuery.createQuery(SampleRow.class, "S").setSelect("S").addDistinct();
- subquery = prepareQueryForSampling(subquery, "S");
- query.add(contact + "." + Contact.SAMPLE_ROW + " IN (" + subquery.fullQuery() + ")").addParams(subquery.getParams());
+// TopiaQuery<SampleRow> subquery = TopiaQuery.createQuery(SampleRow.class, "S").setSelect("S").addDistinct();
+ query = prepareQueryForSampling(query, contact + "." + Contact.SAMPLE_ROW);
+// query.add(contact + "." + Contact.SAMPLE_ROW + " IN (" + subquery.fullQuery() + ")").addParams(subquery.getParams());
}
query = prepareQueryForBoat(query, contact + "." + Contact.BOAT);
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/SamplingFilterImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/SamplingFilterImpl.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/SamplingFilterImpl.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -51,11 +51,16 @@
if (getSampleRow() != null) {
query.add(main, getSampleRow());
} else if (StringUtils.isNotEmpty(getSectorName())) {
- query.addFrom(FishingZone.class.getName() + " F");
- query.add("F." + FishingZone.SECTOR_NAME, getSectorName()).add("F IN elements(" + main + "." + SampleRow.FISHING_ZONE + ")");
+
+ TopiaQuery<SampleRow> subquery = TopiaQuery.createQuery(SampleRow.class, "SR").addFrom(FishingZone.class.getName() + " F");
+ subquery.add("F." + FishingZone.SECTOR_NAME, getSectorName()).add("F IN elements(SR." + SampleRow.FISHING_ZONE + ")");
+
+ query.add(main + " IN (" + subquery.fullQuery() + ")").addParams(subquery.getParams());
} else if (StringUtils.isNotEmpty(getFacadeName())) {
- query.addFrom(FishingZone.class.getName() + " F");
- query.add("F." + FishingZone.FACADE_NAME, getFacadeName()).add("F IN elements(" + main + "." + SampleRow.FISHING_ZONE + ")");
+ TopiaQuery<SampleRow> subquery = TopiaQuery.createQuery(SampleRow.class, "SR").addFrom(FishingZone.class.getName() + " F");
+ subquery.add("F." + FishingZone.FACADE_NAME, getFacadeName()).add("F IN elements(SR." + SampleRow.FISHING_ZONE + ")");
+
+ query.add(main + " IN (" + subquery.fullQuery() + ")").addParams(subquery.getParams());
}
// Profession filter
@@ -63,6 +68,11 @@
query.add(main + "." + SampleRow.PROFESSION, getProfession());
}
+ // Program filter
+ if (getProgramName() != null) {
+ query.add(main + "." + SampleRow.PROGRAM_NAME, getProgramName());
+ }
+
// Period filter on sampleRow dates
if (getPeriod() != null) {
getPeriod().initDayOfMonthExtremities();
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -139,10 +139,7 @@
// Add join for ElligibleBoat
String elligibleBoatClassName = ElligibleBoat.class.getName();
query.addFrom(elligibleBoatClassName + " E").add("E." + ElligibleBoat.BOAT + " = " + main);
- //query = filter.prepareQueryForSampling(query, "E." + ElligibleBoat.SAMPLE_ROW);
- TopiaQuery<SampleRow> subquery = TopiaQuery.createQuery(SampleRow.class, "S").setSelect("S").addDistinct();
- subquery = filter.prepareQueryForSampling(subquery, "S");
- query.add("E." + ElligibleBoat.SAMPLE_ROW + " IN (" + subquery.fullQuery() + ")").addParams(subquery.getParams());
+ query = filter.prepareQueryForSampling(query, "E." + ElligibleBoat.SAMPLE_ROW);
// Company
if (filter.getCompany() != null) {
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -361,7 +361,7 @@
}
if (company != null) {
- String rowCode = ImportHelper.read(reader, SAMPLING.PLAN_CODE);
+ String rowCode = ImportHelper.readSampleRowCode(reader);
SampleRow row = rowDAO.findByProperties(SampleRow.CODE, rowCode, SampleRow.COMPANY, company);
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImpl.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImpl.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -26,6 +26,7 @@
import fr.ifremer.suiviobsmer.SuiviObsmerException;
import fr.ifremer.suiviobsmer.SuiviObsmerModelDAOHelper;
import fr.ifremer.suiviobsmer.SuiviObsmerContext;
+import fr.ifremer.suiviobsmer.bean.SamplingFilter;
import fr.ifremer.suiviobsmer.entity.Company;
import fr.ifremer.suiviobsmer.entity.FishingZone;
import fr.ifremer.suiviobsmer.entity.FishingZoneDAO;
@@ -66,7 +67,7 @@
}
@Override
- public List<String> getFacades(Company company) throws SuiviObsmerException {
+ public List<String> getFacades(SamplingFilter filter) throws SuiviObsmerException {
TopiaContext transaction = null;
List<String> results = new ArrayList<String>();
try {
@@ -75,11 +76,7 @@
FishingZoneDAO dao = SuiviObsmerModelDAOHelper.getFishingZoneDAO(transaction);
TopiaQuery<FishingZone> query = dao.createQuery("F");
- if (company != null) {
- query.addFrom(SampleRow.class.getName() + " S").
- add("S IN elements(F." + FishingZone.SAMPLE_ROW + ")").
- add("S." + SampleRow.COMPANY, company);
- }
+ query = prepareQueryForFishingZoneFilter(query, filter);
results = (List<String>)query.setSelect("DISTINCT F." + FishingZone.FACADE_NAME).execute();
@@ -91,7 +88,7 @@
}
@Override
- public List<String> getSectors(Company company, String facadeName) throws SuiviObsmerException {
+ public List<String> getSectors(SamplingFilter filter) throws SuiviObsmerException {
TopiaContext transaction = null;
List<String> results = new ArrayList<String>();
try {
@@ -100,14 +97,10 @@
FishingZoneDAO dao = SuiviObsmerModelDAOHelper.getFishingZoneDAO(transaction);
TopiaQuery<FishingZone> query = dao.createQuery("F");
- if (company != null) {
- query.addFrom(SampleRow.class.getName() + " S").
- add("S IN elements(F." + FishingZone.SAMPLE_ROW + ")").
- add("S." + SampleRow.COMPANY, company);
- }
+ query = prepareQueryForFishingZoneFilter(query, filter);
- if (StringUtils.isNotEmpty(facadeName)) {
- query.add("F." + FishingZone.FACADE_NAME, facadeName);
+ if (StringUtils.isNotEmpty(filter.getFacadeName())) {
+ query.add("F." + FishingZone.FACADE_NAME, filter.getFacadeName());
}
results = (List<String>)query.setSelect("DISTINCT F." + FishingZone.SECTOR_NAME).execute();
@@ -119,6 +112,23 @@
return results;
}
+ protected TopiaQuery<FishingZone> prepareQueryForFishingZoneFilter(TopiaQuery<FishingZone> query, SamplingFilter filter) {
+ if (filter.getCompany() != null || StringUtils.isNotEmpty(filter.getProgramName())) {
+ query.addFrom(SampleRow.class.getName() + " S").
+ add("S IN elements(F." + FishingZone.SAMPLE_ROW + ")");
+ }
+
+ if (filter.getCompany() != null) {
+ query.add("S." + SampleRow.COMPANY, filter.getCompany());
+ }
+
+ if (filter.getProgramName() != null) {
+ query.add("S." + SampleRow.PROGRAM_NAME, filter.getProgramName());
+ }
+
+ return query;
+ }
+
@Override
public List<Profession> getProfessions() throws SuiviObsmerException {
TopiaContext transaction = null;
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -315,15 +315,21 @@
}
@Override
- public List<String> getPrograms() throws SuiviObsmerException {
+ public List<String> getPrograms(Company company) throws SuiviObsmerException {
TopiaContext transaction = null;
List<String> results = new ArrayList<String>();
try {
transaction = rootContext.beginTransaction();
SampleRowDAO dao = SuiviObsmerModelDAOHelper.getSampleRowDAO(transaction);
- results = (List<String>)dao.createQuery().setSelect("DISTINCT " + SampleRow.PROGRAM_NAME).execute();
+ TopiaQuery<SampleRow> query = dao.createQuery();
+ if (company != null) {
+ query.add(SampleRow.COMPANY, company);
+ }
+
+ results = (List<String>)query.setSelect("DISTINCT " + SampleRow.PROGRAM_NAME).execute();
+
transaction.closeContext();
} catch (Exception eee) {
SuiviObsmerContext.serviceException(transaction,
@@ -438,7 +444,7 @@
String[] part = maxCode.split("_");
num = Integer.parseInt(part[1]) + 1;
}
- String str = StringUtils.leftPad("" + num, 2, "0");
+ String str = StringUtils.leftPad("" + num, 4, "0");
result = year + "_" + str;
transaction.closeContext();
@@ -509,15 +515,12 @@
log.trace(" " + Arrays.asList(reader.getValues()));
}
- String code = reader.get(SAMPLING.PLAN_CODE.name()).trim();
+ String code = ImportHelper.readSampleRowCode(reader); //reader.get(SAMPLING.PLAN_CODE.name()).trim();
if (StringUtils.isEmpty(code)) {
continue;
}
- // Replace single number after year by a double one : 2010_1 -> 2010_01
- code = code.replaceFirst("_(\\d)$", "_0$1");
-
String districts = reader.get(FISHING_ZONE.PECHE_DIVISION.name());
row = dao.findByCode(code);
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSynthesisImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSynthesisImpl.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSynthesisImpl.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -96,9 +96,7 @@
addParam("fromDate", period.getFromDate()).addParam("thruDate", period.getThruDate()).
addGroup(periodDate).addOrder(periodDate);
- TopiaQuery<SampleRow> subquery = TopiaQuery.createQuery(SampleRow.class, "S").setSelect("S").addDistinct();
- subquery = filter.prepareQueryForSampling(subquery, "S");
- query.add("M." + SampleMonth.SAMPLE_ROW + " IN (" + subquery.fullQuery() + ")").addParams(subquery.getParams());
+ query = filter.prepareQueryForSampling(query, "M." + SampleMonth.SAMPLE_ROW);
if (log.isTraceEnabled()) {
log.trace("Exec query : " + query);
Modified: trunk/suiviobsmer-business/src/main/xmi/suiviobsmer.zargo
===================================================================
(Binary files differ)
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/ImportHelperTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/ImportHelperTest.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/ImportHelperTest.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -21,7 +21,11 @@
package fr.ifremer.suiviobsmer;
-import fr.ifremer.suiviobsmer.business.SuiviObsmerRunnerTest;
+import com.csvreader.CsvReader;
+import fr.ifremer.suiviobsmer.ImportHelper.SAMPLING;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.Charset;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
@@ -45,6 +49,8 @@
private static final Logger log = LoggerFactory.getLogger(ImportHelperTest.class);
+ private CsvReader reader;
+
public ImportHelperTest() {
runner = new SuiviObsmerRunnerTest();
}
@@ -60,12 +66,18 @@
}
@Before
- public void setUp() throws SuiviObsmerException {
+ public void setUp() throws SuiviObsmerException, IOException {
runner.start();
+
+ InputStream input = getClass().getResourceAsStream("/import/misc.csv");
+ reader = new CsvReader(input, Charset.forName("UTF-8"));
+ reader.readHeaders();
}
@After
public void tearDown() throws SuiviObsmerException {
+ reader.close();
+
runner.stop();
}
@@ -146,4 +158,88 @@
System.out.println("logTimeAndMemory");
}
+ /**
+ * Test of parseContactValidation method, of class ImportHelper.
+ */
+ //@Test
+ public void testParseContactValidation() throws Exception {
+ System.out.println("parseContactValidation");
+ }
+
+ /**
+ * Test of readSampleRowCode method, of class ImportHelper.
+ */
+ @Test
+ public void testReadSampleRowCode() throws Exception {
+ System.out.println("readSampleRowCode");
+
+ reader.readRecord();
+ String code = ImportHelper.readSampleRowCode(reader);
+ assertEquals(code, "2009_0001");
+
+ reader.readRecord();
+ code = ImportHelper.readSampleRowCode(reader);
+ assertEquals(code, "2009_0011");
+
+ reader.readRecord();
+ code = ImportHelper.readSampleRowCode(reader);
+ assertEquals(code, "2009_0111");
+
+ reader.readRecord();
+ code = ImportHelper.readSampleRowCode(reader);
+ assertEquals(code, "2009_1111");
+ }
+
+ /**
+ * Test of getContactDateFormat method, of class ImportHelper.
+ */
+ //@Test
+ public void testGetContactDateFormat() {
+ System.out.println("getContactDateFormat");
+ }
+
+ /**
+ * Test of read method, of class ImportHelper.
+ */
+ @Test
+ public void testRead() throws Exception {
+ log.info("read");
+
+ reader.readRecord();
+ String code = ImportHelper.read(reader, SAMPLING.PLAN_CODE);
+ assertEquals(code, "2009_1");
+ }
+
+ /**
+ * Test of readInt method, of class ImportHelper.
+ */
+ //@Test
+ public void testReadInt() throws Exception {
+ System.out.println("readInt");
+ }
+
+ /**
+ * Test of readInteger method, of class ImportHelper.
+ */
+ //@Test
+ public void testReadInteger() throws Exception {
+ System.out.println("readInteger");
+ }
+
+ /**
+ * Test of readPeriod method, of class ImportHelper.
+ */
+ //@Test
+ public void testReadPeriod() throws Exception {
+ System.out.println("readPeriod");
+ }
+
+ /**
+ * Test of readDate method, of class ImportHelper.
+ */
+ //@Test
+ public void testReadDate() throws Exception {
+ System.out.println("readDate");
+ }
+
}
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobalTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobalTest.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobalTest.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -21,7 +21,6 @@
package fr.ifremer.suiviobsmer;
-import fr.ifremer.suiviobsmer.business.SuiviObsmerRunnerTest;
import fr.ifremer.suiviobsmer.entity.Company;
import fr.ifremer.suiviobsmer.entity.WaoUser;
import fr.ifremer.suiviobsmer.impl.ServiceUserImpl;
Copied: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerRunnerTest.java (from rev 285, trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/business/SuiviObsmerRunnerTest.java)
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerRunnerTest.java (rev 0)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerRunnerTest.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -0,0 +1,159 @@
+/*
+ * *##%
+ * SuiviObsmer :: 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.suiviobsmer;
+
+import fr.ifremer.suiviobsmer.entity.Company;
+import fr.ifremer.suiviobsmer.entity.CompanyImpl;
+import fr.ifremer.suiviobsmer.entity.WaoUser;
+import fr.ifremer.suiviobsmer.entity.WaoUserImpl;
+import fr.ifremer.suiviobsmer.impl.ServiceBoatImpl;
+import fr.ifremer.suiviobsmer.impl.ServiceContactImpl;
+import fr.ifremer.suiviobsmer.impl.ServiceReferentialImpl;
+import fr.ifremer.suiviobsmer.impl.ServiceSamplingImpl;
+import fr.ifremer.suiviobsmer.impl.ServiceUserImpl;
+import fr.ifremer.suiviobsmer.services.ServiceBoat;
+import fr.ifremer.suiviobsmer.services.ServiceContact;
+import fr.ifremer.suiviobsmer.services.ServiceReferential;
+import fr.ifremer.suiviobsmer.services.ServiceSampling;
+import fr.ifremer.suiviobsmer.services.ServiceUser;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.Properties;
+import org.junit.Ignore;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.util.ApplicationConfig;
+import org.nuiton.util.Resource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * ContextUtilObsmerTest
+ *
+ * Created: 23 nov. 2009
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+ at Ignore
+public class SuiviObsmerRunnerTest implements SuiviObsmerRunner {
+
+ private static final Logger log = LoggerFactory.getLogger(SuiviObsmerRunnerTest.class);
+
+ private ApplicationConfig _configuration;
+
+ @Override
+ public void start() throws SuiviObsmerException {
+ if (log.isDebugEnabled()) {
+ log.debug("TEST START : loadConfiguration");
+ }
+ try {
+ Properties options = loadFileProperties("TopiaContextSuiviObsmer.properties");
+ options.setProperty("topia.persistence.classes",
+ SuiviObsmerModelDAOHelper.getImplementationClassesAsString());
+
+ _configuration = new ApplicationConfig();
+ _configuration.setOptions(options);
+
+ SuiviObsmerContext.setRunner(this);
+ } catch (Exception eee) {
+ SuiviObsmerContext.serviceException(null, "Error during loadConfiguration from " +
+ "'TopiaContextSuiviObsmer.properties' file", eee);
+ }
+ }
+
+ @Override
+ public void stop() throws SuiviObsmerException {
+ if (log.isDebugEnabled()) {
+ log.debug("TEST STOP : clearContext");
+ }
+ try {
+ SuiviObsmerContext.getTopiaRootContext().clear(true);
+ } catch (TopiaException eee) {
+ SuiviObsmerContext.serviceException(null, "Error during clear database", eee);
+ }
+ }
+
+ private static Properties loadFileProperties(String filename)
+ throws URISyntaxException, IOException {
+ Properties props = new Properties();
+ URL url = Resource.getURL(filename);
+ if (log.isDebugEnabled()) {
+ log.debug(url.toString());
+ }
+ props.load(url.openStream());
+ return props;
+ }
+
+ @Override
+ public Date currentDate() {
+ Calendar calendar = new GregorianCalendar(2009, 9, 23); // 23/10/2009
+ return calendar.getTime();
+ }
+
+ @Override
+ public ApplicationConfig configuration() {
+ return _configuration;
+ }
+
+ public void prepareData() throws SuiviObsmerException {
+ ServiceBoat serviceBoat = new ServiceBoatImpl();
+ ServiceReferential serviceReferential = new ServiceReferentialImpl();
+ ServiceUser serviceUser = new ServiceUserImpl();
+ ServiceSampling serviceSampling = new ServiceSamplingImpl();
+ ServiceContact serviceContact = new ServiceContactImpl();
+
+ Company company = new CompanyImpl();
+ company.setName("TARTANPION");
+ company.setActive(true);
+ serviceUser.createUpdateCompany(company);
+
+ WaoUser observer = new WaoUserImpl();
+ observer.setCompany(company);
+ observer.setFirstName("Jean");
+ observer.setLastName("Michmuche");
+ observer.setLogin("jmichmuche");
+ observer.setActive(true);
+ serviceUser.createUpdateUser(observer, true);
+
+ InputStream input = getClass().getResourceAsStream("/import/navires.csv");
+ serviceBoat.importBoatCsv(input);
+
+ input = getClass().getResourceAsStream("/import/zonesPeche.csv");
+ serviceReferential.importFishingZoneCsv(input);
+
+ input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+ serviceSampling.importSamplingPlanCsv(input);
+
+ input = getClass().getResourceAsStream("/import/contacts.csv");
+ // user import : no activation
+ serviceContact.importContactCsv(observer, input);
+ }
+
+}
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerUtilsTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerUtilsTest.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerUtilsTest.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -21,7 +21,6 @@
package fr.ifremer.suiviobsmer;
-import fr.ifremer.suiviobsmer.business.SuiviObsmerRunnerTest;
import fr.ifremer.suiviobsmer.entity.Company;
import fr.ifremer.suiviobsmer.entity.CompanyImpl;
import org.junit.After;
Deleted: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/business/SuiviObsmerRunnerTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/business/SuiviObsmerRunnerTest.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/business/SuiviObsmerRunnerTest.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -1,114 +0,0 @@
-/*
- * *##%
- * SuiviObsmer :: 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.suiviobsmer.business;
-
-import fr.ifremer.suiviobsmer.SuiviObsmerException;
-import fr.ifremer.suiviobsmer.SuiviObsmerModelDAOHelper;
-import fr.ifremer.suiviobsmer.SuiviObsmerRunner;
-import fr.ifremer.suiviobsmer.SuiviObsmerContext;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.Properties;
-import org.junit.Ignore;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.util.ApplicationConfig;
-import org.nuiton.util.Resource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * ContextUtilObsmerTest
- *
- * Created: 23 nov. 2009
- *
- * @author fdesbois
- * @version $Revision$
- *
- * Mise a jour: $Date$
- * par : $Author$
- */
- at Ignore
-public class SuiviObsmerRunnerTest implements SuiviObsmerRunner {
-
- private static final Logger log = LoggerFactory.getLogger(SuiviObsmerRunnerTest.class);
-
- private ApplicationConfig _configuration;
-
- @Override
- public void start() throws SuiviObsmerException {
- if (log.isDebugEnabled()) {
- log.debug("TEST START : loadConfiguration");
- }
- try {
- Properties options = loadFileProperties("TopiaContextSuiviObsmer.properties");
- options.setProperty("topia.persistence.classes",
- SuiviObsmerModelDAOHelper.getImplementationClassesAsString());
-
- _configuration = new ApplicationConfig();
- _configuration.setOptions(options);
-
- SuiviObsmerContext.setRunner(this);
- } catch (Exception eee) {
- SuiviObsmerContext.serviceException(null, "Error during loadConfiguration from " +
- "'TopiaContextSuiviObsmer.properties' file", eee);
- }
- }
-
- @Override
- public void stop() throws SuiviObsmerException {
- if (log.isDebugEnabled()) {
- log.debug("TEST STOP : clearContext");
- }
- try {
- SuiviObsmerContext.getTopiaRootContext().clear(true);
- } catch (TopiaException eee) {
- SuiviObsmerContext.serviceException(null, "Error during clear database", eee);
- }
- }
-
- private static Properties loadFileProperties(String filename)
- throws URISyntaxException, IOException {
- Properties props = new Properties();
- URL url = Resource.getURL(filename);
- if (log.isDebugEnabled()) {
- log.debug(url.toString());
- }
- props.load(url.openStream());
- return props;
- }
-
- @Override
- public Date currentDate() {
- Calendar calendar = new GregorianCalendar(2009, 9, 23); // 23/10/2009
- return calendar.getTime();
- }
-
- @Override
- public ApplicationConfig configuration() {
- return _configuration;
- }
-
-}
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatImplTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatImplTest.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatImplTest.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -25,7 +25,7 @@
import fr.ifremer.suiviobsmer.SuiviObsmerModelDAOHelper;
import fr.ifremer.suiviobsmer.SuiviObsmerRunner;
import fr.ifremer.suiviobsmer.bean.ContactState;
-import fr.ifremer.suiviobsmer.business.SuiviObsmerRunnerTest;
+import fr.ifremer.suiviobsmer.SuiviObsmerRunnerTest;
import fr.ifremer.suiviobsmer.impl.ServiceBoatImpl;
import fr.ifremer.suiviobsmer.impl.ServiceContactImpl;
import fr.ifremer.suiviobsmer.impl.ServiceSamplingImpl;
@@ -123,7 +123,7 @@
serviceSampling.importSamplingPlanCsv(input);
SampleRowDAO rowDAO = SuiviObsmerModelDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_01");
+ SampleRow row = rowDAO.findByCode("2010_0001");
row.getCompany();
row.getProfession();
transaction.closeContext();
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatInfosImplTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatInfosImplTest.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatInfosImplTest.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -25,7 +25,7 @@
import fr.ifremer.suiviobsmer.SuiviObsmerModelDAOHelper;
import fr.ifremer.suiviobsmer.SuiviObsmerRunner;
import fr.ifremer.suiviobsmer.bean.ContactState;
-import fr.ifremer.suiviobsmer.business.SuiviObsmerRunnerTest;
+import fr.ifremer.suiviobsmer.SuiviObsmerRunnerTest;
import fr.ifremer.suiviobsmer.impl.ServiceBoatImpl;
import fr.ifremer.suiviobsmer.impl.ServiceContactImpl;
import fr.ifremer.suiviobsmer.services.ServiceBoat;
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/SampleRowImplTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/SampleRowImplTest.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/SampleRowImplTest.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -25,7 +25,7 @@
import fr.ifremer.suiviobsmer.SuiviObsmerModelDAOHelper;
import fr.ifremer.suiviobsmer.SuiviObsmerRunner;
import fr.ifremer.suiviobsmer.SuiviObsmerContext;
-import fr.ifremer.suiviobsmer.business.SuiviObsmerRunnerTest;
+import fr.ifremer.suiviobsmer.SuiviObsmerRunnerTest;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ActivityCalendarImportTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ActivityCalendarImportTest.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ActivityCalendarImportTest.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -24,7 +24,7 @@
import fr.ifremer.suiviobsmer.SuiviObsmerContext;
import fr.ifremer.suiviobsmer.SuiviObsmerException;
import fr.ifremer.suiviobsmer.SuiviObsmerRunner;
-import fr.ifremer.suiviobsmer.business.SuiviObsmerRunnerTest;
+import fr.ifremer.suiviobsmer.SuiviObsmerRunnerTest;
import fr.ifremer.suiviobsmer.services.ServiceBoat;
import java.io.BufferedReader;
import java.io.File;
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImplTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImplTest.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImplTest.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -26,7 +26,7 @@
import fr.ifremer.suiviobsmer.SuiviObsmerRunner;
import fr.ifremer.suiviobsmer.SuiviObsmerContext;
import fr.ifremer.suiviobsmer.bean.BoatFilterImpl;
-import fr.ifremer.suiviobsmer.business.SuiviObsmerRunnerTest;
+import fr.ifremer.suiviobsmer.SuiviObsmerRunnerTest;
import fr.ifremer.suiviobsmer.bean.BoatFilter;
import fr.ifremer.suiviobsmer.bean.CompanyBoatInfos;
import fr.ifremer.suiviobsmer.bean.ContactState;
@@ -223,9 +223,9 @@
// Get two SampleRows : 2009_3 & 2010_4
SampleRowDAO rowDAO = SuiviObsmerModelDAOHelper.getSampleRowDAO(transaction);
- SampleRow row1 = rowDAO.findByCode("2009_03");
+ SampleRow row1 = rowDAO.findByCode("2009_0003");
row1.getProfession();
- SampleRow row2 = rowDAO.findByCode("2010_04");
+ SampleRow row2 = rowDAO.findByCode("2010_0004");
row2.getProfession();
transaction.commitTransaction();
@@ -269,7 +269,7 @@
TopiaContext transaction = SuiviObsmerContext.getTopiaRootContext().beginTransaction();
SampleRowDAO rowDAO = SuiviObsmerModelDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_01");
+ SampleRow row = rowDAO.findByCode("2010_0001");
row.getCompany();
row.getProfession();
transaction.closeContext();
@@ -292,7 +292,7 @@
// 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_03");
+ companyBoatInfos.removeElligibleBoat("2009_0003");
service.createUpdateCompanyBoatInfos(companyBoatInfos);
@@ -301,18 +301,18 @@
Map<String, ElligibleBoat> results = companyBoatInfos.getElligibleBoats();
assertEquals(2, results.size());
- ElligibleBoat elligible = companyBoatInfos.getElligibleBoat("2009_03");
+ ElligibleBoat elligible = companyBoatInfos.getElligibleBoat("2009_0003");
assertNotNull(elligible.getCompanyActive());
assertFalse(elligible.getCompanyActive());
- elligible = companyBoatInfos.getElligibleBoat("2010_04");
+ elligible = companyBoatInfos.getElligibleBoat("2010_0004");
assertTrue(elligible.getCompanyActive());
/** TEST2 **/
// Suppression ligne lié elligible pour la société
- companyBoatInfos.removeElligibleBoat("2010_04");
+ companyBoatInfos.removeElligibleBoat("2010_0004");
// Reactivation ligne mise en inactive juste avant
- companyBoatInfos.activeElligibleBoat("2009_03");
+ companyBoatInfos.activeElligibleBoat("2009_0003");
service.createUpdateCompanyBoatInfos(companyBoatInfos);
@@ -321,7 +321,7 @@
results = companyBoatInfos.getElligibleBoats();
assertEquals(1, results.size());
- elligible = companyBoatInfos.getElligibleBoat("2009_03");
+ elligible = companyBoatInfos.getElligibleBoat("2009_0003");
assertNull(elligible.getCompanyActive());
assertTrue(elligible.getGlobalActive());
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImplTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImplTest.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImplTest.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -23,7 +23,9 @@
import fr.ifremer.suiviobsmer.SuiviObsmerException;
import fr.ifremer.suiviobsmer.SuiviObsmerRunner;
-import fr.ifremer.suiviobsmer.business.SuiviObsmerRunnerTest;
+import fr.ifremer.suiviobsmer.SuiviObsmerRunnerTest;
+import fr.ifremer.suiviobsmer.bean.SamplingFilter;
+import fr.ifremer.suiviobsmer.bean.SamplingFilterImpl;
import fr.ifremer.suiviobsmer.entity.FishingZone;
import java.io.InputStream;
import java.util.List;
@@ -81,7 +83,7 @@
InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
service.importFishingZoneCsv(input);
- List<String> facades = service.getFacades(null);
+ List<String> facades = service.getFacades(new SamplingFilterImpl());
assertEquals(3, facades.size());
assertTrue(facades.contains("Atlantique"));
assertTrue(facades.contains("Mer du Nord"));
@@ -95,7 +97,9 @@
InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
service.importFishingZoneCsv(input);
- List<String> sectors = service.getSectors(null, null);
+ SamplingFilter filter = new SamplingFilterImpl();
+
+ List<String> sectors = service.getSectors(filter);
assertEquals(5, sectors.size());
assertTrue(sectors.contains("Manche"));
assertTrue(sectors.contains("Mer du Nord"));
@@ -103,7 +107,9 @@
assertTrue(sectors.contains("Golfe de Gascogne"));
assertTrue(sectors.contains("Méditerranée"));
- sectors = service.getSectors(null, "Atlantique");
+ filter.setFacadeName("Atlantique");
+
+ sectors = service.getSectors(filter);
assertEquals(2, sectors.size());
assertTrue(sectors.contains("Manche Ouest"));
assertTrue(sectors.contains("Golfe de Gascogne"));
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImplTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImplTest.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImplTest.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -28,7 +28,7 @@
import fr.ifremer.suiviobsmer.bean.ImportResults;
import fr.ifremer.suiviobsmer.bean.SamplingFilter;
import fr.ifremer.suiviobsmer.bean.SamplingFilterImpl;
-import fr.ifremer.suiviobsmer.business.SuiviObsmerRunnerTest;
+import fr.ifremer.suiviobsmer.SuiviObsmerRunnerTest;
import fr.ifremer.suiviobsmer.entity.Boat;
import fr.ifremer.suiviobsmer.entity.Company;
import fr.ifremer.suiviobsmer.entity.CompanyDAO;
@@ -181,7 +181,7 @@
/**
* Test of getSampleRowsOrderedByFishingZone method, of class ServiceSamplingImpl.
*/
-// @Test
+ @Test
public void testGetSampleRowsOrderedByFishingZone() throws Exception {
log.info("getSampleRowsOrderedByFishingZone");
@@ -205,19 +205,19 @@
SampleRowDAO dao = SuiviObsmerModelDAOHelper.getSampleRowDAO(transaction);
SampleRow row1 = dao.create();
- row1.setCode("2010_01");
+ row1.setCode("2010_0001");
row1.addFishingZone(zones.get(2));
row1.setProgramName("DPMA-2009");
row1.setPeriod(period1);
SampleRow row2 = dao.create();
- row2.setCode("2010_02");
+ row2.setCode("2010_0002");
row2.addFishingZone(zones.get(0));
row2.setProgramName("DPMA-2009");
row2.setPeriod(period1);
SampleRow row3 = dao.create();
- row3.setCode("2010_03");
+ row3.setCode("2010_0003");
row3.addFishingZone(zones.get(1));
row3.addFishingZone(zones.get(2));
row3.addFishingZone(zones.get(0));
@@ -225,7 +225,7 @@
row3.setPeriod(period2);
SampleRow row4 = dao.create();
- row4.setCode("2010_04");
+ row4.setCode("2010_0004");
row4.addFishingZone(zones.get(0));
row4.setProgramName("DPMA-2009");
row4.setPeriod(period1);
@@ -244,9 +244,9 @@
List<SampleRow> rows = service.getSampleRowsOrderedByFishingZone(period, null);
assertEquals(4, rows.size());
SampleRow resultRow0 = rows.get(0);
- assertEquals("2010_02", resultRow0.getCode());
+ assertEquals("2010_0002", resultRow0.getCode());
SampleRow resultRow1 = rows.get(1);
- assertEquals("2010_03", resultRow1.getCode());
+ assertEquals("2010_0003", resultRow1.getCode());
List<FishingZone> zoneRow1 = resultRow1.getFishingZone();
assertEquals(3, zoneRow1.size());
@@ -258,9 +258,9 @@
assertEquals("V", resultZone2.getDistrictCode());
SampleRow resultRow2 = rows.get(2);
- assertEquals("2010_04", resultRow2.getCode());
+ assertEquals("2010_0004", resultRow2.getCode());
SampleRow resultRow3 = rows.get(3);
- assertEquals("2010_01", resultRow3.getCode());
+ assertEquals("2010_0001", resultRow3.getCode());
// SECOND TEST :
// ORDER by FishingZone (facadeName, sectorName, districtCode)
@@ -272,11 +272,11 @@
rows = service.getSampleRowsOrderedByFishingZone(period, null);
assertEquals(3, rows.size());
resultRow0 = rows.get(0);
- assertEquals("2010_02", resultRow0.getCode());
+ assertEquals("2010_0002", resultRow0.getCode());
resultRow1 = rows.get(1);
- assertEquals("2010_04", resultRow1.getCode());
+ assertEquals("2010_0004", resultRow1.getCode());
resultRow2 = rows.get(2);
- assertEquals("2010_01", resultRow2.getCode());
+ assertEquals("2010_0001", resultRow2.getCode());
}
@@ -397,7 +397,7 @@
}
-// @Test
+ @Test
public void testDeleteSampleRow() throws Exception {
log.info("deleteSampleRow");
@@ -418,7 +418,7 @@
service.importSamplingPlanCsv(input);
SampleRowDAO rowDAO = SuiviObsmerModelDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_01");
+ SampleRow row = rowDAO.findByCode("2010_0001");
row.getProfession();
row.getCompany();
transaction.closeContext();
@@ -434,7 +434,7 @@
service.deleteSampleRow(row);
transaction = SuiviObsmerContext.getTopiaRootContext().beginTransaction();
rowDAO = SuiviObsmerModelDAOHelper.getSampleRowDAO(transaction);
- row = rowDAO.findByCode("2010_01");
+ row = rowDAO.findByCode("2010_0001");
assertNull(row);
ElligibleBoatDAO elligibleDAO = SuiviObsmerModelDAOHelper.getElligibleBoatDAO(transaction);
@@ -443,7 +443,7 @@
transaction.closeContext();
}
-// @Test
+ @Test
public void testImportSamplingPlanCsv() throws SuiviObsmerException, TopiaException {
log.info("importSamplingPlanCsv");
@@ -479,7 +479,7 @@
SampleRowDAO rowDAO = SuiviObsmerModelDAOHelper.getSampleRowDAO(transaction);
- SampleRow row1 = rowDAO.findByCode("2010_01");
+ SampleRow row1 = rowDAO.findByCode("2010_0001");
assertNotNull(row1);
assertEquals(1, row1.getNbObservants());
assertEquals(1.5, row1.getAverageTideTime(), 0.1);
@@ -501,7 +501,7 @@
transaction.closeContext();
}
-// @Test
+ @Test
public void testGetPrograms() throws Exception {
/** PREPARE DATA **/
TopiaContext transaction = SuiviObsmerContext.getTopiaRootContext().beginTransaction();
@@ -520,12 +520,12 @@
service.importSamplingPlanCsv(input);
/** EXEC METHOD **/
- List<String> programs = service.getPrograms();
+ List<String> programs = service.getPrograms(null);
assertEquals(4, programs.size());
}
-// @Test
+ @Test
public void testGetNewSampleRowCode() throws Exception {
log.info("getNewSampleRowCode");
@@ -552,16 +552,16 @@
Calendar begin = new GregorianCalendar(2009, 11, 1);
String result = service.getNewSampleRowCode(begin.getTime());
- Assert.assertEquals("2009_07", result);
+ 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);
+// 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);
}
}
Modified: trunk/suiviobsmer-business/src/test/resources/import/contacts.csv
===================================================================
--- trunk/suiviobsmer-business/src/test/resources/import/contacts.csv 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-business/src/test/resources/import/contacts.csv 2010-01-28 19:51:18 UTC (rev 292)
@@ -0,0 +1,2 @@
+"CONT_CREATION","OBSERV_ID","PLAN_CODE","NAVS_COD","CONT_ETAT","CONT_DEBUT_MAREE","CONT_FIN_MAREE","CONT_NB_OBSERV","CONT_MAM_CAPT","CONT_MAM_OBS","CONT_COMMENT","CONT_ALLEGRO","CONT_SOCIETE_VALID","CONT_PROGRAM_VALID"
+17/07/2009,"jmichmuche","2010_01",177474,"Embarquement réalisé ",22/07/2010,22/07/2010,1,,,,22/07/2010,"A","A"
\ No newline at end of file
Added: trunk/suiviobsmer-business/src/test/resources/import/misc.csv
===================================================================
--- trunk/suiviobsmer-business/src/test/resources/import/misc.csv (rev 0)
+++ trunk/suiviobsmer-business/src/test/resources/import/misc.csv 2010-01-28 19:51:18 UTC (rev 292)
@@ -0,0 +1,5 @@
+PLAN_CODE
+2009_1
+2009_11
+2009_111
+2009_1111
\ No newline at end of file
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/AbstractFilteredPage.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/AbstractFilteredPage.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/AbstractFilteredPage.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -127,6 +127,14 @@
@Property
private String observerId;
+ @Persist
+ private SelectModel programSelectModel;
+
+ @Persist
+ private boolean observerSelect;
+
+ @Persist
+ private boolean programSelect;
/**
* Initialize all select for filters. By default, only facade, sector and
* sampleRow selects will be initialized.
@@ -135,7 +143,9 @@
* @param observerSelect if true, observer select will be initialized
* @throws SuiviObsmerException
*/
- protected void initSelectFilters(boolean companySelect, boolean observerSelect) throws SuiviObsmerException {
+ protected void initSelectFilters(boolean companySelect, boolean observerSelect, boolean programSelect) throws SuiviObsmerException {
+ this.observerSelect = observerSelect;
+ this.programSelect = programSelect;
if (getFilter().getSampleRow() != null) {
if (log.isDebugEnabled()) {
@@ -166,6 +176,11 @@
}
}
+ if (programSelect) {
+ programSelectModel = null;
+ getProgramSelectModel();
+ }
+
resetFacadeSelect();
resetSectorSelect();
resetSampleRowSelect();
@@ -199,7 +214,7 @@
log.info("BUSINESS REQUEST [getFacades]");
}
List<OptionModel> options = new ArrayList<OptionModel>();
- for (String facadeName : serviceReferential.getFacades(getFilter().getCompany())) {
+ for (String facadeName : serviceReferential.getFacades(getFilter())) {
options.add(new OptionModelImpl(facadeName,facadeName));
}
facadeSelectModel = new SelectModelImpl(null, options);
@@ -220,7 +235,7 @@
log.info("BUSINESS REQUEST [getSectors]");
}
List<OptionModel> options = new ArrayList<OptionModel>();
- for (String sectorName : serviceReferential.getSectors(getFilter().getCompany(), getFilter().getFacadeName())) {
+ for (String sectorName : serviceReferential.getSectors(getFilter())) {
options.add(new OptionModelImpl(sectorName,sectorName));
}
sectorSelectModel = new SelectModelImpl(null, options);
@@ -299,6 +314,27 @@
return observerSelectModel;
}
+ /**
+ * Get select model for sampleRow program. Depends on company set in
+ * filter.
+ *
+ * @return the SelectModel for program names
+ * @throws SuiviObsmerException
+ */
+ public SelectModel getProgramSelectModel() throws SuiviObsmerException {
+ if (programSelectModel == null) {
+ if (log.isInfoEnabled()) {
+ log.info("BUSINESS REQUEST [getPrograms]");
+ }
+ List<OptionModel> options = new ArrayList<OptionModel>();
+ for (String programName : serviceSampling.getPrograms(getFilter().getCompany())) {
+ options.add(new OptionModelImpl(programName, programName));
+ }
+ programSelectModel = new SelectModelImpl(null, options);
+ }
+ return programSelectModel;
+ }
+
protected abstract BoatFilter getFilter() throws SuiviObsmerException;
/**
@@ -335,31 +371,54 @@
getFilter().setCompany(user.getCompany());
}
- WaoUser observer = getObserverSelectModel().findObject(observerId);
- getFilter().setObserver(observer);
+ if (observerSelect) {
+ WaoUser observer = getObserverSelectModel().findObject(observerId);
+ getFilter().setObserver(observer);
+ }
}
private boolean edited;
/**
* EVENT :: selected on refreshByCompany submit button. Reset selects for
- * company selected : facades, sectors, sampleRows and observers.
+ * company selected : programs, facades, sectors, sampleRows and observers.
* This method set the state to edited, you can use
* {@link AbstractFilteredPage#isEdited() } method to test it.
*
* @throws SuiviObsmerException
+ * @see AbstractFilteredPage#onSelectedFromRefreshByProgram()
+ */
+ public void onSelectedFromRefreshByCompany() throws SuiviObsmerException {
+ // Reset programs (the behavior is needed even if programSelect is false)
+ getFilter().setProgramName(null);
+ onSelectedFromRefreshByProgram();
+ if (observerSelect) {
+ // Reset observers
+ getFilter().setObserver(null);
+ observerSelectModel = null;
+ getObserverSelectModel();
+ }
+ if (programSelect) {
+ programSelectModel = null;
+ getProgramSelectModel();
+ }
+ edited = true;
+ }
+
+ /**
+ * EVENT :: selected on refreshByProgram submit button. Reset selects for
+ * program selected : facades, sectors and sampleRows.
+ * This method set the state to edited, you can use
+ * {@link AbstractFilteredPage#isEdited() } method to test it.
+ *
+ * @throws SuiviObsmerException
* @see AbstractFilteredPage#onSelectedFromRefreshByFacade()
*/
- public void onSelectedFromRefreshByCompany() throws SuiviObsmerException {
+ public void onSelectedFromRefreshByProgram() throws SuiviObsmerException {
// Reset facades
getFilter().setFacadeName(null);
onSelectedFromRefreshByFacade();
resetFacadeSelect();
- // Reset observers
- getFilter().setObserver(null);
- observerSelectModel = null;
- getObserverSelectModel();
- edited = true;
}
/**
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Boats.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Boats.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Boats.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -144,7 +144,7 @@
}
// Initialize filters using AbstractFilteredPage superclass
- initSelectFilters(false, false);
+ initSelectFilters(false, false, false);
companyBoatInfos = null;
//boatSelectedImmatriculation = null;
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -121,16 +121,10 @@
if (log.isDebugEnabled()) {
log.debug("RESET DATA");
}
- initSelectFilters(true ,true);
+ initSelectFilters(true, true, false);
contacts = null;
getContacts();
// }
-// String boatName = getFilter().getBoatName();
-// boolean companyFiltered = getFilter().getCompany() != null && user.getAdmin();
- // Show filters only if no boatName is set
-// if ((getContactFilter().isFiltered() || companyFiltered) && StringUtils.isEmpty(boatName)) {
-// filtersVisible = true;
-// }
contactsForm.clearErrors();
}
@@ -145,11 +139,6 @@
@InjectComponent
private Zone importExportZone;
-// @Property
-// @Persist(PersistenceConstants.FLASH)
-//// @Persist
-// private boolean filtersVisible;
-
private boolean reset;
@Property
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SampleRowForm.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SampleRowForm.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SampleRowForm.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -344,7 +344,7 @@
log.info("BUSINESS REQUEST [getPrograms]");
}
List<OptionModel> options = new ArrayList<OptionModel>();
- for (String name : serviceSampling.getPrograms()) {
+ for (String name : serviceSampling.getPrograms(null)) {
options.add(new OptionModelImpl(name, name));
}
programSelectModel = new SelectModelImpl(null, options);
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Synthesis.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Synthesis.java 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Synthesis.java 2010-01-28 19:51:18 UTC (rev 292)
@@ -77,7 +77,7 @@
private WaoUser user;
void setupRender() throws SuiviObsmerException {
- initSelectFilters(true, false);
+ initSelectFilters(true, false, true);
//getFilter().setUnfinishedRowsOnly(false);
}
@@ -100,14 +100,20 @@
dataSamplingFilter = new BoatFilterImpl();
if (!user.getAdmin()) {
dataSamplingFilter.setCompany(user.getCompany());
- }
+ }
+ }
+ return dataSamplingFilter;
+ }
+
+ public PeriodDates getPeriod() throws SuiviObsmerException {
+ if (getFilter().getPeriod() == null) {
PeriodDates period = PeriodDates.createMonthsPeriodFromToday(-12);
if (log.isDebugEnabled()) {
log.debug("Period : " + period);
}
- dataSamplingFilter.setPeriod(period);
+ getFilter().setPeriod(period);
}
- return dataSamplingFilter;
+ return getFilter().getPeriod();
}
@Override
Modified: trunk/suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/pages/Synthesis.properties
===================================================================
--- trunk/suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/pages/Synthesis.properties 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/pages/Synthesis.properties 2010-01-28 19:51:18 UTC (rev 292)
@@ -6,4 +6,5 @@
facadeName-label: Fa\u00E7ade
sectorName-label: Zone
sampleRow-label: Code ligne
-company-label: Soci\u00E9t\u00E9
\ No newline at end of file
+company-label: Soci\u00E9t\u00E9
+programName-label: Programme
\ No newline at end of file
Modified: trunk/suiviobsmer-ui/src/main/webapp/Synthesis.tml
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/Synthesis.tml 2010-01-28 17:22:32 UTC (rev 291)
+++ trunk/suiviobsmer-ui/src/main/webapp/Synthesis.tml 2010-01-28 19:51:18 UTC (rev 292)
@@ -54,15 +54,21 @@
<div class="filterRow">
<label>Période: </label>
<t:label t:for="periodBegin" />:
- <input t:type="datefield" class="width70" t:id="periodBegin" t:value="filter.period.fromDate" />
+ <input t:type="datefield" class="width70" t:id="periodBegin" t:value="period.fromDate" />
<t:label t:for="periodEnd" />:
- <input t:type="datefield" class="width70" t:id="periodEnd" t:value="filter.period.thruDate" />
+ <input t:type="datefield" class="width70" t:id="periodEnd" t:value="period.thruDate" />
+ </div>
+ <div>
<t:if t:test="user.admin">
- <t:label t:for="company" />:
- <input t:type="select" t:id="company" t:model="companySelectModel" value="companyId"/>
+ <t:label t:for="company" />:
+ <input t:type="select" t:id="company" t:model="companySelectModel" value="companyId"/>
<input t:type="submit" class="ico22px refresh" t:id="refreshByCompany" value="Refresh"
- title="Rafraîchir les filtres en fonction de la société sélectionnée"/>
+ title="Rafraîchir les filtres en fonction de la société sélectionnée"/>
</t:if>
+ <t:label t:for="programName" />:
+ <select t:type="select" t:id="programName" t:model="programSelectModel" value="filter.programName" />
+ <input t:type="submit" class="ico22px refresh" t:id="refreshByProgram" value="Refresh"
+ title="Rafraîchir les secteurs de pêche et les métiers en fonction du programme sélectionné"/>
</div>
<div class="filterRow" t:type="zone" t:id="sampleRowZone" t:update="show">
<t:label t:for="facadeName" />:
1
0
[Suiviobsmer-commits] r291 - in trunk: suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services suiviobsmer-ui/src/main/webapp
by fdesbois@users.labs.libre-entreprise.org 28 Jan '10
by fdesbois@users.labs.libre-entreprise.org 28 Jan '10
28 Jan '10
Author: fdesbois
Date: 2010-01-28 17:22:32 +0000 (Thu, 28 Jan 2010)
New Revision: 291
Modified:
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSynthesisImpl.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/ContactModelFactory.java
trunk/suiviobsmer-ui/src/main/webapp/Boats.tml
trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml
trunk/suiviobsmer-ui/src/main/webapp/Synthesis.tml
Log:
- Resolve problem on filters with facade and sector --> need subquery
- Evol #2057 : fromDate on contactFilter + text on submits buttons (search and reset)
- Ano #2056 : fromDate problem
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java 2010-01-27 17:27:43 UTC (rev 290)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java 2010-01-28 17:22:32 UTC (rev 291)
@@ -139,7 +139,10 @@
// Add join for ElligibleBoat
String elligibleBoatClassName = ElligibleBoat.class.getName();
query.addFrom(elligibleBoatClassName + " E").add("E." + ElligibleBoat.BOAT + " = " + main);
- query = filter.prepareQueryForSampling(query, "E." + ElligibleBoat.SAMPLE_ROW);
+ //query = filter.prepareQueryForSampling(query, "E." + ElligibleBoat.SAMPLE_ROW);
+ TopiaQuery<SampleRow> subquery = TopiaQuery.createQuery(SampleRow.class, "S").setSelect("S").addDistinct();
+ subquery = filter.prepareQueryForSampling(subquery, "S");
+ query.add("E." + ElligibleBoat.SAMPLE_ROW + " IN (" + subquery.fullQuery() + ")").addParams(subquery.getParams());
// Company
if (filter.getCompany() != null) {
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSynthesisImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSynthesisImpl.java 2010-01-27 17:27:43 UTC (rev 290)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSynthesisImpl.java 2010-01-28 17:22:32 UTC (rev 291)
@@ -96,7 +96,9 @@
addParam("fromDate", period.getFromDate()).addParam("thruDate", period.getThruDate()).
addGroup(periodDate).addOrder(periodDate);
- query = filter.prepareQueryForSampling(query, "M." + SampleMonth.SAMPLE_ROW);
+ TopiaQuery<SampleRow> subquery = TopiaQuery.createQuery(SampleRow.class, "S").setSelect("S").addDistinct();
+ subquery = filter.prepareQueryForSampling(subquery, "S");
+ query.add("M." + SampleMonth.SAMPLE_ROW + " IN (" + subquery.fullQuery() + ")").addParams(subquery.getParams());
if (log.isTraceEnabled()) {
log.trace("Exec query : " + query);
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java 2010-01-27 17:27:43 UTC (rev 290)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java 2010-01-28 17:22:32 UTC (rev 291)
@@ -47,7 +47,9 @@
import java.io.InputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
+import java.util.Calendar;
import java.util.Date;
+import java.util.GregorianCalendar;
import java.util.List;
import org.apache.commons.lang.BooleanUtils;
import org.apache.commons.lang.StringUtils;
@@ -123,12 +125,12 @@
contacts = null;
getContacts();
// }
- String boatName = getFilter().getBoatName();
- boolean companyFiltered = getFilter().getCompany() != null && user.getAdmin();
+// String boatName = getFilter().getBoatName();
+// boolean companyFiltered = getFilter().getCompany() != null && user.getAdmin();
// Show filters only if no boatName is set
- if ((getContactFilter().isFiltered() || companyFiltered) && StringUtils.isEmpty(boatName)) {
- filtersVisible = true;
- }
+// if ((getContactFilter().isFiltered() || companyFiltered) && StringUtils.isEmpty(boatName)) {
+// filtersVisible = true;
+// }
contactsForm.clearErrors();
}
@@ -143,10 +145,10 @@
@InjectComponent
private Zone importExportZone;
- @Property
+// @Property
// @Persist(PersistenceConstants.FLASH)
-// @Persist
- private boolean filtersVisible;
+//// @Persist
+// private boolean filtersVisible;
private boolean reset;
@@ -155,6 +157,9 @@
public ContactFilter getContactFilter() throws SuiviObsmerException {
if (contactFilter == null) {
+ if (log.isDebugEnabled()) {
+ log.debug("Init contactFilter");
+ }
contactFilter = new ContactFilterImpl();
// Initialized to 12 months before the current day
Date fromDate = DateUtils.createDateAfterToday(0, -3, 0);
@@ -163,6 +168,11 @@
return contactFilter;
}
+ public boolean getFiltersVisible() {
+ boolean companyFiltered = contactFilter.getCompany() != null && user.getAdmin();
+ return (contactFilter.isFiltered() || companyFiltered) && StringUtils.isEmpty(contactFilter.getBoatName()); /*&& !getDefaultFromDate().equals(contactFilter.getFromDate());*/
+ }
+
@Override
protected BoatFilter getFilter() throws SuiviObsmerException {
return getContactFilter();
@@ -174,7 +184,7 @@
}
Object onActionFromShowFilters() {
- contactFilter = null;
+ //contactFilter = null;
return filtersZone.getBody();
}
@@ -194,6 +204,9 @@
if (reset) {
contactFilter = null;
}
+// else {
+// filtersVisible = true;
+// }
return this;
}
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/ContactModelFactory.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/ContactModelFactory.java 2010-01-27 17:27:43 UTC (rev 290)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/ContactModelFactory.java 2010-01-28 17:22:32 UTC (rev 291)
@@ -73,8 +73,8 @@
Contact.TIDE_END_DATE,
Contact.NB_OBSERVANTS,
"mammals",
+ Contact.COMMENT,
Contact.DATA_INPUT_DATE,
- Contact.COMMENT,
"validation",
"actions");
Modified: trunk/suiviobsmer-ui/src/main/webapp/Boats.tml
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/Boats.tml 2010-01-27 17:27:43 UTC (rev 290)
+++ trunk/suiviobsmer-ui/src/main/webapp/Boats.tml 2010-01-28 17:22:32 UTC (rev 291)
@@ -92,8 +92,8 @@
<input t:type="textfield" t:id="boatDistrictCode" class="width50" t:value="filter.boatDistrictCode" />
</div>
<div class="t-beaneditor-row aright">
- <input t:type="submit" class="ico search-32px" t:id="search" value="Search" />
- <input t:type="submit" class="ico undo" t:id="reset" value="Reset" />
+ <input t:type="submit" class="ico search-32px" t:id="search" value="Search" title="Rechercher les navires correspondants aux filtres saisies" />
+ <input t:type="submit" class="ico undo" t:id="reset" value="Reset" title="Remettre les filtres par défaut" />
</div>
</div>
</form>
Modified: trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml 2010-01-27 17:27:43 UTC (rev 290)
+++ trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml 2010-01-28 17:22:32 UTC (rev 291)
@@ -8,7 +8,7 @@
<div>
<t:label t:for="boatName" /><br />
<input t:type="textfield" class="width200" t:id="boatName" value="contactFilter.boatName" t:mixins="Autocomplete"/>
- <input t:type="submit" class="ico search-32px" t:id="execSearchBoat" value="Search" />
+ <input t:type="submit" class="ico search-32px" t:id="execSearchBoat" value="Search" title="Rechercher les contacts liés à ce navire" />
</div>
</form>
<a t:type="actionlink" t:id="showFilters" t:zone="so-contacts-filters">
@@ -101,8 +101,8 @@
</t:if>
</div>
<div class="t-beaneditor-row aright">
- <input t:type="submit" class="ico search-32px" t:id="search" value="Search" />
- <input t:type="submit" class="ico undo" t:id="reset" value="Reset" />
+ <input t:type="submit" class="ico search-32px" t:id="search" value="Search" title="Rechercher les contacts correspondants aux filtres saisies" />
+ <input t:type="submit" class="ico undo" t:id="reset" value="Reset" title="Remettre les filtres par défaut" />
</div>
</div>
</form>
Modified: trunk/suiviobsmer-ui/src/main/webapp/Synthesis.tml
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/Synthesis.tml 2010-01-27 17:27:43 UTC (rev 290)
+++ trunk/suiviobsmer-ui/src/main/webapp/Synthesis.tml 2010-01-28 17:22:32 UTC (rev 291)
@@ -79,8 +79,8 @@
<input t:type="select" t:id="program" t:model="programSelectModel" value="programId" />-->
</div>
<div class="t-beaneditor-row aright">
- <input t:type="submit" class="ico search-32px" t:id="search" value="Search" />
- <input t:type="submit" class="ico undo" t:id="reset" value="Reset" />
+ <input t:type="submit" class="ico search-32px" t:id="search" value="Search" title="Création du graphique en fonction des filtres saisies"/>
+ <input t:type="submit" class="ico undo" t:id="reset" value="Reset" title="Remettre les filtres par défaut" />
</div>
</div>
</form>
1
0
[Suiviobsmer-commits] r290 - in trunk/src/site/rst: . user
by jcouteau@users.labs.libre-entreprise.org 27 Jan '10
by jcouteau@users.labs.libre-entreprise.org 27 Jan '10
27 Jan '10
Author: jcouteau
Date: 2010-01-27 17:27:43 +0000 (Wed, 27 Jan 2010)
New Revision: 290
Modified:
trunk/src/site/rst/usecases.rst
trunk/src/site/rst/user/boats.rst
Log:
Add forgotten doc
Modified: trunk/src/site/rst/usecases.rst
===================================================================
--- trunk/src/site/rst/usecases.rst 2010-01-27 17:13:27 UTC (rev 289)
+++ trunk/src/site/rst/usecases.rst 2010-01-27 17:27:43 UTC (rev 290)
@@ -58,11 +58,14 @@
__ admin/syntheses.html
__ user/syntheses.html
-- **Rendre éligible un navire pour une ligne du plan** : Permet d'associer un
+- **Rendre éligible un navire pour une ligne du plan** ( administrateur__ / utilisateur__ ) : Permet d'associer un
navire à une ligne du plan. L'administrateur le fera à partir du plan d'
échantillonnage tandis que l'observateur pourra le faire à partir des
informations privées (liées à la société) du navire.
+ __ admin/echantillonage.html
+ __ user/boats.html
+
Administrateur
--------------
Modified: trunk/src/site/rst/user/boats.rst
===================================================================
--- trunk/src/site/rst/user/boats.rst 2010-01-27 17:13:27 UTC (rev 289)
+++ trunk/src/site/rst/user/boats.rst 2010-01-27 17:27:43 UTC (rev 290)
@@ -20,6 +20,10 @@
.. image:: boats_edit.png
:width: 800px
+On peut, à partir de cette interface, de rendre un bateau éligible pour une
+ligne du plan. Il suffit, depuis l'edition, de choisir une ligne du plan et
+cliquer sur l'icone 'plus'.
+
Etablir un contact avec un navire
---------------------------------
1
0
[Suiviobsmer-commits] r289 - in trunk: . suiviobsmer-business suiviobsmer-ui
by fdesbois@users.labs.libre-entreprise.org 27 Jan '10
by fdesbois@users.labs.libre-entreprise.org 27 Jan '10
27 Jan '10
Author: fdesbois
Date: 2010-01-27 17:13:27 +0000 (Wed, 27 Jan 2010)
New Revision: 289
Modified:
trunk/pom.xml
trunk/suiviobsmer-business/pom.xml
trunk/suiviobsmer-ui/pom.xml
Log:
[maven-release-plugin] prepare for next development iteration
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-01-27 17:13:25 UTC (rev 288)
+++ trunk/pom.xml 2010-01-27 17:13:27 UTC (rev 289)
@@ -15,7 +15,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.3.0</version>
+ <version>0.3.1-SNAPSHOT</version>
<modules>
<module>suiviobsmer-ui</module>
@@ -223,9 +223,9 @@
<!-- ************************************************************* -->
<scm>
- <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.3.0</connection>
- <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.3.0</developerConnection>
- <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/suiviobsmer-0.3.0?root…</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/suiviobsmer-business/pom.xml
===================================================================
--- trunk/suiviobsmer-business/pom.xml 2010-01-27 17:13:25 UTC (rev 288)
+++ trunk/suiviobsmer-business/pom.xml 2010-01-27 17:13:27 UTC (rev 289)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.3.0</version>
+ <version>0.3.1-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.suiviobsmer</groupId>
@@ -135,9 +135,9 @@
</build>
<scm>
- <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/suiviobsmer-0.3.0/suiv…</url>
- <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.3.0/suivio…</connection>
- <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.3.0/suivio…</developerConnection>
+ <url>http://labs.libre-entreprise.org/scm/viewvc.php/trunk/suiviobsmer-business/…</url>
+ <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/suiviobsmer-business</connection>
+ <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/suiviobsmer-business</developerConnection>
</scm>
</project>
Modified: trunk/suiviobsmer-ui/pom.xml
===================================================================
--- trunk/suiviobsmer-ui/pom.xml 2010-01-27 17:13:25 UTC (rev 288)
+++ trunk/suiviobsmer-ui/pom.xml 2010-01-27 17:13:27 UTC (rev 289)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.3.0</version>
+ <version>0.3.1-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.suiviobsmer</groupId>
@@ -133,9 +133,9 @@
</repositories>
<scm>
- <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/suiviobsmer-0.3.0/suiv…</url>
- <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.3.0/suivio…</connection>
- <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.3.0/suivio…</developerConnection>
+ <url>http://labs.libre-entreprise.org/scm/viewvc.php/trunk/suiviobsmer-ui/?root=…</url>
+ <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/suiviobsmer-ui</connection>
+ <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/suiviobsmer-ui</developerConnection>
</scm>
</project>
1
0
Author: fdesbois
Date: 2010-01-27 17:13:25 +0000 (Wed, 27 Jan 2010)
New Revision: 288
Added:
tags/suiviobsmer-0.3.0/
Log:
[maven-scm] copy for tag suiviobsmer-0.3.0
1
0
[Suiviobsmer-commits] r287 - in trunk: . suiviobsmer-business suiviobsmer-ui
by fdesbois@users.labs.libre-entreprise.org 27 Jan '10
by fdesbois@users.labs.libre-entreprise.org 27 Jan '10
27 Jan '10
Author: fdesbois
Date: 2010-01-27 17:13:21 +0000 (Wed, 27 Jan 2010)
New Revision: 287
Modified:
trunk/pom.xml
trunk/suiviobsmer-business/pom.xml
trunk/suiviobsmer-ui/pom.xml
Log:
[maven-release-plugin] prepare release suiviobsmer-0.3.0
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-01-27 17:11:57 UTC (rev 286)
+++ trunk/pom.xml 2010-01-27 17:13:21 UTC (rev 287)
@@ -15,7 +15,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.3.0-SNAPSHOT</version>
+ <version>0.3.0</version>
<modules>
<module>suiviobsmer-ui</module>
@@ -223,9 +223,9 @@
<!-- ************************************************************* -->
<scm>
- <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>
+ <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.3.0</connection>
+ <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.3.0</developerConnection>
+ <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/suiviobsmer-0.3.0?root…</url>
</scm>
<build>
Modified: trunk/suiviobsmer-business/pom.xml
===================================================================
--- trunk/suiviobsmer-business/pom.xml 2010-01-27 17:11:57 UTC (rev 286)
+++ trunk/suiviobsmer-business/pom.xml 2010-01-27 17:13:21 UTC (rev 287)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.3.0-SNAPSHOT</version>
+ <version>0.3.0</version>
</parent>
<groupId>fr.ifremer.suiviobsmer</groupId>
@@ -135,9 +135,9 @@
</build>
<scm>
- <url>http://labs.libre-entreprise.org/scm/viewvc.php/trunk/suiviobsmer-business/…</url>
- <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/suiviobsmer-business</connection>
- <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/suiviobsmer-business</developerConnection>
+ <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/suiviobsmer-0.3.0/suiv…</url>
+ <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.3.0/suivio…</connection>
+ <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.3.0/suivio…</developerConnection>
</scm>
</project>
Modified: trunk/suiviobsmer-ui/pom.xml
===================================================================
--- trunk/suiviobsmer-ui/pom.xml 2010-01-27 17:11:57 UTC (rev 286)
+++ trunk/suiviobsmer-ui/pom.xml 2010-01-27 17:13:21 UTC (rev 287)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.3.0-SNAPSHOT</version>
+ <version>0.3.0</version>
</parent>
<groupId>fr.ifremer.suiviobsmer</groupId>
@@ -133,9 +133,9 @@
</repositories>
<scm>
- <url>http://labs.libre-entreprise.org/scm/viewvc.php/trunk/suiviobsmer-ui/?root=…</url>
- <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/suiviobsmer-ui</connection>
- <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/suiviobsmer-ui</developerConnection>
+ <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/suiviobsmer-0.3.0/suiv…</url>
+ <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.3.0/suivio…</connection>
+ <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.3.0/suivio…</developerConnection>
</scm>
</project>
1
0
[Suiviobsmer-commits] r286 - trunk/suiviobsmer-business/src/main/filters
by fdesbois@users.labs.libre-entreprise.org 27 Jan '10
by fdesbois@users.labs.libre-entreprise.org 27 Jan '10
27 Jan '10
Author: fdesbois
Date: 2010-01-27 17:11:57 +0000 (Wed, 27 Jan 2010)
New Revision: 286
Modified:
trunk/suiviobsmer-business/src/main/filters/SuiviObsmer.properties
Log:
update version in properties (and maven filters ?????)
Modified: trunk/suiviobsmer-business/src/main/filters/SuiviObsmer.properties
===================================================================
--- trunk/suiviobsmer-business/src/main/filters/SuiviObsmer.properties 2010-01-27 17:08:47 UTC (rev 285)
+++ trunk/suiviobsmer-business/src/main/filters/SuiviObsmer.properties 2010-01-27 17:11:57 UTC (rev 286)
@@ -16,4 +16,4 @@
suiviobsmer.email.from=admin at suiviobsmer.org
## Version
-suiviobsmer.version=0.2.0
\ No newline at end of file
+suiviobsmer.version=0.3.0
\ No newline at end of file
1
0
[Suiviobsmer-commits] r285 - in trunk: suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base
by fdesbois@users.labs.libre-entreprise.org 27 Jan '10
by fdesbois@users.labs.libre-entreprise.org 27 Jan '10
27 Jan '10
Author: fdesbois
Date: 2010-01-27 17:08:47 +0000 (Wed, 27 Jan 2010)
New Revision: 285
Modified:
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobal.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerRunner.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerRunnerImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityCalendarImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityMonthImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityProfessionImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/BoatImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/BoatInfosImpl.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/AbstractFilteredPage.java
Log:
Add javadoc
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobal.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobal.java 2010-01-27 16:59:35 UTC (rev 284)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobal.java 2010-01-27 17:08:47 UTC (rev 285)
@@ -51,6 +51,7 @@
/**
* Create a default admin user if no user already exist.
+ *
* @throws SuiviObsmerException
*/
static void createDefaultAdmin() throws SuiviObsmerException {
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerRunner.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerRunner.java 2010-01-27 16:59:35 UTC (rev 284)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerRunner.java 2010-01-27 17:08:47 UTC (rev 285)
@@ -38,12 +38,32 @@
*/
public interface SuiviObsmerRunner {
+ /**
+ * Start the application.
+ *
+ * @throws SuiviObsmerException
+ */
public void start() throws SuiviObsmerException;
+ /**
+ * Stop the application.
+ *
+ * @throws SuiviObsmerException
+ */
public void stop() throws SuiviObsmerException;
+ /**
+ * Return the current date, depends on environment.
+ *
+ * @return the current Date
+ */
public Date currentDate();
+ /**
+ * Return the configuration depends on environment.
+ *
+ * @return the ApplicationConfig which contains the application properties
+ */
public ApplicationConfig configuration();
}
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerRunnerImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerRunnerImpl.java 2010-01-27 16:59:35 UTC (rev 284)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerRunnerImpl.java 2010-01-27 17:08:47 UTC (rev 285)
@@ -40,8 +40,6 @@
*/
public class SuiviObsmerRunnerImpl implements SuiviObsmerRunner {
- private static final Logger log = LoggerFactory.getLogger(SuiviObsmerRunnerImpl.class);
-
private ApplicationConfig _configuration;
public SuiviObsmerRunnerImpl() {
@@ -57,7 +55,9 @@
SuiviObsmerModelDAOHelper.getImplementationClassesAsString());
_configuration.printConfig();
+ // Use the context to set the runner for default environment.
SuiviObsmerContext.setRunner(this);
+ // Create the default admin in database
SuiviObsmerGlobal.createDefaultAdmin();
} catch (Exception eee) {
SuiviObsmerContext.serviceException(null, "Error during loadConfiguration from " +
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityCalendarImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityCalendarImpl.java 2010-01-27 16:59:35 UTC (rev 284)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityCalendarImpl.java 2010-01-27 17:08:47 UTC (rev 285)
@@ -38,6 +38,12 @@
private static final long serialVersionUID = 1L;
+ /**
+ * Return the ActivityMonth whith this {@code monthNumber}
+ *
+ * @param monthNumber the number of the month of the ActivityMonth
+ * @return the ActivityMonth if it's found or null otherwise
+ */
@Override
public ActivityMonth getActivityMonth(int monthNumber) {
for (ActivityMonth month : getActivityMonth()) {
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityMonthImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityMonthImpl.java 2010-01-27 16:59:35 UTC (rev 284)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityMonthImpl.java 2010-01-27 17:08:47 UTC (rev 285)
@@ -37,6 +37,12 @@
private static final long serialVersionUID = 1L;
+ /**
+ * Return the ActivityProfession whith this {@code professionOrder}
+ *
+ * @param professionOrder the order of the profession (unique)
+ * @return the ActivityProfession if it's found or null otherwise
+ */
@Override
public ActivityProfession getActivityProfession(int professionOrder) {
for (ActivityProfession profession : getActivityProfession()) {
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityProfessionImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityProfessionImpl.java 2010-01-27 16:59:35 UTC (rev 284)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityProfessionImpl.java 2010-01-27 17:08:47 UTC (rev 285)
@@ -38,6 +38,12 @@
private static final long serialVersionUID = 1L;
+ /**
+ * Return the ActivityZone whith this {@code zoneCode}
+ *
+ * @param zoneCode the zone code
+ * @return the ActivityZone if it's found or null otherwise
+ */
@Override
public ActivityZone getActivityZone(String zoneCode) {
for (ActivityZone zone : getActivityZone()) {
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/BoatImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/BoatImpl.java 2010-01-27 16:59:35 UTC (rev 284)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/BoatImpl.java 2010-01-27 17:08:47 UTC (rev 285)
@@ -48,12 +48,14 @@
private static final long serialVersionUID = 1L;
/**
- * Check if a contact for this boat, company and sampleRow can be created.
- * The state is tested for the last created contact.
- * A new contact can be created only if the last state is final and is not 'Refus définitif'.
+ * Check if a contact for this boat and company can be created.
+ * The state is tested on the last created contact.
+ * A new contact can be created only if the last state is final.
+ *
* @param company which is the creator of the contact
* @return true if the contact can be created, false otherwise
* @throws SuiviObsmerException
+ * @see fr.ifremer.suiviobsmer.bean.ContactState#isFinalState()
*/
@Override
public boolean canCreateContact(Company company) throws SuiviObsmerException {
@@ -64,10 +66,10 @@
ContactDAO dao = SuiviObsmerModelDAOHelper.getContactDAO(transaction);
Contact contact = dao.createQueryLastContactForBoat(this, company).executeToEntity();
+
if (contact != null) {
- //boolean validation = contact.getValidationProgram() != null || BooleanUtils.isFalse(contact.getValidationCompany());
ContactState state = ContactState.createContactStateEnum(contact.getState());
- result = state.isFinalState(); /*validation && !state.equals(ContactState.BOAT_DEFINITIVE_REFUSED)*/;
+ result = state.isFinalState();
}
transaction.closeContext();
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/BoatInfosImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/BoatInfosImpl.java 2010-01-27 16:59:35 UTC (rev 284)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/BoatInfosImpl.java 2010-01-27 17:08:47 UTC (rev 285)
@@ -52,12 +52,13 @@
protected int nbBoardingForCompany;
/**
- * Calculate the number of boarding done on the boat since the date in argument.
- * Only the validate contacts by company will be count.
+ * Calculate the number of boarding done on the boat since the
+ * {@code fromDate}. Only validated contacts by company will be counted.
*
* @param fromDate the date to start calcul
* @return a number of boarding done on the boat for all companies
* @throws SuiviObsmerException
+ * @see fr.ifremer.suiviobsmer.entity.ContactDAO#createQueryDoneContactsFromDate(Boat, Date)
*/
@Override
public int getNbBoarding(Date fromDate) throws SuiviObsmerException {
@@ -82,12 +83,13 @@
}
/**
- * Calculate the number of boarding done on the boat and the company since the date in argument.
- * Only the validate contacts by company will be count.
+ * Calculate the number of boarding done on the boat since the
+ * {@code fromDate}. Only validated contacts by company will be counted.
*
* @param fromDate the date to start calcul
* @return a number of boarding done on the boat for the current company
* @throws SuiviObsmerException
+ * @see fr.ifremer.suiviobsmer.entity.ContactDAO#createQueryDoneContactsFromDate(Boat, Date)
*/
@Override
public int getNbBoardingForCompany(Date fromDate) throws SuiviObsmerException {
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/AbstractFilteredPage.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/AbstractFilteredPage.java 2010-01-27 16:59:35 UTC (rev 284)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/AbstractFilteredPage.java 2010-01-27 17:08:47 UTC (rev 285)
@@ -48,11 +48,14 @@
*
* Created: 14 janv. 2010
*
- * This class uses the BoatFilter bean (also SamplingFilter and UserFilter which are supertypes).
+ * This class uses the BoatFilter bean (also SamplingFilter and UserFilter which
+ * are supertypes).
*
- * Known implementations are {@link fr.ifremer.suiviobsmer.ui.pages.Synthesis } and {@link fr.ifremer.suiviobsmer.ui.pages.Contacts }
+ * Known implementations are {@link fr.ifremer.suiviobsmer.ui.pages.Synthesis }
+ * and {@link fr.ifremer.suiviobsmer.ui.pages.Contacts }
*
- * You must override the three abstract methods and call {@link #initFilter() } in the setupRender of the page.
+ * You must override the three abstract methods and call {@link #initFilter() }
+ * in the setupRender of the page.
* <pre>
* - BoatName uses an Autocomplete mixins :
* <t:textfield t:id="boatName" t:value="filter.boatName" t:mixins="Autocomplete"/>
@@ -62,12 +65,13 @@
* <input t:type="select" t:id="company" t:model="companySelectModel" value="companyId" />
* - Observer select value is observerId :
* <input t:type="select" t:id="observer" t:model="observerSelectModel" value="observerId" />
- * - Select change, use JavaScript :
- * <script type="text/javascript">
- * Event.observe('facadeName', 'change', function() { $('filtersForm').submit(); } );
- * Event.observe('sectorName', 'change', function() { $('filtersForm').submit(); } );
- * Event.observe('company', 'change', function() { $('filtersForm').submit(); } );
- * </script>
+ *
+ * Use submit button with specific ids to refresh data depends on select change:
+ * - id="refreshByCompany" : refresh facadeSelect, sectorSelect, sampleRowSelect
+ * and observerSelect
+ * - id="refreshByFacade" : refresh sectorSelect and sampleRowSelect
+ * - id="refreshBySector" : refresh sampleRowSelect
+ *
* </pre>
*
* @author fdesbois
@@ -124,7 +128,8 @@
private String observerId;
/**
- * Initialize all select for filters. By default, only facade, sector and sampleRow selects will be initialized.
+ * Initialize all select for filters. By default, only facade, sector and
+ * sampleRow selects will be initialized.
*
* @param companySelect if true, company select will be initialized
* @param observerSelect if true, observer select will be initialized
@@ -181,6 +186,13 @@
getSampleRowSelectModel();
}
+ /**
+ * Get select model for fishingZone facade. Depends on company set in
+ * filter.
+ *
+ * @return the SelectModel for facade names
+ * @throws SuiviObsmerException
+ */
public SelectModel getFacadeSelectModel() throws SuiviObsmerException {
if (facadeSelectModel == null) {
if (log.isInfoEnabled()) {
@@ -195,6 +207,13 @@
return facadeSelectModel;
}
+ /**
+ * Get select model for fishingZone sector. Depends on facadeName and
+ * company set in filter.
+ *
+ * @return the SelectModel for sector names
+ * @throws SuiviObsmerException
+ */
public SelectModel getSectorSelectModel() throws SuiviObsmerException {
if (sectorSelectModel == null) {
if (log.isInfoEnabled()) {
@@ -209,6 +228,14 @@
return sectorSelectModel;
}
+ /**
+ * Get select model for sampleRows. Depends on filter (Sampling part only).
+ * The sampleRow set from filter is temporarly extracted to avoid returning
+ * only one element in the select.
+ *
+ * @return the GenericSelectModel<SampleRow> for sampleRows
+ * @throws SuiviObsmerException
+ */
public GenericSelectModel<SampleRow> getSampleRowSelectModel() throws SuiviObsmerException {
if (sampleRowSelectModel == null) {
if (log.isInfoEnabled()) {
@@ -227,6 +254,14 @@
return sampleRowSelectModel;
}
+ /**
+ * Get select model for companies. Depends on
+ * {@link #getAvailableDataForFiltersOnly() } to return only activated
+ * companies. This select model is only used by admin users.
+ *
+ * @return the GenericSelectModel<Company> for companies
+ * @throws SuiviObsmerException
+ */
public GenericSelectModel<Company> getCompanySelectModel() throws SuiviObsmerException {
if (companySelectModel == null) {
if (log.isDebugEnabled()) {
@@ -239,6 +274,14 @@
return companySelectModel;
}
+ /**
+ * Get the select model for observers. Depends on
+ * {@link #getAvailableDataForFiltersOnly() } to return only activated
+ * companies.
+ *
+ * @return the GenericSelectModel<WaoUser> for observers
+ * @throws SuiviObsmerException
+ */
public GenericSelectModel<WaoUser> getObserverSelectModel() throws SuiviObsmerException {
if (observerSelectModel == null) {
List<WaoUser> observers = new ArrayList<WaoUser>();
@@ -258,10 +301,6 @@
protected abstract BoatFilter getFilter() throws SuiviObsmerException;
-// protected abstract Zone getSampleRowFilterZone();
-//
-// protected abstract Zone getObserverFilterZone();
-
/**
* Used to show only active company and observers.
*
@@ -277,34 +316,6 @@
return results.toArray(new String[0]);
}
-// @Log
-// public Object onChangeFromFacadeName(String value) throws SuiviObsmerException {
-// if (!StringUtils.isEmpty(value.trim())) {
-// // Reset filter to avoid strange behavior (cause of no form submit)
-// resetFilter();// = null;
-// // set facadeName selected in filter
-// getFilter().setFacadeName(value);
-// // Reset sectors to use facadeName selected
-// sectorSelectModel = null;
-// return getSampleRowFilterZone().getBody();
-// }
-// return null;
-// }
-//
-// @Log
-// public Object onChangeFromCompany(String value) throws SuiviObsmerException {
-// if (!StringUtils.isEmpty(value.trim())) {
-// // Reset filter to avoid strange behavior (cause of no form submit)
-// resetFilter();
-// // set company selected in filter
-// getFilter().setCompany(getCompanySelectModel().findObject(companyId));
-// // Reset observers to use company selected
-// observerSelectModel = null;
-// return getObserverFilterZone().getBody();
-// }
-// return null;
-// }
-
/**
* Called when search submit button is pressed. This method is useful to
* refresh all filters data from selects.
@@ -385,6 +396,11 @@
edited = true;
}
+ /**
+ * Used to indicate that a refresh as been triggered.
+ *
+ * @return true if the page filter is in edited state.
+ */
protected boolean isEdited() {
return edited;
}
1
0
[Suiviobsmer-commits] r284 - in trunk/src/site/rst: . admin
by jcouteau@users.labs.libre-entreprise.org 27 Jan '10
by jcouteau@users.labs.libre-entreprise.org 27 Jan '10
27 Jan '10
Author: jcouteau
Date: 2010-01-27 16:59:35 +0000 (Wed, 27 Jan 2010)
New Revision: 284
Modified:
trunk/src/site/rst/admin/contacts.rst
trunk/src/site/rst/admin/echantillonage.rst
trunk/src/site/rst/admin/firstlaunch.rst
trunk/src/site/rst/usecases.rst
Log:
Add links between pages
Modified: trunk/src/site/rst/admin/contacts.rst
===================================================================
--- trunk/src/site/rst/admin/contacts.rst 2010-01-27 16:09:19 UTC (rev 283)
+++ trunk/src/site/rst/admin/contacts.rst 2010-01-27 16:59:35 UTC (rev 284)
@@ -8,6 +8,10 @@
afficher le formulaire approprié. Sélectionnez le fichier à importer et
validez (flèche vers le bas).
+Fichier d'import_ .
+
+.. _import: ../import/contacts.html
+
Un message vous annonce le résultat de l'import.
.. image:: import_contacts_success.png
Modified: trunk/src/site/rst/admin/echantillonage.rst
===================================================================
--- trunk/src/site/rst/admin/echantillonage.rst 2010-01-27 16:09:19 UTC (rev 283)
+++ trunk/src/site/rst/admin/echantillonage.rst 2010-01-27 16:59:35 UTC (rev 284)
@@ -7,6 +7,10 @@
Pour importer le plan d'échantillonage, il suffit de sélectionner le fichier à
importer et valider.
+Le fichier d'import_ .
+
+.. _import: ../import/samplingPlan.html
+
.. image:: import_sampling_plan.png
:width: 800px
Modified: trunk/src/site/rst/admin/firstlaunch.rst
===================================================================
--- trunk/src/site/rst/admin/firstlaunch.rst 2010-01-27 16:09:19 UTC (rev 283)
+++ trunk/src/site/rst/admin/firstlaunch.rst 2010-01-27 16:59:35 UTC (rev 284)
@@ -69,8 +69,10 @@
---------------------------------
Il faut a présent importer le plan d'échantillonage. A partir de l'écran plan
-d'échantillonage, sélectionnez le fichier à importer et validez.
+d'échantillonage, sélectionnez le fichier à importer et validez. (le plan_)
+.. _plan: ../import/samplingPlan.html
+
.. image:: import_sampling_plan.png
:width: 800px
@@ -84,8 +86,10 @@
--------------------
On importe, par la suite, les navires. Rendez-vous sur la page des navires.
-Sélectionnez le fichier à importer et validez.
+Sélectionnez le fichier à importer et validez. (les navires_ )
+.. _navires: ../import/boats.html
+
.. image:: import_boats.png
:width: 800px
@@ -100,14 +104,16 @@
L'avant-dernière opération consiste à importer les contacts déjà effectués.
Rendez-vous sur la page Contacts, cliquez sur le lien import/export pour
afficher le formulaire approprié. Sélectionnez le fichier à importer et
-validez.
+validez. (les contacts_ )
+.. _contacts: ../import/contacts.html
+
.. image::
:width: 800px
Un message vous annonce le résultat de l'import.
-.. image:: import_contacts.png
+.. image:: import_contacts_success.png
:width: 800px
Importer le calendrier d'activité
Modified: trunk/src/site/rst/usecases.rst
===================================================================
--- trunk/src/site/rst/usecases.rst 2010-01-27 16:09:19 UTC (rev 283)
+++ trunk/src/site/rst/usecases.rst 2010-01-27 16:59:35 UTC (rev 284)
@@ -37,25 +37,32 @@
l'observateur, uniquement les lignes liées à la société seront visibles
et imprimables. (Non géré en version 0.2.0).
-- **Import/Exporter contacts** : Permet l'export et l'import du visuel des
+- **Import/Exporter contacts** ( administrateur__ / utilisateur__ ) : Permet l'export et l'import du visuel des
contacts (données visibles potentiellement filtrées). Les validations ne
sont pas importables.
-- **Valider contact** : L'observateur comme l'administrateur peuvent valider un
+ __ admin/contacts.html
+ __ user/contacts.html
+
+- **Valider contact** ( administrateur__ / utilisateur__ ) : L'observateur comme l'administrateur peuvent valider un
contact. Une différence est faites entre les deux niveaux de validations (
l'administrateur doit attendre une validation de l'observateur afin de valider
à son tour le contact).
-- `Voir syntheses et indicateurs`_ : Graphiques et indicateurs permettant d'
+ __ admin/contacts.html
+ __ user/contacts.html
+
+- **Voir syntheses et indicateurs** ( administrateur__ / utilisateur__ ) : Graphiques et indicateurs permettant d'
aggréger les données existantes dans l'application.
+ __ admin/syntheses.html
+ __ user/syntheses.html
+
- **Rendre éligible un navire pour une ligne du plan** : Permet d'associer un
navire à une ligne du plan. L'administrateur le fera à partir du plan d'
échantillonnage tandis que l'observateur pourra le faire à partir des
informations privées (liées à la société) du navire.
-.. _Voir syntheses et indicateurs: admin/syntheses.html
-
Administrateur
--------------
@@ -80,7 +87,7 @@
- `Gerer news`_ : Création, modification et suppression des articles d'annonces
sur la page d'accueil de l'application.
-- **Consulter les infos du navire pour une société** : Consultation des
+- `Consulter les infos du navire pour une societe`_ : Consultation des
informations privées d'un navire pour une société.
.. _Importer referentiel zones de peche: admin/firstlaunch.html#Importer_les_zones_de_pche
@@ -97,14 +104,16 @@
.. _Gerer news: admin/news.html
+.. _Consulter les infos du navire pour une societe: admin/boats.html#Consulter_les_informations_dun_navire
+
Observateur
-----------
-- **Gérer contact** : Création, modification et suppression des contacts de la
+- `Gerer contact`_ : Création, modification et suppression des contacts de la
société de l'observateur. Seuls les contacts non validés par un administrateur
peuvent être modifiés ou supprimés.
-- **Editer les informations du navire privées à la société** : Modification des
+- `Editer les informations du navire privees a la societe`_ : Modification des
informations d'un navire pour la société de l'observateur.
- **Impression de la liste des navires** : Permet l'impression du visuel des
@@ -112,3 +121,6 @@
privées de la société (contact téléphone, email, ...) sont imprimables
avec les propriétés du navire. (Non géré en version 0.2.0).
+.. _Gerer contact: user/contacts.html
+
+.. _Editer les informations du navire privees a la societe: user/boats.html
\ No newline at end of file
1
0