Wao-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
March 2014
- 3 participants
- 90 discussions
r1758 - in trunk/wao-web/src/main: java/fr/ifremer/wao/web/action/json java/fr/ifremer/wao/web/action/obsmer resources/template/bootstrap resources/template/bootstrap/simple webapp/WEB-INF/content/obsmer webapp/WEB-INF/decorators webapp/js
by bleny@users.forge.codelutin.com 26 Mar '14
by bleny@users.forge.codelutin.com 26 Mar '14
26 Mar '14
Author: bleny
Date: 2014-03-26 16:09:58 +0100 (Wed, 26 Mar 2014)
New Revision: 1758
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1758
Log:
refs #4483 add all fields in ui for samplerows filter, dynamically reload content
Added:
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SampleRowsFilterValuesJsonAction.java
trunk/wao-web/src/main/resources/template/bootstrap/simple/
trunk/wao-web/src/main/resources/template/bootstrap/simple/select.ftl
Removed:
trunk/wao-web/src/main/resources/template/bootstrap/select.ftl
Modified:
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/json/WaoJsonActionSupport.java
trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp
trunk/wao-web/src/main/webapp/WEB-INF/decorators/layout.jsp
trunk/wao-web/src/main/webapp/js/wao.js
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/json/WaoJsonActionSupport.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/json/WaoJsonActionSupport.java 2014-03-26 11:16:22 UTC (rev 1757)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/json/WaoJsonActionSupport.java 2014-03-26 15:09:58 UTC (rev 1758)
@@ -22,7 +22,12 @@
*/
import fr.ifremer.wao.web.WaoActionSupport;
+import org.apache.struts2.convention.annotation.Result;
+import org.apache.struts2.convention.annotation.Results;
+@Results({
+ @Result(name="success", type="json")
+})
public class WaoJsonActionSupport extends WaoActionSupport {
private static final long serialVersionUID = 1L;
Added: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SampleRowsFilterValuesJsonAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SampleRowsFilterValuesJsonAction.java (rev 0)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SampleRowsFilterValuesJsonAction.java 2014-03-26 15:09:58 UTC (rev 1758)
@@ -0,0 +1,52 @@
+package fr.ifremer.wao.web.action.obsmer;
+
+import com.opensymphony.xwork2.Preparable;
+import fr.ifremer.wao.SampleRowsFilter;
+import fr.ifremer.wao.services.service.ObsMerSamplingPlan;
+import fr.ifremer.wao.services.service.ObsMerSamplingPlanService;
+import fr.ifremer.wao.services.service.SampleRowsFilterValues;
+import fr.ifremer.wao.web.action.json.WaoJsonActionSupport;
+
+public class SampleRowsFilterValuesJsonAction extends WaoJsonActionSupport implements Preparable {
+
+ private static final long serialVersionUID = 1L;
+
+ protected transient ObsMerSamplingPlanService service;
+
+ protected transient SampleRowsFilter filter;
+
+ protected SampleRowsFilterValues filterValues;
+
+ public void setService(ObsMerSamplingPlanService service) {
+ this.service = service;
+ }
+
+ public SampleRowsFilter getFilter() {
+ if (filter == null) {
+ prepare();
+ }
+ return filter;
+ }
+
+ @Override
+ public void prepare() {
+
+ filter = service.newSampleRowsFilter(session.getAuthenticatedWaoUser());
+
+ }
+
+ @Override
+ public String execute() {
+
+ ObsMerSamplingPlan samplingPlan = service.getSamplingPlan(filter);
+
+ filterValues = samplingPlan.getFilterValues();
+
+ return SUCCESS;
+ }
+
+ public SampleRowsFilterValues getFilterValues() {
+ return filterValues;
+ }
+
+}
Deleted: trunk/wao-web/src/main/resources/template/bootstrap/select.ftl
===================================================================
--- trunk/wao-web/src/main/resources/template/bootstrap/select.ftl 2014-03-26 11:16:22 UTC (rev 1757)
+++ trunk/wao-web/src/main/resources/template/bootstrap/select.ftl 2014-03-26 15:09:58 UTC (rev 1758)
@@ -1,141 +0,0 @@
-<#--
-/*
- * $Id$
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
--->
-<#setting number_format="#.#####">
-TOTO
-<select<#rt/>
- name="${parameters.name?default("")?html}"<#rt/>
-<#if parameters.get("size")??>
- size="${parameters.get("size")?html}"<#rt/>
-</#if>
-<#if parameters.disabled?default(false)>
- disabled="disabled"<#rt/>
-</#if>
-<#if parameters.tabindex??>
- tabindex="${parameters.tabindex?html}"<#rt/>
-</#if>
-<#if parameters.id??>
- id="${parameters.id?html}"<#rt/>
-</#if>
-<#include "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl" />
-<#if parameters.title??>
- title="${parameters.title?html}"<#rt/>
-</#if>
-<#if parameters.multiple?default(false)>
- multiple="multiple"<#rt/>
-</#if>
-<#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" />
-<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" />
-<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" />
->
-<#if parameters.headerKey?? && parameters.headerValue??>
- <option value="${parameters.headerKey?html}"
- <#if tag.contains(parameters.nameValue, parameters.headerKey) == true>
- selected="selected"
- </#if>
- >${parameters.headerValue?html}</option>
-</#if>
-<#if parameters.emptyOption?default(false)>
- <option value=""></option>
-</#if>
-<@s.iterator value="parameters.list">
- <#if parameters.listKey??>
- <#if stack.findValue(parameters.listKey)??>
- <#assign itemKey = stack.findValue(parameters.listKey)/>
- <#assign itemKeyStr = stack.findString(parameters.listKey)/>
- <#else>
- <#assign itemKey = ''/>
- <#assign itemKeyStr = ''/>
- </#if>
- <#else>
- <#assign itemKey = stack.findValue('top')/>
- <#assign itemKeyStr = stack.findString('top')>
- </#if>
- <#if parameters.listValue??>
- <#if stack.findString(parameters.listValue)??>
- <#assign itemValue = stack.findString(parameters.listValue)/>
- <#else>
- <#assign itemValue = ''/>
- </#if>
- <#else>
- <#assign itemValue = stack.findString('top')/>
- </#if>
- <#if parameters.listCssClass??>
- <#if stack.findString(parameters.listCssClass)??>
- <#assign itemCssClass= stack.findString(parameters.listCssClass)/>
- <#else>
- <#assign itemCssClass = ''/>
- </#if>
- </#if>
- <#if parameters.listCssStyle??>
- <#if stack.findString(parameters.listCssStyle)??>
- <#assign itemCssStyle= stack.findString(parameters.listCssStyle)/>
- <#else>
- <#assign itemCssStyle = ''/>
- </#if>
- </#if>
- <#if parameters.listTitle??>
- <#if stack.findString(parameters.listTitle)??>
- <#assign itemTitle= stack.findString(parameters.listTitle)/>
- <#else>
- <#assign itemTitle = ''/>
- </#if>
- </#if>
- <option value="${itemKeyStr?html}"<#rt/>
- <#if tag.contains(parameters.nameValue, itemKey) == true>
- selected="selected"<#rt/>
- </#if>
- <#if itemCssClass?if_exists != "">
- class="${itemCssClass?html}"<#rt/>
- </#if>
- <#if itemCssStyle?if_exists != "">
- style="${itemCssStyle?html}"<#rt/>
- </#if>
- <#if itemTitle?if_exists != "">
- title="${itemTitle?html}"<#rt/>
- </#if>
- >${itemValue?html}</option><#lt/>
-</(a)s.iterator>
-
-<#include "/${parameters.templateDir}/${parameters.expandTheme}/optgroup.ftl" />
-
-</select>
-
-<#if parameters.multiple?default(false)>
- <#if (parameters.id?? && parameters.name??)>
- <input type="hidden" id="__multiselect_${parameters.id?html}" name="__multiselect_${parameters.name?html}" value=""<#rt/>
- </#if>
- <#if (parameters.id?? && !parameters.name??)>
- <input type="hidden" id="__multiselect_${parameters.id?html}" name="__multiselect_${parameters.id?html}" value=""<#rt/>
- </#if>
- <#if ( !parameters.id?? && parameters.name??)>
- <input type="hidden" id="__multiselect_${parameters.id?html}" name="__multiselect_${parameters.id?html}" value=""<#rt/>
- </#if>
- <#if ( !parameters.id?? && !parameters.name??)>
- <input type="hidden" id="" name="" value="" <#rt/>
- </#if>
-
-<#if parameters.disabled?default(false)>
- disabled="disabled"<#rt/>
-</#if>
- />
-</#if>
Copied: trunk/wao-web/src/main/resources/template/bootstrap/simple/select.ftl (from rev 1757, trunk/wao-web/src/main/resources/template/bootstrap/select.ftl)
===================================================================
--- trunk/wao-web/src/main/resources/template/bootstrap/simple/select.ftl (rev 0)
+++ trunk/wao-web/src/main/resources/template/bootstrap/simple/select.ftl 2014-03-26 15:09:58 UTC (rev 1758)
@@ -0,0 +1,143 @@
+<#--
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+-->
+<#setting number_format="#.#####">
+<select<#rt/>
+ name="${parameters.name?default("")?html}"<#rt/>
+<#if parameters.get("size")??>
+ size="${parameters.get("size")?html}"<#rt/>
+</#if>
+<#if parameters.disabled?default(false)>
+ disabled="disabled"<#rt/>
+</#if>
+<#if parameters.tabindex??>
+ tabindex="${parameters.tabindex?html}"<#rt/>
+</#if>
+<#if parameters.id??>
+ id="${parameters.id?html}"<#rt/>
+</#if>
+<#if parameters.dataBinding??>
+ data-binding="${parameters.dataBinding?html}"<#rt/>
+</#if>
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl" />
+<#if parameters.title??>
+ title="${parameters.title?html}"<#rt/>
+</#if>
+<#if parameters.multiple?default(false)>
+ multiple="multiple"<#rt/>
+</#if>
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" />
+>
+<#if parameters.headerKey?? && parameters.headerValue??>
+ <option value="${parameters.headerKey?html}"
+ <#if tag.contains(parameters.nameValue, parameters.headerKey) == true>
+ selected="selected"
+ </#if>
+ >${parameters.headerValue?html}</option>
+</#if>
+<#if parameters.emptyOption?default(false)>
+ <option value=""></option>
+</#if>
+<@s.iterator value="parameters.list">
+ <#if parameters.listKey??>
+ <#if stack.findValue(parameters.listKey)??>
+ <#assign itemKey = stack.findValue(parameters.listKey)/>
+ <#assign itemKeyStr = stack.findString(parameters.listKey)/>
+ <#else>
+ <#assign itemKey = ''/>
+ <#assign itemKeyStr = ''/>
+ </#if>
+ <#else>
+ <#assign itemKey = stack.findValue('top')/>
+ <#assign itemKeyStr = stack.findString('top')>
+ </#if>
+ <#if parameters.listValue??>
+ <#if stack.findString(parameters.listValue)??>
+ <#assign itemValue = stack.findString(parameters.listValue)/>
+ <#else>
+ <#assign itemValue = ''/>
+ </#if>
+ <#else>
+ <#assign itemValue = stack.findString('top')/>
+ </#if>
+ <#if parameters.listCssClass??>
+ <#if stack.findString(parameters.listCssClass)??>
+ <#assign itemCssClass= stack.findString(parameters.listCssClass)/>
+ <#else>
+ <#assign itemCssClass = ''/>
+ </#if>
+ </#if>
+ <#if parameters.listCssStyle??>
+ <#if stack.findString(parameters.listCssStyle)??>
+ <#assign itemCssStyle= stack.findString(parameters.listCssStyle)/>
+ <#else>
+ <#assign itemCssStyle = ''/>
+ </#if>
+ </#if>
+ <#if parameters.listTitle??>
+ <#if stack.findString(parameters.listTitle)??>
+ <#assign itemTitle= stack.findString(parameters.listTitle)/>
+ <#else>
+ <#assign itemTitle = ''/>
+ </#if>
+ </#if>
+ <option value="${itemKeyStr?html}"<#rt/>
+ <#if tag.contains(parameters.nameValue, itemKey) == true>
+ selected="selected"<#rt/>
+ </#if>
+ <#if itemCssClass?if_exists != "">
+ class="${itemCssClass?html}"<#rt/>
+ </#if>
+ <#if itemCssStyle?if_exists != "">
+ style="${itemCssStyle?html}"<#rt/>
+ </#if>
+ <#if itemTitle?if_exists != "">
+ title="${itemTitle?html}"<#rt/>
+ </#if>
+ >${itemValue?html}</option><#lt/>
+</(a)s.iterator>
+
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/optgroup.ftl" />
+
+</select>
+
+<#if parameters.multiple?default(false)>
+ <#if (parameters.id?? && parameters.name??)>
+ <input type="hidden" id="__multiselect_${parameters.id?html}" name="__multiselect_${parameters.name?html}" value=""<#rt/>
+ </#if>
+ <#if (parameters.id?? && !parameters.name??)>
+ <input type="hidden" id="__multiselect_${parameters.id?html}" name="__multiselect_${parameters.id?html}" value=""<#rt/>
+ </#if>
+ <#if ( !parameters.id?? && parameters.name??)>
+ <input type="hidden" id="__multiselect_${parameters.id?html}" name="__multiselect_${parameters.id?html}" value=""<#rt/>
+ </#if>
+ <#if ( !parameters.id?? && !parameters.name??)>
+ <input type="hidden" id="" name="" value="" <#rt/>
+ </#if>
+
+<#if parameters.disabled?default(false)>
+ disabled="disabled"<#rt/>
+</#if>
+ />
+</#if>
Modified: trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp
===================================================================
--- trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp 2014-03-26 11:16:22 UTC (rev 1757)
+++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp 2014-03-26 15:09:58 UTC (rev 1758)
@@ -28,11 +28,19 @@
<s:text name="wao.ui.page.SamplingPlan.title" />
</title>
- <style>
- .currentMonth{
- background-color: yellow;
- }
- </style>
+ <script>
+
+ var SAMPLE_ROWS_FILTER_VALUES_JSON_URL = '<s:url action="sample-rows-filter-values-json" />';
+
+ $(document).ready(function () {
+
+ var sampleRowsFilterController = new SampleRowsFilterController(SAMPLE_ROWS_FILTER_VALUES_JSON_URL);
+ sampleRowsFilterController.init();
+
+ });
+
+ </script>
+
</head>
<h1>
@@ -62,44 +70,51 @@
label="%{getText('wao.ui.entity.Company')}"
list="samplingPlan.filterValues.companies"
multiple="true"
- cssClass="input-xxlarge" />
+ dataBinding="companies"
+ cssClass="input-xlarge" />
<s:select name="filter.programNames"
label="%{getText('wao.ui.field.SampleRow.programName')}"
list="samplingPlan.filterValues.programNames"
multiple="true"
- cssClass="input-xxlarge" />
+ dataBinding="programNames"
+ cssClass="input-xlarge" />
<s:select name="filter.fishingZoneFacadeNames"
label="%{getText('wao.ui.field.FishingZone.facadeName')}"
list="samplingPlan.filterValues.fishingZoneFacadeNames"
multiple="true"
- cssClass="input-xxlarge" />
+ dataBinding="fishingZoneFacadeNames"
+ cssClass="input-xlarge" />
<s:select name="filter.fishingZoneSectorNames"
label="%{getText('wao.ui.field.FishingZone.sectorName')}"
list="samplingPlan.filterValues.fishingZoneSectorNames"
multiple="true"
- cssClass="input-xxlarge" />
+ dataBinding="fishingZoneSectorNames"
+ cssClass="input-xlarge" />
<s:select name="filter.sampleRowCodes"
label="%{getText('wao.ui.field.SampleRow.code')}"
list="samplingPlan.filterValues.sampleRowCodes"
multiple="true"
- cssClass="input-xxlarge" />
+ dataBinding="sampleRowCodes"
+ cssClass="input-xlarge" />
<s:select name="filter.fishingGearDcfIds"
label="%{getText('wao.ui.entity.fishingGearDCF')}"
list="samplingPlan.filterValues.fishingGearDcfs"
value="%getText(#value)"
multiple="true"
- cssClass="input-xxlarge" />
+ dataBinding="fishingGearDcfs"
+ cssClass="input-xlarge" />
<s:select name="filter.targetSpeciesDcfIds"
label="%{getText('wao.ui.entity.targetSpeciesDCF')}"
list="samplingPlan.filterValues.targetSpeciesDcfs"
multiple="true"
- cssClass="input-xxlarge" />
+ dataBinding="targetSpeciesDcfs"
+ cssClass="input-xlarge" />
<s:url action="sampling-plan" id="samplingPlanUrl" />
<s:a href="%{samplingPlanUrl}" cssClass="btn">
Modified: trunk/wao-web/src/main/webapp/WEB-INF/decorators/layout.jsp
===================================================================
--- trunk/wao-web/src/main/webapp/WEB-INF/decorators/layout.jsp 2014-03-26 11:16:22 UTC (rev 1757)
+++ trunk/wao-web/src/main/webapp/WEB-INF/decorators/layout.jsp 2014-03-26 15:09:58 UTC (rev 1758)
@@ -28,7 +28,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><decorator:title default="Wao"/> - Wao</title>
- <sj:head locale="fr" jqueryui="true" loadAtOnce="true" jquerytheme="start" />
+ <sj:head locale="fr" jqueryui="true" />
<sb:head />
<script type="text/javascript" src="<s:url value='/js/moment-js-2.5.1/moment-with-langs.js' />"></script>
<script type="text/javascript" src="<s:url value='/js/select2-3.4.5/select2.min.js' />"></script>
Modified: trunk/wao-web/src/main/webapp/js/wao.js
===================================================================
--- trunk/wao-web/src/main/webapp/js/wao.js 2014-03-26 11:16:22 UTC (rev 1757)
+++ trunk/wao-web/src/main/webapp/js/wao.js 2014-03-26 15:09:58 UTC (rev 1758)
@@ -18,6 +18,107 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
+
+var SampleRowsFilterModel = function (filterValuesUrl) {
+
+ var self = this;
+
+ this.filterValues = {};
+ this.filterValuesUrl = filterValuesUrl;
+
+ this.setFilterValues = function (filterValues) {
+ this.filterValues = filterValues;
+ $(this).trigger('updated');
+ };
+
+ this.updateFilterValues = function(filter) {
+ var successCallback = function (data) {
+ self.setFilterValues(data.filterValues)
+ };
+ $.get(this.filterValuesUrl, filter, successCallback);
+ }
+
+};
+
+var SampleRowsFilterView = function (sampleRowsFilterModel) {
+
+ var self = this;
+
+ this.model = sampleRowsFilterModel;
+
+ this.getFilter = function () {
+ var filter = {};
+ $('select').each(function (index, select) {
+ var $select = $(select);
+ var parameterName = $select.prop('name');
+ var parameterValues = [];
+ $select.find('option:selected').each(function (index, option) {
+ parameterValues.push($(option).prop('value'));
+ });
+ filter[parameterName] = parameterValues;
+ });
+ $('input[type=text]').each(function (index, input) {
+ var $input = $(input);
+ var parameterName = $(input).prop('name');
+ var parameterValue = $(input).prop('value');
+ filter[parameterName] = parameterValue;
+ });
+ return filter;
+ };
+
+ this.refreshFilterValues = function() {
+ // store options selected by user to re-select them after update
+ var filter = this.getFilter();
+ var filterValues = this.model.filterValues;
+ $('select').each(function (index, select) {
+ var $select = $(select).empty();
+ var name = $select.prop('name');
+ // FIXME brendan 26/03/14 should be data-binding but freemarker break the template :-(
+ var binding = $select.attr('databinding');
+ var options = filterValues[binding];
+ $.each(options, function (value, label) {
+ if (typeof value == "number") {
+ value = label;
+ }
+ var optionHtml = '<option value="' + value + '">' + label + '</option>';
+ $select.append(optionHtml);
+ });
+ var selectedOptions = filter[name];
+ $.each(selectedOptions, function (index, selectedOption) {
+ $select.find('option[value="' + selectedOption + '"]').prop('selected', 'selected');
+ });
+ });
+ }
+
+ $(this.model).on('updated', function () {
+ self.refreshFilterValues();
+ });
+
+};
+
+var SampleRowsFilterController = function (filterValuesUrl) {
+
+ var self = this;
+
+ this.model = new SampleRowsFilterModel(filterValuesUrl);
+ this.view = new SampleRowsFilterView(this.model);
+
+ this.onFilterChange = function () {
+ var filter = this.view.getFilter();
+ this.model.updateFilterValues(filter);
+ };
+
+ this.init = function () {
+ $('input').change(function () {
+ self.onFilterChange();
+ });
+ $('select').change(function () {
+ self.onFilterChange();
+ });
+ }
+
+};
+
$(document).ready(function () {
$('select').select2();
1
0
r1757 - in trunk/wao-web/src/main/resources: . template template/bootstrap
by bleny@users.forge.codelutin.com 26 Mar '14
by bleny@users.forge.codelutin.com 26 Mar '14
26 Mar '14
Author: bleny
Date: 2014-03-26 12:16:22 +0100 (Wed, 26 Mar 2014)
New Revision: 1757
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1757
Log:
copy select.ftl in classpath to override it
Added:
trunk/wao-web/src/main/resources/template/
trunk/wao-web/src/main/resources/template/bootstrap/
trunk/wao-web/src/main/resources/template/bootstrap/select.ftl
Added: trunk/wao-web/src/main/resources/template/bootstrap/select.ftl
===================================================================
--- trunk/wao-web/src/main/resources/template/bootstrap/select.ftl (rev 0)
+++ trunk/wao-web/src/main/resources/template/bootstrap/select.ftl 2014-03-26 11:16:22 UTC (rev 1757)
@@ -0,0 +1,141 @@
+<#--
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+-->
+<#setting number_format="#.#####">
+TOTO
+<select<#rt/>
+ name="${parameters.name?default("")?html}"<#rt/>
+<#if parameters.get("size")??>
+ size="${parameters.get("size")?html}"<#rt/>
+</#if>
+<#if parameters.disabled?default(false)>
+ disabled="disabled"<#rt/>
+</#if>
+<#if parameters.tabindex??>
+ tabindex="${parameters.tabindex?html}"<#rt/>
+</#if>
+<#if parameters.id??>
+ id="${parameters.id?html}"<#rt/>
+</#if>
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl" />
+<#if parameters.title??>
+ title="${parameters.title?html}"<#rt/>
+</#if>
+<#if parameters.multiple?default(false)>
+ multiple="multiple"<#rt/>
+</#if>
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" />
+>
+<#if parameters.headerKey?? && parameters.headerValue??>
+ <option value="${parameters.headerKey?html}"
+ <#if tag.contains(parameters.nameValue, parameters.headerKey) == true>
+ selected="selected"
+ </#if>
+ >${parameters.headerValue?html}</option>
+</#if>
+<#if parameters.emptyOption?default(false)>
+ <option value=""></option>
+</#if>
+<@s.iterator value="parameters.list">
+ <#if parameters.listKey??>
+ <#if stack.findValue(parameters.listKey)??>
+ <#assign itemKey = stack.findValue(parameters.listKey)/>
+ <#assign itemKeyStr = stack.findString(parameters.listKey)/>
+ <#else>
+ <#assign itemKey = ''/>
+ <#assign itemKeyStr = ''/>
+ </#if>
+ <#else>
+ <#assign itemKey = stack.findValue('top')/>
+ <#assign itemKeyStr = stack.findString('top')>
+ </#if>
+ <#if parameters.listValue??>
+ <#if stack.findString(parameters.listValue)??>
+ <#assign itemValue = stack.findString(parameters.listValue)/>
+ <#else>
+ <#assign itemValue = ''/>
+ </#if>
+ <#else>
+ <#assign itemValue = stack.findString('top')/>
+ </#if>
+ <#if parameters.listCssClass??>
+ <#if stack.findString(parameters.listCssClass)??>
+ <#assign itemCssClass= stack.findString(parameters.listCssClass)/>
+ <#else>
+ <#assign itemCssClass = ''/>
+ </#if>
+ </#if>
+ <#if parameters.listCssStyle??>
+ <#if stack.findString(parameters.listCssStyle)??>
+ <#assign itemCssStyle= stack.findString(parameters.listCssStyle)/>
+ <#else>
+ <#assign itemCssStyle = ''/>
+ </#if>
+ </#if>
+ <#if parameters.listTitle??>
+ <#if stack.findString(parameters.listTitle)??>
+ <#assign itemTitle= stack.findString(parameters.listTitle)/>
+ <#else>
+ <#assign itemTitle = ''/>
+ </#if>
+ </#if>
+ <option value="${itemKeyStr?html}"<#rt/>
+ <#if tag.contains(parameters.nameValue, itemKey) == true>
+ selected="selected"<#rt/>
+ </#if>
+ <#if itemCssClass?if_exists != "">
+ class="${itemCssClass?html}"<#rt/>
+ </#if>
+ <#if itemCssStyle?if_exists != "">
+ style="${itemCssStyle?html}"<#rt/>
+ </#if>
+ <#if itemTitle?if_exists != "">
+ title="${itemTitle?html}"<#rt/>
+ </#if>
+ >${itemValue?html}</option><#lt/>
+</(a)s.iterator>
+
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/optgroup.ftl" />
+
+</select>
+
+<#if parameters.multiple?default(false)>
+ <#if (parameters.id?? && parameters.name??)>
+ <input type="hidden" id="__multiselect_${parameters.id?html}" name="__multiselect_${parameters.name?html}" value=""<#rt/>
+ </#if>
+ <#if (parameters.id?? && !parameters.name??)>
+ <input type="hidden" id="__multiselect_${parameters.id?html}" name="__multiselect_${parameters.id?html}" value=""<#rt/>
+ </#if>
+ <#if ( !parameters.id?? && parameters.name??)>
+ <input type="hidden" id="__multiselect_${parameters.id?html}" name="__multiselect_${parameters.id?html}" value=""<#rt/>
+ </#if>
+ <#if ( !parameters.id?? && !parameters.name??)>
+ <input type="hidden" id="" name="" value="" <#rt/>
+ </#if>
+
+<#if parameters.disabled?default(false)>
+ disabled="disabled"<#rt/>
+</#if>
+ />
+</#if>
1
0
26 Mar '14
Author: tchemit
Date: 2014-03-26 11:27:25 +0100 (Wed, 26 Mar 2014)
New Revision: 1756
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1756
Log:
respect Serializable contract
Modified:
trunk/wao-services/src/main/java/fr/ifremer/wao/services/AuthenticatedWaoUser.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/UpdateSampleRowCommand.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/ReferentialState.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/UpdateWaoUserCommand.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoActionSupport.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoApplicationContext.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoJspActionSupport.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoSession.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoStrutsObjectFactory.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/AbstractDownloadCsvAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/AbstractImportCsvAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/IndexAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/AbstractImportReferentialAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/CompaniesAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/DeleteCompanyAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/DeleteWaoUserAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/EditCompanyAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/EditWaoUserAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportBoatGroupsAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportBoatsAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportContactStateMotivesAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportFishingZonesAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportObsdebCodesAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportTerrestrialDivisionsAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportTerrestrialLocationsAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ReferentialManagementAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/WaoUsersAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/authentication/LoginAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/authentication/LogoutAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/json/WaoJsonActionSupport.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/CommentSampleRowAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/DeleteNewsAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/EditNewsAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/EditSampleRowAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ExportSamplingPlanAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ImportSamplingPlanAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/NewsAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SampleRowLogAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SamplingPlanAction.java
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/AuthenticatedWaoUser.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/AuthenticatedWaoUser.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/AuthenticatedWaoUser.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -31,8 +31,12 @@
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.subject.Subject;
-public class AuthenticatedWaoUser {
+import java.io.Serializable;
+public class AuthenticatedWaoUser implements Serializable{
+
+ private static final long serialVersionUID = 1L;
+
protected WaoUser waoUser;
protected UserProfile userProfile;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/UpdateSampleRowCommand.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/UpdateSampleRowCommand.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/UpdateSampleRowCommand.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -35,6 +35,7 @@
import org.nuiton.topia.persistence.TopiaEntities;
import org.nuiton.util.PeriodDates;
+import java.io.Serializable;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -42,8 +43,10 @@
import java.util.Map;
import java.util.Set;
-public class UpdateSampleRowCommand {
+public class UpdateSampleRowCommand implements Serializable{
+ private static final long serialVersionUID = 1L;
+
protected DateFormat monthFormat = new SimpleDateFormat("yyyyMM");
protected boolean creation;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/ReferentialState.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/ReferentialState.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/ReferentialState.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -21,14 +21,17 @@
* #L%
*/
+import java.io.Serializable;
import java.util.Date;
/**
* Répresente l'état d'une référential à un instant donné. (Date de dernière
* mise à jour par exemple).
*/
-public class ReferentialState {
+public class ReferentialState implements Serializable{
+ private static final long serialVersionUID = 1L;
+
protected String referentialName;
protected long size;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/UpdateWaoUserCommand.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/UpdateWaoUserCommand.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/UpdateWaoUserCommand.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -30,8 +30,12 @@
import fr.ifremer.wao.entity.WaoUser;
import org.apache.commons.lang3.StringUtils;
-public class UpdateWaoUserCommand {
+import java.io.Serializable;
+public class UpdateWaoUserCommand implements Serializable{
+
+ private static final long serialVersionUID = 1L;
+
protected ObsProgram obsProgram;
protected WaoUser waoUser;
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoActionSupport.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoActionSupport.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoActionSupport.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -27,6 +27,8 @@
public class WaoActionSupport extends BaseAction {
+ private static final long serialVersionUID = 1L;
+
protected WaoApplicationConfig applicationConfig;
protected WaoSession session;
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoApplicationContext.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoApplicationContext.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoApplicationContext.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -137,6 +137,8 @@
}
I18nInitializer initializer = new DefaultI18nInitializer("wao");
+ // to show none translated sentences
+ initializer.setMissingKeyReturnNull(true);
I18n.init(initializer, Locale.FRANCE);
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoJspActionSupport.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoJspActionSupport.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoJspActionSupport.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -28,6 +28,8 @@
public class WaoJspActionSupport extends WaoActionSupport {
+ private static final long serialVersionUID = 1L;
+
protected WaoSession getSession() {
return session;
}
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoSession.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoSession.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoSession.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -29,6 +29,8 @@
public class WaoSession implements Serializable {
+ private static final long serialVersionUID = 1L;
+
public static final String SESSION_PARAMETER = "waoSession";
protected Collection<String> messages;
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoStrutsObjectFactory.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoStrutsObjectFactory.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoStrutsObjectFactory.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -21,6 +21,7 @@
* #L%
*/
+import com.opensymphony.xwork2.ObjectFactory;
import fr.ifremer.wao.WaoEntityEnum;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -29,8 +30,10 @@
import java.util.Map;
-public class WaoStrutsObjectFactory extends StrutsObjectFactory {
+public class WaoStrutsObjectFactory extends ObjectFactory {
+ private static final long serialVersionUID = 1L;
+
private static final Log log = LogFactory.getLog(WaoStrutsObjectFactory.class);
@Override
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/AbstractDownloadCsvAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/AbstractDownloadCsvAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/AbstractDownloadCsvAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -38,6 +38,8 @@
)
public abstract class AbstractDownloadCsvAction extends WaoJspActionSupport {
+ private static final long serialVersionUID = 1L;
+
protected SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-dd-MM_HHhmm");
public abstract String getFileName();
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/AbstractImportCsvAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/AbstractImportCsvAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/AbstractImportCsvAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -37,12 +37,14 @@
public abstract class AbstractImportCsvAction extends WaoJspActionSupport {
+ private static final long serialVersionUID = 1L;
+
private static final Log log = LogFactory.getLog(AbstractImportCsvAction.class);
protected static final ImmutableSet<String> CSV_CONTENT_TYPES =
ImmutableSet.of("text/csv", "text/comma-separated-values", "application/vnd.ms-excel");
- protected ReferentialService service;
+ protected transient ReferentialService service;
protected File csvFile;
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/IndexAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/IndexAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/IndexAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -32,6 +32,8 @@
})
public class IndexAction extends WaoJspActionSupport {
+ private static final long serialVersionUID = 1L;
+
protected ObsProgram obsProgram;
@Override
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/AbstractImportReferentialAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/AbstractImportReferentialAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/AbstractImportReferentialAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -31,5 +31,6 @@
})
public abstract class AbstractImportReferentialAction extends AbstractImportCsvAction {
+ private static final long serialVersionUID = 1L;
}
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/CompaniesAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/CompaniesAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/CompaniesAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -30,8 +30,10 @@
public class CompaniesAction extends WaoJspActionSupport implements Preparable {
- protected CompaniesService service;
+ private static final long serialVersionUID = 1L;
+ protected transient CompaniesService service;
+
protected List<Company> companies;
public void setService(CompaniesService service) {
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/DeleteCompanyAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/DeleteCompanyAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/DeleteCompanyAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -33,8 +33,10 @@
})
public class DeleteCompanyAction extends WaoJspActionSupport {
- protected CompaniesService service;
+ private static final long serialVersionUID = 1L;
+ protected transient CompaniesService service;
+
protected String companyId;
public void setCompanyId(String companyId) {
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/DeleteWaoUserAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/DeleteWaoUserAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/DeleteWaoUserAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -33,8 +33,10 @@
})
public class DeleteWaoUserAction extends WaoJspActionSupport {
- protected WaoUsersService service;
+ private static final long serialVersionUID = 1L;
+ protected transient WaoUsersService service;
+
protected String waoUserId;
public void setService(WaoUsersService service) {
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/EditCompanyAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/EditCompanyAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/EditCompanyAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -35,8 +35,10 @@
})
public class EditCompanyAction extends WaoJspActionSupport implements Preparable {
- protected CompaniesService service;
+ private static final long serialVersionUID = 1L;
+ protected transient CompaniesService service;
+
protected String companyId;
protected Company company;
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/EditWaoUserAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/EditWaoUserAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/EditWaoUserAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -42,8 +42,10 @@
})
public class EditWaoUserAction extends WaoJspActionSupport implements Preparable {
- protected WaoUsersService service;
+ private static final long serialVersionUID = 1L;
+ protected transient WaoUsersService service;
+
protected Optional<String> optionalWaoUserId = Optional.absent();
protected Optional<String> optionalCompanyId = Optional.absent();
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportBoatGroupsAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportBoatGroupsAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportBoatGroupsAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -28,6 +28,8 @@
public class ImportBoatGroupsAction extends AbstractImportReferentialAction {
+ private static final long serialVersionUID = 1L;
+
@Override
protected void importCsv(InputStream csvInputStream) throws ImportErrorException {
service.importBoatGroups(csvInputStream);
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportBoatsAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportBoatsAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportBoatsAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -28,6 +28,8 @@
public class ImportBoatsAction extends AbstractImportReferentialAction {
+ private static final long serialVersionUID = 1L;
+
@Override
protected void importCsv(InputStream csvInputStream) throws ImportErrorException {
service.importBoats(csvInputStream);
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportContactStateMotivesAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportContactStateMotivesAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportContactStateMotivesAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -28,6 +28,8 @@
public class ImportContactStateMotivesAction extends AbstractImportReferentialAction {
+ private static final long serialVersionUID = 1L;
+
@Override
protected String getSuccessMessage() {
return I18n.t("wao.import.contactStateMotives.success");
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportFishingZonesAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportFishingZonesAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportFishingZonesAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -28,6 +28,8 @@
public class ImportFishingZonesAction extends AbstractImportReferentialAction {
+ private static final long serialVersionUID = 1L;
+
@Override
protected String getSuccessMessage() {
return I18n.t("wao.import.fishingZones.success");
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportObsdebCodesAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportObsdebCodesAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportObsdebCodesAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -28,6 +28,8 @@
public class ImportObsdebCodesAction extends AbstractImportReferentialAction {
+ private static final long serialVersionUID = 1L;
+
@Override
protected String getSuccessMessage() {
return I18n.t("wao.import.obsDebCodes.success");
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportTerrestrialDivisionsAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportTerrestrialDivisionsAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportTerrestrialDivisionsAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -28,6 +28,8 @@
public class ImportTerrestrialDivisionsAction extends AbstractImportReferentialAction {
+ private static final long serialVersionUID = 1L;
+
@Override
protected String getSuccessMessage() {
return I18n.t("wao.import.terrestrialDivisions.success");
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportTerrestrialLocationsAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportTerrestrialLocationsAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ImportTerrestrialLocationsAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -28,6 +28,8 @@
public class ImportTerrestrialLocationsAction extends AbstractImportReferentialAction {
+ private static final long serialVersionUID = 1L;
+
@Override
protected String getSuccessMessage() {
return I18n.t("wao.import.terrestrialLocations.success");
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ReferentialManagementAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ReferentialManagementAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/ReferentialManagementAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -31,8 +31,10 @@
public class ReferentialManagementAction extends WaoJspActionSupport implements Preparable {
- protected ReferentialService referentialService;
+ private static final long serialVersionUID = 1L;
+ protected transient ReferentialService referentialService;
+
protected List<ReferentialState> referentialStates;
public void setReferentialService(ReferentialService referentialService) {
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/WaoUsersAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/WaoUsersAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/WaoUsersAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -33,8 +33,10 @@
public class WaoUsersAction extends WaoJspActionSupport implements Preparable {
- protected WaoUsersService service;
+ private static final long serialVersionUID = 1L;
+ protected transient WaoUsersService service;
+
protected Optional<String> optionalCompanyId = Optional.absent();
protected List<WaoUser> waoUsers;
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/authentication/LoginAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/authentication/LoginAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/authentication/LoginAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -44,8 +44,10 @@
})
public class LoginAction extends WaoJspActionSupport {
- protected WaoUsersService service;
+ private static final long serialVersionUID = 1L;
+ protected transient WaoUsersService service;
+
protected String login;
protected String password;
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/authentication/LogoutAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/authentication/LogoutAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/authentication/LogoutAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -30,6 +30,8 @@
})
public class LogoutAction extends WaoJspActionSupport {
+ private static final long serialVersionUID = 1L;
+
@Override
public String execute() {
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/json/WaoJsonActionSupport.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/json/WaoJsonActionSupport.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/json/WaoJsonActionSupport.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -25,4 +25,6 @@
public class WaoJsonActionSupport extends WaoActionSupport {
+ private static final long serialVersionUID = 1L;
+
}
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/CommentSampleRowAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/CommentSampleRowAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/CommentSampleRowAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -33,8 +33,10 @@
})
public class CommentSampleRowAction extends WaoJspActionSupport {
- protected ObsMerSamplingPlanService service;
+ private static final long serialVersionUID = 1L;
+ protected transient ObsMerSamplingPlanService service;
+
protected String sampleRowId;
protected String comment;
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/DeleteNewsAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/DeleteNewsAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/DeleteNewsAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -31,8 +31,10 @@
})
public class DeleteNewsAction extends WaoJspActionSupport {
- protected NewsService service;
+ private static final long serialVersionUID = 1L;
+ protected transient NewsService service;
+
protected String newsId;
public void setService(NewsService service) {
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/EditNewsAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/EditNewsAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/EditNewsAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -34,8 +34,10 @@
})
public class EditNewsAction extends WaoJspActionSupport implements Preparable {
- protected NewsService service;
+ private static final long serialVersionUID = 1L;
+ protected transient NewsService service;
+
protected String newsId;
protected News news;
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/EditSampleRowAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/EditSampleRowAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/EditSampleRowAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -48,9 +48,11 @@
})
public class EditSampleRowAction extends WaoJspActionSupport implements Preparable {
+ private static final long serialVersionUID = 1L;
+
private static final Log log = LogFactory.getLog(EditSampleRowAction.class);
- protected ObsMerSamplingPlanService service;
+ protected transient ObsMerSamplingPlanService service;
protected Optional<String> optionalSampleRowId = Optional.absent();
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ExportSamplingPlanAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ExportSamplingPlanAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ExportSamplingPlanAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -31,8 +31,10 @@
public class ExportSamplingPlanAction extends AbstractDownloadCsvAction implements Preparable {
- protected ObsMerSamplingPlanService service;
+ private static final long serialVersionUID = 1L;
+ protected transient ObsMerSamplingPlanService service;
+
protected SampleRowsFilter filter;
public void setService(ObsMerSamplingPlanService service) {
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ImportSamplingPlanAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ImportSamplingPlanAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ImportSamplingPlanAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -35,8 +35,10 @@
})
public class ImportSamplingPlanAction extends AbstractImportCsvAction {
- protected ObsMerSamplingPlanService service;
+ private static final long serialVersionUID = 1L;
+ protected transient ObsMerSamplingPlanService service;
+
public void setService(ObsMerSamplingPlanService service) {
this.service = service;
}
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/NewsAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/NewsAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/NewsAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -29,8 +29,10 @@
public class NewsAction extends WaoJspActionSupport {
- protected NewsService service;
+ private static final long serialVersionUID = 1L;
+ protected transient NewsService service;
+
protected List<News> recentNews;
public void setService(NewsService service) {
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SampleRowLogAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SampleRowLogAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SampleRowLogAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -27,8 +27,10 @@
public class SampleRowLogAction extends WaoJspActionSupport {
- protected ObsMerSamplingPlanService service;
+ private static final long serialVersionUID = 1L;
+ protected transient ObsMerSamplingPlanService service;
+
protected String sampleRowId;
protected SampleRow sampleRow;
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SamplingPlanAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SamplingPlanAction.java 2014-03-26 10:26:25 UTC (rev 1755)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SamplingPlanAction.java 2014-03-26 10:27:25 UTC (rev 1756)
@@ -33,7 +33,7 @@
protected transient ObsMerSamplingPlanService service;
- protected transient SampleRowsFilter filter;
+ protected SampleRowsFilter filter;
protected ObsMerSamplingPlan samplingPlan;
1
0
r1755 - trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer
by tchemit@users.forge.codelutin.com 26 Mar '14
by tchemit@users.forge.codelutin.com 26 Mar '14
26 Mar '14
Author: tchemit
Date: 2014-03-26 11:26:25 +0100 (Wed, 26 Mar 2014)
New Revision: 1755
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1755
Log:
fix display-real-tides
Modified:
trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp
Modified: trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp
===================================================================
--- trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp 2014-03-26 09:08:46 UTC (rev 1754)
+++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp 2014-03-26 10:26:25 UTC (rev 1755)
@@ -233,7 +233,7 @@
<s:iterator value="samplingPlan.months" var="month">
<td<s:if test="@fr.ifremer.wao.WaoUtils@isCurrentMonth(#month)"> class="current-month"</s:if>>
<s:property value="%{#samplingPlanRow.getNbTidesExpected(#month)}"/>
- <span class="display-tides-real">
+ <span<s:if test="#samplingPlanRow.hasNbTidesReal(#month) && !#authenticatedWaoUser.guest"> class="display-tides-real"</s:if>>
<em>(<s:property value="%{#samplingPlanRow.getNbTidesReal(#month)}"/>)
</em>
</span>
1
0
r1754 - trunk/wao-persistence/src/main/java/fr/ifremer/wao
by tchemit@users.forge.codelutin.com 26 Mar '14
by tchemit@users.forge.codelutin.com 26 Mar '14
26 Mar '14
Author: tchemit
Date: 2014-03-26 10:08:46 +0100 (Wed, 26 Mar 2014)
New Revision: 1754
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1754
Log:
filter must be serializable + implements equals + hashcode for contactsFilter
Modified:
trunk/wao-persistence/src/main/java/fr/ifremer/wao/ContactsFilter.java
trunk/wao-persistence/src/main/java/fr/ifremer/wao/SampleRowsFilter.java
trunk/wao-persistence/src/main/java/fr/ifremer/wao/WaoUtils.java
Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/ContactsFilter.java
===================================================================
--- trunk/wao-persistence/src/main/java/fr/ifremer/wao/ContactsFilter.java 2014-03-25 18:39:11 UTC (rev 1753)
+++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/ContactsFilter.java 2014-03-26 09:08:46 UTC (rev 1754)
@@ -7,11 +7,15 @@
import fr.ifremer.wao.entity.SamplingStrategy;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import java.io.Serializable;
import java.util.Date;
+import java.util.Objects;
import java.util.Set;
-public class ContactsFilter {
+public class ContactsFilter implements Serializable {
+ private static final long serialVersionUID = 1L;
+
protected SampleRowsFilter sampleRowFilter;
/**
@@ -247,6 +251,66 @@
}
@Override
+ public boolean equals(Object o) {
+
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ ContactsFilter that = (ContactsFilter) o;
+
+ boolean equals = Objects.equals(sampleRowFilter, that.sampleRowFilter)
+ && Objects.equals(periodFrom, that.periodFrom)
+ && Objects.equals(periodTo, that.periodTo)
+ && WaoUtils.isEqualCollection(contactIds, that.contactIds)
+ && WaoUtils.isEqualCollection(contactStates, that.contactStates)
+ && WaoUtils.isEqualCollection(dataReliabilities, that.dataReliabilities)
+ && WaoUtils.isEqualCollection(actualSamplingStrategies, that.actualSamplingStrategies)
+ && WaoUtils.isEqualCollection(observationTypes, that.observationTypes)
+ && WaoUtils.isEqualCollection(observedDataControls, that.observedDataControls)
+ && WaoUtils.isEqualCollection(observerIds, that.observerIds)
+ && WaoUtils.isEqualCollection(terrestrialLocationIds, that.terrestrialLocationIds)
+ && WaoUtils.isEqualCollection(contactStateMotiveIds, that.contactStateMotiveIds)
+ && Objects.equals(mammalsCaptureOnly, that.mammalsCaptureOnly)
+ && Objects.equals(mammalsObservationOnly, that.mammalsObservationOnly)
+ && Objects.equals(commentDefinedOnly, that.commentDefinedOnly)
+ && Objects.equals(commentAdminDefinedOnly, that.commentAdminDefinedOnly)
+ && Objects.equals(commentCompanyDefinedOnly, that.commentCompanyDefinedOnly)
+ && WaoUtils.isEqualCollection(companyAcceptations, that.companyAcceptations)
+ && WaoUtils.isEqualCollection(programAcceptations, that.programAcceptations)
+ && WaoUtils.isEqualCollection(completeSamplings, that.completeSamplings)
+ && Objects.equals(filterOnObservationBeginDate, that.filterOnObservationBeginDate)
+ && Objects.equals(sortedByBoardingDate, that.sortedByBoardingDate);
+ return equals;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = Objects.hashCode(sampleRowFilter);
+ hashCode = 31 * hashCode + Objects.hashCode(periodFrom);
+ hashCode = 31 * hashCode + Objects.hashCode(periodFrom);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(contactIds);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(contactStates);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(dataReliabilities);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(actualSamplingStrategies);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(observationTypes);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(observedDataControls);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(observerIds);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(terrestrialLocationIds);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(contactStateMotiveIds);
+ hashCode = 31 * hashCode + Objects.hashCode(mammalsCaptureOnly);
+ hashCode = 31 * hashCode + Objects.hashCode(mammalsObservationOnly);
+ hashCode = 31 * hashCode + Objects.hashCode(commentDefinedOnly);
+ hashCode = 31 * hashCode + Objects.hashCode(commentAdminDefinedOnly);
+ hashCode = 31 * hashCode + Objects.hashCode(commentCompanyDefinedOnly);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(companyAcceptations);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(programAcceptations);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(completeSamplings);
+ hashCode = 31 * hashCode + Objects.hashCode(filterOnObservationBeginDate);
+ hashCode = 31 * hashCode + Objects.hashCode(sortedByBoardingDate);
+ return hashCode;
+ }
+
+ @Override
public String toString() {
return ReflectionToStringBuilder.reflectionToString(this);
}
Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/SampleRowsFilter.java
===================================================================
--- trunk/wao-persistence/src/main/java/fr/ifremer/wao/SampleRowsFilter.java 2014-03-25 18:39:11 UTC (rev 1753)
+++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/SampleRowsFilter.java 2014-03-26 09:08:46 UTC (rev 1754)
@@ -25,12 +25,15 @@
import fr.ifremer.wao.entity.SamplingStrategy;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import java.io.Serializable;
import java.util.Date;
import java.util.Objects;
import java.util.Set;
-public class SampleRowsFilter {
+public class SampleRowsFilter implements Serializable {
+ private static final long serialVersionUID = 1L;
+
protected ObsProgram obsProgram;
protected Set<String> sampleRowIds;
@@ -209,16 +212,16 @@
@Override
public int hashCode() {
int hashCode = obsProgram.hashCode();
- hashCode = 31 * hashCode + (sampleRowIds == null ? 0 : sampleRowIds.size());
- hashCode = 31 * hashCode + (fishingZoneFacadeNames == null ? 0 : fishingZoneFacadeNames.size());
- hashCode = 31 * hashCode + (fishingZoneSectorNames == null ? 0 : fishingZoneSectorNames.size());
- hashCode = 31 * hashCode + (sampleRowCodes == null ? 0 : sampleRowCodes.size());
- hashCode = 31 * hashCode + (programNames == null ? 0 : programNames.size());
- hashCode = 31 * hashCode + (fishingGearDcfIds == null ? 0 : fishingGearDcfIds.size());
- hashCode = 31 * hashCode + (targetSpeciesDcfIds == null ? 0 : targetSpeciesDcfIds.size());
- hashCode = 31 * hashCode + (samplingStrategies == null ? 0 : samplingStrategies.size());
- hashCode = 31 * hashCode + (terrestrialDistrictIds == null ? 0 : terrestrialDistrictIds.size());
- hashCode = 31 * hashCode + (companyIds == null ? 0 : companyIds.size());
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(sampleRowIds);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(fishingZoneFacadeNames);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(fishingZoneSectorNames);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(sampleRowCodes);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(programNames);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(fishingGearDcfIds);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(targetSpeciesDcfIds);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(samplingStrategies);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(terrestrialDistrictIds);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(companyIds);
return hashCode;
}
Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/WaoUtils.java
===================================================================
--- trunk/wao-persistence/src/main/java/fr/ifremer/wao/WaoUtils.java 2014-03-25 18:39:11 UTC (rev 1753)
+++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/WaoUtils.java 2014-03-26 09:08:46 UTC (rev 1754)
@@ -111,4 +111,7 @@
return isEqualCollection;
}
+ public static int collectionHashcode(Collection<?> a) {
+ return a == null ? 0 : a.size();
+ }
}
1
0
Build failed in Jenkins: wao-nightly » Wao :: Persistence #12
by admin+ci-codelutin.com@codelutin.com 25 Mar '14
by admin+ci-codelutin.com@codelutin.com 25 Mar '14
25 Mar '14
See <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
Changes:
[bleny] refs #4483 reintroduce SampleRowLogImplTest
------------------------------------------
[...truncated 236 lines...]
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] Scan 235 files header done in 262.427ms.
[INFO]
* uptodate header on 36 files.
* add header on 199 files.
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ wao-persistence ---
[INFO] Compiling 202 source files to <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[WARNING] <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>: Some input files use unchecked or unsafe operations.
[WARNING] <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>: Recompile with -Xlint:unchecked for details.
[INFO]
[INFO] --- animal-sniffer-maven-plugin:1.9:check (default) @ wao-persistence ---
[INFO] Checking unresolved references to org.codehaus.mojo.signature:java17:1.0
[INFO]
[INFO] --- jredmine-maven-plugin:1.6:generate-changes (jredmine-generate-changes) @ wao-persistence ---
[INFO] Skipping goal (skipGenerateChanges flag is on).
[INFO]
[INFO] --- maven-antrun-plugin:1.7:run (generate-surefire-workdir) @ wao-persistence ---
[INFO] Executing tasks
main:
[mkdir] Created dir: <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] Executed tasks
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ wao-persistence ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ wao-persistence ---
[INFO] Compiling 1 source file to <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO]
[INFO] --- maven-surefire-plugin:2.16:test (default-test) @ wao-persistence ---
[INFO] Surefire report directory: <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running fr.ifremer.wao.entity.SampleRowLogImplTest
log4j:WARN No appenders could be found for logger (fr.ifremer.wao.entity.SampleRowLogImplTest).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.121 sec - in fr.ifremer.wao.entity.SampleRowLogImplTest
Results :
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
[JENKINS] Recording test results
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ wao-persistence ---
[INFO] Building jar: <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO]
[INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) @ wao-persistence >>>
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (ensure-no-container-api) @ wao-persistence ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ wao-persistence ---
[INFO]
[INFO] --- helper-maven-plugin:2.1:share-server-secret (get-redmine-login) @ wao-persistence ---
[INFO] Skipping goal (runOnce flag is on and goal was already executed).
[INFO]
[INFO] --- eugene-maven-plugin:2.7.3:generate (generate-entities) @ wao-persistence ---
[INFO] Process phase [zargo] for one entry.
[INFO] Expanding 1 xmi file(s) from <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] Copy file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…> to <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] No file generated.
[INFO] Process phase [xmi] for one entry.
[INFO] Processing XSL tranformation on <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…> for 1 file(s).
[INFO] No file generated.
[INFO] Process phase [model] for one entry.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:126) beforeReadFile - No properties provider filled, will instanciate a new default one
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:577) getObjectElements - Invalid tagvalue [fr.ifremer.wao.entity.Boat.attribute.boatDistrict.tagValue.lazy] : Element 'boatDistrict' of type 'attribute' on classifier 'fr.ifremer.wao.entity.Boat' is null.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:577) getObjectElements - Invalid tagvalue [fr.ifremer.wao.entity.WaoUser.attribute.SampleRow.tagValue.inverse] : Element 'SampleRow' of type 'attribute' on classifier 'fr.ifremer.wao.entity.WaoUser' is null.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:459) loadTagValue - Invalid tag value [fr.ifremer.wao.entity.WaoUser.attribute.allegroWallet.tagValue.unique] : this tagvalue 'unique' is unkown.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:294) loadModelTagValue - Invalid model tag value [model.tagValue.copyright] : the tagvalue 'copyright' is unkown.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:294) loadModelTagValue - Invalid model tag value [model.tagValue.exceptionClass] : the tagvalue 'exceptionClass' is unkown.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:294) loadModelTagValue - Invalid model tag value [model.tagValue.java.lang.String] : the tagvalue 'java.lang.String' is unkown.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:303) loadModelTagValue - Invalid model tag value [model.tagValue.useEnumerationName] : this tagvalue 'useEnumerationName' can not be apply on the model.
INFO [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:270) loadModelProperties - 32 tag values were succesfull imported from <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] No file generated.
[INFO] Apply generator TopiaMetaTransformer
WARN [pool-1-thread-1 for channel] (TopiaMetaTransformer.java:110) validateModel - [VALIDATION] [getUserProfile([fr.ifremer.wao.entity.ObsProgram obsProgram<<[]>> tagvalue: {}])<<[]>> throws [] tagvalue: {}] Operation name getUserProfile is already reserved for a getter/setter of an entity attribute
WARN [pool-1-thread-1 for channel] (TopiaMetaTransformer.java:110) validateModel - [VALIDATION] [setDCF5Code([java.lang.String codes<<[]>> tagvalue: {}, java.lang.String separatorRegex<<[]>> tagvalue: {}])<<[]>> throws [] tagvalue: {}] Operation name setDCF5Code is already reserved for a getter/setter of an entity attribute
WARN [pool-1-thread-1 for channel] (TopiaMetaTransformer.java:110) validateModel - [VALIDATION] [getSampleMonth([java.util.Date date<<[]>> tagvalue: {}])<<[]>> throws [] tagvalue: {}] Operation name getSampleMonth is already reserved for a getter/setter of an entity attribute
WARN [pool-1-thread-1 for channel] (TopiaMetaTransformer.java:110) validateModel - [VALIDATION] [setLogText([fr.ifremer.wao.entity.SampleRow oldSampleRow<<[]>> tagvalue: {}, fr.ifremer.wao.entity.SampleRow newSampleRow<<[]>> tagvalue: {}])<<[]>> throws [] tagvalue: {}] Operation name setLogText is already reserved for a getter/setter of an entity attribute
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.WaoUserImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.FishingGearDCFImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.TerrestrialDivisionImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.DCF5CodeImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.SampleRowImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.BoatImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.ContactImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.IndicatorImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.ContactStateMotifImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.TerrestrialLocationImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.BoatGroupImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.CompanyImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.IndicatorLevelImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.FishingZoneImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.SampleMonthImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.FleetImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.UserProfileImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.TargetSpeciesDCFImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.ObsDebCodeImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.SampleRowLogImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.NewsImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.WaoUserTopiaDao], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.TerrestrialDivisionTopiaDao], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.SampleRowTopiaDao], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.TerrestrialLocationTopiaDao], already found in class-path.
[WARNING] Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo
[INFO]
[INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) @ wao-persistence <<<
[INFO]
[INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ wao-persistence ---
[INFO] Building jar: <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO]
[INFO] --- maven-javadoc-plugin:2.9.1:jar (attach-javadocs) @ wao-persistence ---
[INFO] Building jar: <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO]
[INFO] --- maven-site-plugin:3.3:attach-descriptor (attach-descriptor) @ wao-persistence ---
[INFO]
[INFO] --- helper-maven-plugin:2.1:share-server-secret (get-pgp-passphrase) @ wao-persistence ---
[INFO] Exporting server [gpg-signer] username in ${gpg.keyname}
[INFO] Exporting server [gpg-signer] password in ${gpg.passphrase}
[INFO]
[INFO] --- helper-maven-plugin:2.1:collect-files (collect-build-artifacts) @ wao-persistence ---
[INFO] Loaded /var/local/forge/data/codelutin.com/jenkins/workspace/wao-nightly/trunk/target/collect-artifacts.txt
[INFO] Copying wao-persistence-4.0-SNAPSHOT.jar to /var/local/forge/data/codelutin.com/jenkins/workspace/wao-nightly/trunk/target/collect/fr.ifremer--wao-persistence/wao-persistence-4.0-SNAPSHOT.jar
[INFO] Copying THIRD-PARTY.properties to /var/local/forge/data/codelutin.com/jenkins/workspace/wao-nightly/trunk/target/collect/fr.ifremer--wao-persistence/THIRD-PARTY.properties
[INFO] Copying wao-persistence-4.0-SNAPSHOT-sources.jar to /var/local/forge/data/codelutin.com/jenkins/workspace/wao-nightly/trunk/target/collect/fr.ifremer--wao-persistence/wao-persistence-4.0-SNAPSHOT-sources.jar
[INFO] Copying wao-persistence-4.0-SNAPSHOT-javadoc.jar to /var/local/forge/data/codelutin.com/jenkins/workspace/wao-nightly/trunk/target/collect/fr.ifremer--wao-persistence/wao-persistence-4.0-SNAPSHOT-javadoc.jar
[INFO]
[INFO] --- helper-maven-plugin:2.1:collect-files (collect-build-attachements) @ wao-persistence ---
[WARNING] Skipping goal (No file to collect).
[INFO]
[INFO] --- maven-gpg-plugin:1.4:sign (sign-artifacts) @ wao-persistence ---
[INFO]
[INFO] --- maven-dependency-plugin:2.8:analyze-only (analyze) @ wao-persistence ---
[INFO] Used declared dependencies found:
[INFO] org.nuiton.topia:topia-persistence:jar:3.0-SNAPSHOT:compile
[INFO] org.nuiton:nuiton-config:jar:3.0-alpha-1:compile
[INFO] org.nuiton.i18n:nuiton-i18n:jar:3.0:compile
[INFO] org.apache.commons:commons-lang3:jar:3.1:compile
[INFO] commons-logging:commons-logging:jar:1.1.3:compile
[INFO] com.google.guava:guava:jar:15.0:compile
[INFO] junit:junit:jar:4.11:test
[WARNING] Used undeclared dependencies found:
[WARNING] org.hibernate:hibernate-core:jar:4.2.8.Final:compile
[WARNING] org.nuiton:nuiton-utils:jar:3.0-SNAPSHOT:compile
[WARNING] commons-collections:commons-collections:jar:3.2.1:compile
[WARNING] Unused declared dependencies found:
[WARNING] org.apache.commons:commons-collections4:jar:4.0:compile
[JENKINS] Archiving disabled
1
5
r1753 - in trunk: wao-persistence/src/main/java/fr/ifremer/wao wao-services/src/main/java/fr/ifremer/wao/services/service wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer wao-web/src/main/resources/i18n wao-web/src/main/webapp/WEB-INF/content/obsmer
by tchemit@users.forge.codelutin.com 25 Mar '14
by tchemit@users.forge.codelutin.com 25 Mar '14
25 Mar '14
Author: tchemit
Date: 2014-03-25 19:39:11 +0100 (Tue, 25 Mar 2014)
New Revision: 1753
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1753
Log:
refs-40 #4483 (continue ui)
Modified:
trunk/wao-persistence/src/main/java/fr/ifremer/wao/SampleRowsFilter.java
trunk/wao-persistence/src/main/java/fr/ifremer/wao/WaoUtils.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlan.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanBuilder.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanService.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleRowsFilterValues.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SamplingPlanAction.java
trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties
trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties
trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp
Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/SampleRowsFilter.java
===================================================================
--- trunk/wao-persistence/src/main/java/fr/ifremer/wao/SampleRowsFilter.java 2014-03-25 17:50:13 UTC (rev 1752)
+++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/SampleRowsFilter.java 2014-03-25 18:39:11 UTC (rev 1753)
@@ -67,9 +67,6 @@
protected Set<String> orderByArguments;
- //FIXME Remove this
- protected boolean estimatedTides;
-
public ObsProgram getObsProgram() {
return obsProgram;
}
@@ -174,14 +171,6 @@
this.orderByArguments = orderByArguments;
}
- public boolean isEstimatedTides() {
- return estimatedTides;
- }
-
- public void setEstimatedTides(boolean estimatedTides) {
- this.estimatedTides = estimatedTides;
- }
-
public Set<String> getSampleRowIds() {
return sampleRowIds;
}
Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/WaoUtils.java
===================================================================
--- trunk/wao-persistence/src/main/java/fr/ifremer/wao/WaoUtils.java 2014-03-25 17:50:13 UTC (rev 1752)
+++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/WaoUtils.java 2014-03-25 18:39:11 UTC (rev 1753)
@@ -81,6 +81,14 @@
return ordinals;
}
+ protected static final SimpleDateFormat dateFormat = new SimpleDateFormat("MM/yyyy");
+
+ public static boolean isCurrentMonth(Date month) {
+ String currentStr = dateFormat.format(new Date());
+ String monthStr = dateFormat.format(month);
+ return currentStr.equals(monthStr);
+ }
+
/**
* Wrapper on {@link org.apache.commons.collections4.CollectionUtils#isEqualCollection(java.util.Collection, java.util.Collection)}
* that handles null values.
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlan.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlan.java 2014-03-25 17:50:13 UTC (rev 1752)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlan.java 2014-03-25 18:39:11 UTC (rev 1753)
@@ -21,13 +21,13 @@
* #L%
*/
+import fr.ifremer.wao.WaoUtils;
import fr.ifremer.wao.entity.FishingZone;
import fr.ifremer.wao.entity.SampleMonth;
import fr.ifremer.wao.entity.SampleRow;
import java.io.Serializable;
import java.text.NumberFormat;
-import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
@@ -42,7 +42,7 @@
/**
* All facades of the sampling plan.
*/
- protected List<ObsMerSamplingPlanFacadePart> facades;
+ protected Collection<ObsMerSamplingPlanFacadePart> facades;
/**
* Statistics over the plan by month.
@@ -93,7 +93,7 @@
protected SampleRowsFilterValues filterValues;
public ObsMerSamplingPlan(List<Date> months,
- List<ObsMerSamplingPlanFacadePart> facadeParts,
+ Collection<ObsMerSamplingPlanFacadePart> facadeParts,
Map<Date, ObsMerSamplingPlanStatistics> statisticsMap,
Integer highTotalExpected,
Integer highTotalReal,
@@ -228,7 +228,6 @@
public Iterator<ObsMerSamplingPlanSectorPart> iterator() {
return sectors.iterator();
}
-
}
/**
@@ -258,7 +257,7 @@
}
}
- protected static final SimpleDateFormat dateFormat = new SimpleDateFormat("MM/yyyy");
+// protected static final SimpleDateFormat dateFormat = new SimpleDateFormat("MM/yyyy");
/**
* Created on 3/24/14.
@@ -372,21 +371,15 @@
public boolean hasNbTidesReal(Date month) {
Date current = new Date();
- boolean validMonth = month.before(current) || isCurrentMonth(month);
+ boolean validMonth = month.before(current) || WaoUtils.isCurrentMonth(month);
return validMonth && getNbTidesReal(month) != null;
}
public boolean hasNbTidesEstimated(Date month) {
Date current = new Date();
- boolean validMonth = month.before(current) || isCurrentMonth(month);
+ boolean validMonth = month.before(current) || WaoUtils.isCurrentMonth(month);
return validMonth && getNbTidesEstimated(month) != null;
}
-
- public boolean isCurrentMonth(Date month) {
- String currentStr = dateFormat.format(new Date());
- String monthStr = dateFormat.format(month);
- return currentStr.equals(monthStr);
- }
}
public static class ObsMerSamplingPlanStatistics implements Serializable {
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanBuilder.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanBuilder.java 2014-03-25 17:50:13 UTC (rev 1752)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanBuilder.java 2014-03-25 18:39:11 UTC (rev 1753)
@@ -21,6 +21,8 @@
* #L%
*/
+import com.google.common.base.Function;
+import com.google.common.collect.Ordering;
import fr.ifremer.wao.SampleRowsFilter;
import fr.ifremer.wao.entity.SampleRow;
import org.apache.commons.lang3.mutable.MutableDouble;
@@ -28,9 +30,9 @@
import org.apache.commons.lang3.mutable.MutableLong;
import org.nuiton.util.PeriodDates;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.Date;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
@@ -64,7 +66,7 @@
/**
* Dictionnary of facades indexed by their facade name.
*/
- protected LinkedHashMap<String, FacadeContext> facadeMap;
+ protected Map<String, FacadeContext> facadeMap;
/**
* To compute the high total expected.
@@ -132,7 +134,7 @@
public ObsMerSamplingPlanBuilder(SampleRowsFilter sampleRowsFilter) {
this.sampleRowsFilter = sampleRowsFilter;
this.sampleRowsFilterValues = new SampleRowsFilterValues();
- this.facadeMap = new LinkedHashMap<>();
+ this.facadeMap = new TreeMap<>();
this.highTotalExpected = new MutableInt();
this.highTotalReal = new MutableInt();
this.highTotalEstimated = new MutableInt();
@@ -190,18 +192,27 @@
public ObsMerSamplingPlan toPlan() {
- LinkedList<ObsMerSamplingPlan.ObsMerSamplingPlanFacadePart> facadeParts = new LinkedList<>();
+ // Get facade parts
+ Collection<ObsMerSamplingPlan.ObsMerSamplingPlanFacadePart> facadeParts = new ArrayList<>();
for (FacadeContext facadeContext : facadeMap.values()) {
ObsMerSamplingPlan.ObsMerSamplingPlanFacadePart facadePart = facadeContext.toBean();
facadeParts.add(facadePart);
}
- TreeMap<Date, ObsMerSamplingPlan.ObsMerSamplingPlanStatistics> statisticsMap = new TreeMap<>();
+ // Sort them
+ Collection<ObsMerSamplingPlan.ObsMerSamplingPlanFacadePart> sortedFacades = Ordering.natural().onResultOf(new Function<ObsMerSamplingPlan.ObsMerSamplingPlanFacadePart, String>() {
+ public String apply(ObsMerSamplingPlan.ObsMerSamplingPlanFacadePart input) {
+ return input.getFacade();
+ }
+ }).immutableSortedCopy(facadeParts);
+
+ // Get statistics
+ Map<Date, ObsMerSamplingPlan.ObsMerSamplingPlanStatistics> statisticsMap = new TreeMap<>();
for (Date month : months) {
MutableInt totalExpected = totalExpectedForMonths.get(month);
MutableInt totalReal = totalRealForMonths.get(month);
- MutableInt totalEstimated= totalEstimatedForMonths.get(month);
+ MutableInt totalEstimated = totalEstimatedForMonths.get(month);
ObsMerSamplingPlan.ObsMerSamplingPlanStatistics planStatistics =
new ObsMerSamplingPlan.ObsMerSamplingPlanStatistics(totalExpected == null ? null : totalExpected.toInteger(),
totalReal == null ? null : totalReal.toInteger(),
@@ -210,7 +221,7 @@
}
ObsMerSamplingPlan result = new ObsMerSamplingPlan(months,
- facadeParts,
+ sortedFacades,
statisticsMap,
highTotalExpected.toInteger(),
highTotalReal.toInteger(),
@@ -242,7 +253,7 @@
if (estimated != null) {
- MutableInt total = totalEstimatedForMonths.get(month);
+ MutableInt total = totalEstimatedForMonths.get(month);
if (total == null) {
total = new MutableInt();
totalEstimatedForMonths.put(month, total);
@@ -267,11 +278,11 @@
protected String facade;
- protected LinkedHashMap<String, ServiceContext> sectorMap;
+ protected Map<String, ServiceContext> sectorMap;
protected FacadeContext(String facade) {
this.facade = facade;
- this.sectorMap = new LinkedHashMap<>();
+ this.sectorMap = new TreeMap<>();
}
protected ServiceContext getOrAddSectorContext(String sectors) {
@@ -287,13 +298,20 @@
protected ObsMerSamplingPlan.ObsMerSamplingPlanFacadePart toBean() {
- LinkedList<ObsMerSamplingPlan.ObsMerSamplingPlanSectorPart> sectorParts = new LinkedList<>();
+ // get sector parts
+ Collection<ObsMerSamplingPlan.ObsMerSamplingPlanSectorPart> sectorParts = new ArrayList<>();
for (ServiceContext serviceContext : sectorMap.values()) {
ObsMerSamplingPlan.ObsMerSamplingPlanSectorPart sectorPart = serviceContext.toBean();
sectorParts.add(sectorPart);
}
+ // sort them
+ Collection<ObsMerSamplingPlan.ObsMerSamplingPlanSectorPart> sortedSectors = Ordering.natural().onResultOf(new Function<ObsMerSamplingPlan.ObsMerSamplingPlanSectorPart, String>() {
+ public String apply(ObsMerSamplingPlan.ObsMerSamplingPlanSectorPart input) {
+ return input.getSectors();
+ }
+ }).immutableSortedCopy(sectorParts);
ObsMerSamplingPlan.ObsMerSamplingPlanFacadePart result =
- new ObsMerSamplingPlan.ObsMerSamplingPlanFacadePart(facade, sectorParts);
+ new ObsMerSamplingPlan.ObsMerSamplingPlanFacadePart(facade, sortedSectors);
return result;
}
}
@@ -302,11 +320,11 @@
protected String sectors;
- protected LinkedList<ObsMerSamplingPlan.ObsMerSamplingPlanSampleRowPart> rows;
+ protected Collection<ObsMerSamplingPlan.ObsMerSamplingPlanSampleRowPart> rows;
protected ServiceContext(String sectors) {
this.sectors = sectors;
- rows = new LinkedList<>();
+ rows = new ArrayList<>();
}
protected ObsMerSamplingPlan.ObsMerSamplingPlanSampleRowPart addSampleRow(SampleRow row,
@@ -326,8 +344,13 @@
protected ObsMerSamplingPlan.ObsMerSamplingPlanSectorPart toBean() {
+ Collection<ObsMerSamplingPlan.ObsMerSamplingPlanSampleRowPart> sortedRows = Ordering.natural().onResultOf(new Function<ObsMerSamplingPlan.ObsMerSamplingPlanSampleRowPart, String>() {
+ public String apply(ObsMerSamplingPlan.ObsMerSamplingPlanSampleRowPart input) {
+ return input.getSampleRow().getCode();
+ }
+ }).immutableSortedCopy(rows);
ObsMerSamplingPlan.ObsMerSamplingPlanSectorPart result =
- new ObsMerSamplingPlan.ObsMerSamplingPlanSectorPart(sectors, rows);
+ new ObsMerSamplingPlan.ObsMerSamplingPlanSectorPart(sectors, sortedRows);
return result;
}
}
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanService.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanService.java 2014-03-25 17:50:13 UTC (rev 1752)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanService.java 2014-03-25 18:39:11 UTC (rev 1753)
@@ -28,12 +28,15 @@
import com.google.common.collect.Iterables;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
+import fr.ifremer.wao.ContactsFilter;
import fr.ifremer.wao.SampleRowsFilter;
import fr.ifremer.wao.WaoTechnicalException;
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.Boats;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.CompanyTopiaDao;
+import fr.ifremer.wao.entity.Contact;
+import fr.ifremer.wao.entity.ContactState;
import fr.ifremer.wao.entity.DCF5Code;
import fr.ifremer.wao.entity.ElligibleBoat;
import fr.ifremer.wao.entity.ElligibleBoatImpl;
@@ -64,6 +67,7 @@
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
+import org.apache.commons.lang3.tuple.Pair;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.csv.Export;
@@ -79,6 +83,7 @@
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Calendar;
+import java.util.Collection;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashSet;
@@ -373,10 +378,10 @@
List<SampleRow> sampleRows = dao.findAll(sampleRowsFilter);
ObsMerSamplingPlanBuilder builder = new ObsMerSamplingPlanBuilder(sampleRowsFilter);
for (SampleRow sampleRow : sampleRows) {
- //TODO Compute see ServiceSamplingImpl#executeGetObservationTimesInDays
- Double observationTimesInDaysExpected = 0d;
- Long observationTimesInDaysReal = 0l;
- Long observationTimesInDaysEstimated = 0l;
+ Double observationTimesInDaysExpected = getObservationTimesInDayExpected(sampleRow);
+ Pair<Long, Long> realAndEstimated = getObservationTimesInDayRealAndEstimated(sampleRowsFilter, sampleRow);
+ Long observationTimesInDaysReal = realAndEstimated.getLeft();
+ Long observationTimesInDaysEstimated = realAndEstimated.getRight();
builder.addSampleRow(sampleRow,
observationTimesInDaysExpected,
observationTimesInDaysReal,
@@ -562,4 +567,70 @@
}
+ protected double getObservationTimesInDayExpected(SampleRow sampleRow) {
+ double expected;
+
+ // On prend le nombre d'observation prévue pour cette ligne du plan
+ // c'est à dire la somme des nombres d'observations prévues pour
+ // chaque mois.
+ int expectedObservationCount = 0;
+ for (SampleMonth sampleMonth : sampleRow.getSampleMonth()) {
+ expectedObservationCount += sampleMonth.getExpectedTidesValue();
+ }
+ // le prévisionnel est égal au nombre d'observations attendues ×
+ // le nombre de jours moyen d'une observation
+ expected = expectedObservationCount * sampleRow.getAverageTideTime();
+ return expected;
+ }
+
+ protected Pair<Long, Long> getObservationTimesInDayRealAndEstimated(SampleRowsFilter sampleRowFilter,
+ SampleRow sampleRow) {
+
+ // D'abord, on a besoin de récupérer toutes les observations réalisées
+ // pour cette ligne du plan
+
+ ContactsFilter contactFilter = new ContactsFilter();
+
+ sampleRowFilter.setSampleRowIds(ImmutableSet.of(sampleRow.getTopiaId()));
+ contactFilter.setFilterOnObservationBeginDate(true);
+ contactFilter.setPeriodFrom(sampleRowFilter.getPeriodFrom());
+ contactFilter.setPeriodTo(sampleRowFilter.getPeriodTo());
+
+ contactFilter.setSampleRowFilter(sampleRowFilter);
+ contactFilter.setContactStates(ImmutableSet.of(ContactState.OBSERVATION_DONE));
+ // on exclue les contacts qui sont invalidés par le programme
+ contactFilter.setProgramAcceptations(Sets.newHashSet(true, null));
+ // on exclue les contacts invalidés par la société
+ contactFilter.setCompanyAcceptations(Sets.newHashSet(true, null));
+
+ Collection<Contact> contacts = getContactDao().findAll(contactFilter);
+
+ final double minutesPerDay = 24 * 60;
+ // Pour calculer le temps passé, on prend pour chaque observation
+ // le temps qui a vraiment été passé en mer.
+
+ // temps de mer réalisé par ligne du plan = somme [arrondi-supérieur (nb d'heures total de la marée/ 24)]
+ long real = 0;
+ long estimated = 0;
+ for (Contact contact : contacts) {
+ double actualInMinutes = DateUtil.getDifferenceInMinutes(
+ contact.getObservationBeginDate(),
+ contact.getObservationEndDate());
+ Boolean validationCompany = contact.getValidationCompany();
+
+ double contactInDays = Math.ceil(actualInMinutes / minutesPerDay);
+
+ if (validationCompany != null) {
+ // real observation
+ real += contactInDays;
+ }
+ // estimated observation
+ estimated += contactInDays;
+ }
+
+ sampleRowFilter.setSampleRowIds(null);
+
+ return Pair.of(real, estimated);
+ }
+
}
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleRowsFilterValues.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleRowsFilterValues.java 2014-03-25 17:50:13 UTC (rev 1752)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleRowsFilterValues.java 2014-03-25 18:39:11 UTC (rev 1753)
@@ -17,6 +17,8 @@
*/
public class SampleRowsFilterValues implements Serializable {
+ private static final long serialVersionUID = 1L;
+
protected Set<String> fishingZoneFacadeNames = new HashSet<>();
protected Set<String> fishingZoneSectorNames = new HashSet<>();
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SamplingPlanAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SamplingPlanAction.java 2014-03-25 17:50:13 UTC (rev 1752)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SamplingPlanAction.java 2014-03-25 18:39:11 UTC (rev 1753)
@@ -29,10 +29,12 @@
public class SamplingPlanAction extends WaoJspActionSupport implements Preparable {
- protected ObsMerSamplingPlanService service;
+ private static final long serialVersionUID = 1L;
- protected SampleRowsFilter filter;
+ protected transient ObsMerSamplingPlanService service;
+ protected transient SampleRowsFilter filter;
+
protected ObsMerSamplingPlan samplingPlan;
public void setService(ObsMerSamplingPlanService service) {
Modified: trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties
===================================================================
--- trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties 2014-03-25 17:50:13 UTC (rev 1752)
+++ trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties 2014-03-25 18:39:11 UTC (rev 1753)
@@ -329,6 +329,7 @@
wao.ui.misc.companies=Companies
wao.ui.misc.createdOnF=Created on
wao.ui.misc.creating=Creating...
+wao.ui.misc.day=d.
wao.ui.misc.dayOfWeek=Day
wao.ui.misc.export=Export
wao.ui.misc.export.longTitle=CSV export
@@ -355,6 +356,7 @@
wao.ui.misc.refused=Refused
wao.ui.misc.since=since
wao.ui.misc.total=Total
+wao.ui.misc.totals=Totals
wao.ui.misc.undefined=Undefined
wao.ui.misc.validated=Validated
wao.ui.misc.week=Week
Modified: trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties
===================================================================
--- trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties 2014-03-25 17:50:13 UTC (rev 1752)
+++ trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties 2014-03-25 18:39:11 UTC (rev 1753)
@@ -329,6 +329,7 @@
wao.ui.misc.companies=Sociétés
wao.ui.misc.createdOnF=Créée le
wao.ui.misc.creating=En cours de création
+wao.ui.misc.day=j.
wao.ui.misc.dayOfWeek=Jour
wao.ui.misc.export=Export
wao.ui.misc.export.longTitle=Export CSV
@@ -355,6 +356,7 @@
wao.ui.misc.refused=Réfusé
wao.ui.misc.since=depuis le
wao.ui.misc.total=Total
+wao.ui.misc.totals=Totaux
wao.ui.misc.undefined=Non-défini
wao.ui.misc.validated=Validé
wao.ui.misc.week=Semaine
Modified: trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp
===================================================================
--- trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp 2014-03-25 17:50:13 UTC (rev 1752)
+++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp 2014-03-25 18:39:11 UTC (rev 1753)
@@ -27,6 +27,12 @@
<title>
<s:text name="wao.ui.page.SamplingPlan.title" />
</title>
+
+ <style>
+ .currentMonth{
+ background-color: yellow;
+ }
+ </style>
</head>
<h1>
@@ -137,19 +143,19 @@
<td><s:text name="wao.ui.field.SampleRow.code"/></td>
<td><s:text name="wao.ui.samplingPlan.program"/></td>
<s:if test="fullView">
- <td><s:text name="wao.ui.entity.Company"/></td>
+ <td class="only-visible-fullview"><s:text name="wao.ui.entity.Company"/></td>
</s:if>
<td><s:text name="wao.ui.entity.FishingZone"/></td>
<s:if test="fullView">
- <td><s:text name="wao.ui.samplingPlan.fishingZoneInfo"/></td>
- <td><s:text name="wao.ui.misc.METIER"/> <br/> <s:text name="wao.ui.field.SampleRow.dCF5Code"/></td>
- <td><s:text name="wao.ui.misc.METIER"/> <br/> <s:text name="wao.ui.field.SampleRow.meshSize"/></td>
- <td><s:text name="wao.ui.misc.METIER"/> <br/> <s:text name="wao.ui.field.SampleRow.size"/></td>
- <td><s:text name="wao.ui.misc.METIER"/> <br/> <s:text name="wao.ui.field.SampleRow.other"/></td>
- <td><s:text name="wao.ui.misc.METIER"/> <br/> <s:text name="wao.ui.field.SampleRow.libelle"/></td>
- <td><s:text name="wao.ui.misc.METIER"/> <br/> <s:text name="wao.ui.field.SampleRow.species"/></td>
- <td><s:text name="wao.ui.field.SampleRow.periodBegin"/></td>
- <td><s:text name="wao.ui.field.SampleRow.periodEnd"/></td>
+ <td class="only-visible-fullview"><s:text name="wao.ui.samplingPlan.fishingZoneInfo"/></td>
+ <td class="only-visible-fullview"><s:text name="wao.ui.misc.METIER"/> <br/> <s:text name="wao.ui.field.SampleRow.dCF5Code"/></td>
+ <td class="only-visible-fullview"><s:text name="wao.ui.misc.METIER"/> <br/> <s:text name="wao.ui.field.SampleRow.meshSize"/></td>
+ <td class="only-visible-fullview"><s:text name="wao.ui.misc.METIER"/> <br/> <s:text name="wao.ui.field.SampleRow.size"/></td>
+ <td class="only-visible-fullview"><s:text name="wao.ui.misc.METIER"/> <br/> <s:text name="wao.ui.field.SampleRow.other"/></td>
+ <td class="only-visible-fullview"><s:text name="wao.ui.misc.METIER"/> <br/> <s:text name="wao.ui.field.SampleRow.libelle"/></td>
+ <td class="only-visible-fullview"><s:text name="wao.ui.misc.METIER"/> <br/> <s:text name="wao.ui.field.SampleRow.species"/></td>
+ <td class="only-visible-fullview"><s:text name="wao.ui.field.SampleRow.periodBegin"/></td>
+ <td class="only-visible-fullview"><s:text name="wao.ui.field.SampleRow.periodEnd"/></td>
</s:if>
<s:else>
<td><s:text name="wao.ui.misc.METIER"/> <br/> <s:text name="wao.ui.field.SampleRow.dCF5Code"/></td>
@@ -158,7 +164,7 @@
<!-- Months columns -->
<s:iterator value="samplingPlan.months" var="month">
- <td><s:property value="%{formatMonth(#month)}"/></td>
+ <td<s:if test="@fr.ifremer.wao.WaoUtils@isCurrentMonth(#month)"> class="current-month"</s:if>><s:property value="%{formatMonth(#month)}"/></td>
</s:iterator>
<td><s:text name="wao.ui.misc.total"/></td>
<!-- Other columns -->
@@ -175,55 +181,45 @@
</thead>
<tbody>
- <s:if test="fullView">
- </s:if>
- <s:else>
- </s:else>
-
<%--Iterate on Facades--%>
<s:iterator value="samplingPlan" var="samplingPlanFacade">
<tr>
- <td colspan="${nbColumnsTotal}">FACADE <s:property value="%{#samplingPlanFacade.facade}"/></td>
+ <td colspan="${nbColumnsTotal}" class="facade"><s:property value="%{#samplingPlanFacade.facade}"/></td>
</tr>
<%--Iterate on Sectors --%>
<s:iterator value="samplingPlanFacade" var="samplingPlanSector">
<tr>
- <td colspan="${nbColumnsTotal}">SECTOR <s:property value="%{#samplingPlanSector.sectors}"/></td>
+ <td colspan="${nbColumnsTotal}" class="sector"><s:property value="%{#samplingPlanSector.sectors}"/></td>
</tr>
<%--Iterate on SampleRows --%>
<s:iterator value="samplingPlanSector" var="samplingPlanRow">
<s:set var="sampleRow" value="%{#samplingPlanRow.sampleRow}"/>
<tr<s:if test="sampleRowToHighlightId.equals(#sampleRow.topiaId)"> class="highlight"</s:if>>
<th>
- <s:url action="edit-sample-row!input" id="changePeriodUrl">
- <s:param name="sampleRowId" value="sampleRow.topiaId" />
- </s:url>
- <s:a class="btn" href="%{changePeriodUrl}" title="Changer les dates de la période par rapport à celles de la ligne">
- <s:property value="#sampleRow.code" />
- </s:a>
+ <s:property value="#sampleRow.code" />
</th>
<td><s:property value="#sampleRow.programName" /></td>
<s:if test="fullView">
- <td>CompanyName</td>
- <td><s:property value="#samplingPlanRow.fishingZones" /></td>
- <td><s:property value="#sampleRow.fishingZonesInfos" /></td>
- <td>
+ <td class="only-visible-fullview"><s:property value="#sampleRow.company.name" /></td>
+ <td class="only-visible-fullview"><s:property value="#samplingPlanRow.fishingZones" /></td>
+ <td class="only-visible-fullview"><s:property value="#sampleRow.fishingZonesInfos" /></td>
+ <td class="only-visible-fullview">
<s:iterator value="sampleRow.dcf5code" var="dcf5code">
<span>
<s:property />
</span>
</s:iterator>
</td>
- <td><s:property value="#sampleRow.profession.meshSize" /></td>
- <td><s:property value="#sampleRow.profession.size" /></td>
- <td><s:property value="#sampleRow.profession.other" /></td>
- <td><s:property value="#sampleRow.profession.libelle" /></td>
- <td><s:property value="#sampleRow.profession.species" /></td>
- <td><s:property value="%{formatMonth(#sampleRow.periodBegin)}" /></td>
- <td><s:property value="%{formatMonth(#sampleRow.periodEnd)}" /></td>
+ <td class="only-visible-fullview"><s:property value="#sampleRow.profession.meshSize" /></td>
+ <td class="only-visible-fullview"><s:property value="#sampleRow.profession.size" /></td>
+ <td class="only-visible-fullview"><s:property value="#sampleRow.profession.other" /></td>
+ <td class="only-visible-fullview"><s:property value="#sampleRow.profession.libelle" /></td>
+ <td class="only-visible-fullview"><s:property value="#sampleRow.profession.species" /></td>
+ <td class="only-visible-fullview"><s:property value="%{formatMonth(#sampleRow.periodBegin)}" /></td>
+ <td class="only-visible-fullview"><s:property value="%{formatMonth(#sampleRow.periodEnd)}" /></td>
</s:if>
<s:else>
- <td>FishingZones</td>
+ <td><s:property value="#samplingPlanRow.fishingZones" /></td>
<td>
<s:iterator value="sampleRow.dcf5code" var="dcf5code">
<span>
@@ -235,14 +231,12 @@
</s:else>
<!-- Months columns -->
<s:iterator value="samplingPlan.months" var="month">
- <td>
+ <td<s:if test="@fr.ifremer.wao.WaoUtils@isCurrentMonth(#month)"> class="current-month"</s:if>>
<s:property value="%{#samplingPlanRow.getNbTidesExpected(#month)}"/>
- <s:if test="displayTidesReal">
- <span>
- <em>(<s:property value="%{#samplingPlanRow.getNbTidesReal(#month)}"/>)
- </em>
- </span>
- </s:if>
+ <span class="display-tides-real">
+ <em>(<s:property value="%{#samplingPlanRow.getNbTidesReal(#month)}"/>)
+ </em>
+ </span>
</td>
</s:iterator>
<td>
@@ -256,9 +250,9 @@
</span>
</td>
<td>
- <s:property value="#samplingPlanRow.observationTimesInDaysExpected" /> j.
+ <s:property value="#samplingPlanRow.observationTimesInDaysExpected" /> <s:text name="wao.ui.misc.day"/>
<span>
- <em>(<s:property value="#samplingPlanRow.observationTimesInDaysReal" /> j.)</em>
+ <em>(<s:property value="#samplingPlanRow.observationTimesInDaysReal" /> <s:text name="wao.ui.misc.day"/>)</em>
</span>
</td>
<td><s:property value="#sampleRow.averageTideTime" /></td>
@@ -342,7 +336,36 @@
</todby>
<tfoot>
-
+ <td colspan="${nbColumnsForProfession}">
+ <s:text name="wao.ui.misc.totals" />
+ </td>
+ <!-- Months columns -->
+ <s:iterator value="samplingPlan.months" var="month">
+ <td<s:if test="@fr.ifremer.wao.WaoUtils@isCurrentMonth(#month)"> class="current-month"</s:if>>
+ <s:property value="samplingPlan.getTotalExpectedForMonth(#month)"/>
+ <span class="display-tides-real">
+ <span>
+ <em>(<s:property value="samplingPlan.getTotalRealForMonth(#month)"/>)</em>
+ </span>
+ <br/>
+ <s:property value="samplingPlan.getRatioForMonth(#month)"/>
+ </span>
+ </td>
+ </s:iterator>
+ <td>
+ <s:property value="#samplingPlan.highTotalExpected" />
+ <s:if test="!authenticatedWaoUser.guest">
+ <em>(<s:property value="samplingPlan.highTotalReal" />)</em>
+ <strong><s:property value="samplingPlan.highTotalRatio" /></strong>
+ </s:if>
+ </td>
+ <td>
+ <s:property value="samplingPlan.observationTimesInDaysTotalExpected" /> <s:text name="wao.ui.misc.day"/>
+ <span>
+ <em>(<s:property value="samplingPlan.observationTimesInDaysTotalReal"/> <s:text name="wao.ui.misc.day"/>)</em>
+ </span>
+ </td>
+ <td colspan="${nbColumnsForOther}"> </td>
</tfoot>
</table>
1
0
Jenkins build became unstable: wao-ci » Wao :: Services #48
by admin+ci-codelutin.com@codelutin.com 25 Mar '14
by admin+ci-codelutin.com@codelutin.com 25 Mar '14
25 Mar '14
25 Mar '14
25 Mar '14
Author: bleny
Date: 2014-03-25 18:50:13 +0100 (Tue, 25 Mar 2014)
New Revision: 1752
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1752
Log:
fix test by fixing imported sampling plan
Modified:
trunk/wao-services/src/test/resources/import/echantillonnage.csv
Modified: trunk/wao-services/src/test/resources/import/echantillonnage.csv
===================================================================
--- trunk/wao-services/src/test/resources/import/echantillonnage.csv 2014-03-25 17:42:12 UTC (rev 1751)
+++ trunk/wao-services/src/test/resources/import/echantillonnage.csv 2014-03-25 17:50:13 UTC (rev 1752)
@@ -1,14 +1,14 @@
"PLAN_CODE";"SOCIETE_NOM";"PECHE_DIVISION";"PECHE_AUTRE";"METIER_CODE_DCF5";"METIER_MAILLAGE";"METIER_TAILLE";"METIER_AUTRE";"METIER_LIBELLE";"METIER_ESPECES";"PROGRAMME_CODE";"PROGRAMME_DEBUT";"PROGRAMME_FIN";"12/2009";"01/2010";"02/2010";"03/2010";"04/2010";"05/2010";"06/2010";"07/2010";"08/2010";"09/2010";"10/2010";"11/2010";"12/2010";"01/2011";"02/2011";"03/2011";"PLAN_DUREE_MOY";"PLAN_NB_OBSERV";"PLAN_COMMENT";"TAUX_COUVERTURE_APPLIQUE"
"2010_M0001";"Ifremer";"IId,I";;"DRB_ALG";;;;;;"MA-2009";"03/2010";"01/2011";;;;0;0;0;0;0;0;0;2;0;0;4;;;"1.5";1;"Un petit commentaire";5
"2010_M0002";"Ifremer";"IId";;"DRH_CAT,DRH_CRU";;;;"Fileyage";"poissons tubes";"MANY";"01/2008";"12/2008";;20;0;0;21;0;0;21;0;0;21;0;0;;;;1;1;;5
-"2010_M0003";;"IId,IV";;"DRH";;;;"balottage en plein air";"divers choses visqueuses";"MA-2009";"03/2010";"01/2011";;;;0;22;0;0;25;0;0;21;0;0;25;;;2;1;;5
-"2009_M0001";;"IId,IV";;"GTR_DEF,GNS_DEF";"110-119";;;"Fileyage à poissons tubes";"poissons plats";"PPP2010";"12/2009";"10/2010";0;1;1;1;2;1;1;1;1;1;2;;;;;;1;1;;5
-"2009_M0002";;"IId";;"GTR_DEF,GNS_DEF";"9888-99";;;"Fileyage à sirènes ";"nymphes";"PPP2010";"12/2009";"10/2010";1;1;1;2;3;4;4;4;4;3;3;;;;;;1;1;;10
+"2010_M0003";"Ifremer";"IId,IV";;"DRH";;;;"balottage en plein air";"divers choses visqueuses";"MA-2009";"03/2010";"01/2011";;;;0;22;0;0;25;0;0;21;0;0;25;;;2;1;;5
+"2009_M0001";"Ifremer";"IId,IV";;"GTR_DEF,GNS_DEF";"110-119";;;"Fileyage à poissons tubes";"poissons plats";"PPP2010";"12/2009";"10/2010";0;1;1;1;2;1;1;1;1;1;2;;;;;;1;1;;5
+"2009_M0002";"Ifremer";"IId";;"GTR_DEF,GNS_DEF";"9888-99";;;"Fileyage à sirènes ";"nymphes";"PPP2010";"12/2009";"10/2010";1;1;1;2;3;4;4;4;4;3;3;;;;;;1;1;;10
"2009_M0003";"Ifremer";"IV";;"GTR_MOL,GNS";;;;"Fileyages à baleines à bosse";"chameaux";"PPP2010";"12/2009";"10/2010";2;2;2;2;2;2;2;2;2;2;4;;;;;;1;1;;10
-"2009_M0004";;"IId";;"PTB_ALG";">=190";">18";;"Chalutage de fond machiavélique";"gadidés; divers";"PPP2010";"12/2009";"10/2010";1;1;1;1;1;1;1;1;1;1;2;;;;;;3;2;;10
-"2009_M0005";;"IId";;"PTB_ALG";"70-1100";">1140";;"Plongeur de fond sous-marin";"gadidés; divers";"PPP2010";"12/2009";"10/2010";1;1;1;1;1;1;1;1;1;1;2;;;;;;3;2;;10
+"2009_M0004";"Ifremer";"IId";;"PTB_ALG";">=190";">18";;"Chalutage de fond machiavélique";"gadidés; divers";"PPP2010";"12/2009";"10/2010";1;1;1;1;1;1;1;1;1;1;2;;;;;;3;2;;10
+"2009_M0005";"Ifremer";"IId";;"PTB_ALG";"70-1100";">1140";;"Plongeur de fond sous-marin";"gadidés; divers";"PPP2010";"12/2009";"10/2010";1;1;1;1;1;1;1;1;1;1;2;;;;;;3;2;;10
"2009_M0006";"OCEANET";"I,IV";;"DRB_DEF";"70-1100";">1140";;"Leon";"poissons plats";"PPP2010";"12/2009";"10/2010";0;1;0;1;0;1;2;2;2;2;1;;;;;;3;2;;
"2010_M0004";"Ifremer";"IId,IV";;"PTB_DEF,PTB_ALG,DRH";;;;"Chalutage de fond";"gadidés; poissons plats; divers";"BLOB";"01/2010";"12/2010";;3;0;0;3;0;0;3;0;0;3;0;0;;;;3;1;;
-"2010_M0005";;"IId";;"DRB";;;;"Kamoulox";"merlu; poissons cerises; divers";"MA-2009";"03/2010";"01/2011";;;;0;5;0;0;5;0;0;6;0;0;3;;;3;1;;15
-"2010_M0010";;"I,IV";;"DRB";"70-1100";;;"Kamoulox";"merlu; poissons pommes; divers";"MA-2009";"03/2010";"01/2011";;;;0;5;0;0;5;0;0;6;0;0;3;;;3;1;;15
-"2010_M0011";;"I,IV";;"DRB_ANA";"70-1100";;;"Troubidou";"merlu; poissons cerises";"MA-2009";"03/2010";"01/2011";;;;0;5;0;0;5;0;0;6;0;0;3;;;3;1;;
+"2010_M0005";"OCEANET";"IId";;"DRB";;;;"Kamoulox";"merlu; poissons cerises; divers";"MA-2009";"03/2010";"01/2011";;;;0;5;0;0;5;0;0;6;0;0;3;;;3;1;;15
+"2010_M0010";"OCEANET";"I,IV";;"DRB";"70-1100";;;"Kamoulox";"merlu; poissons pommes; divers";"MA-2009";"03/2010";"01/2011";;;;0;5;0;0;5;0;0;6;0;0;3;;;3;1;;15
+"2010_M0011";"OCEANET";"I,IV";;"DRB_ANA";"70-1100";;;"Troubidou";"merlu; poissons cerises";"MA-2009";"03/2010";"01/2011";;;;0;5;0;0;5;0;0;6;0;0;3;;;3;1;;
1
0