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
April 2014
- 5 participants
- 162 discussions
02 Apr '14
Author: tchemit
Date: 2014-04-02 10:50:25 +0200 (Wed, 02 Apr 2014)
New Revision: 1794
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1794
Log:
struts configuration + filtering it\!
Removed:
trunk/wao-web/src/main/resources/struts.properties
Modified:
trunk/wao-web/pom.xml
trunk/wao-web/src/main/resources/struts.xml
Modified: trunk/wao-web/pom.xml
===================================================================
--- trunk/wao-web/pom.xml 2014-04-02 08:27:37 UTC (rev 1793)
+++ trunk/wao-web/pom.xml 2014-04-02 08:50:25 UTC (rev 1794)
@@ -162,6 +162,22 @@
<build>
<finalName>wao-${project.version}</finalName>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ <excludes>
+ <exclude>struts.xml</exclude>
+ </excludes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>true</filtering>
+ <includes>
+ <include>struts.xml</include>
+ </includes>
+ </resource>
+ </resources>
<pluginManagement>
<plugins>
<plugin>
Deleted: trunk/wao-web/src/main/resources/struts.properties
===================================================================
--- trunk/wao-web/src/main/resources/struts.properties 2014-04-02 08:27:37 UTC (rev 1793)
+++ trunk/wao-web/src/main/resources/struts.properties 2014-04-02 08:50:25 UTC (rev 1794)
@@ -1,43 +0,0 @@
-###
-# #%L
-# Wao :: Web
-# %%
-# Copyright (C) 2009 - 2014 Ifremer
-# %%
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# #L%
-###
-struts.ui.theme=bootstrap
-struts.ognl.allowStaticMethodAccess=true
-
-# Help debugging
-struts.devMode=${devMode}
-struts.ognl.logMissingProperties=${devMode}
-struts.el.throwExceptionOnFailure=${devMode}
-struts.i18n.reload=${devMode}
-struts.custom.i18n.resources=resources
-struts.configuration.xml.reload=${devMode}
-struts.convention.classes.reload=${devMode}
-
-# Performance tuning
-# see http://struts.apache.org/2.2.3/docs/performance-tuning.html
-struts.freemarker.templatesCache=true
-
-struts.convention.package.locators.basePackage=fr.ifremer.wao.web.action
-
-# FIXME bleny 06/12/2013 définir à true ouvre une faille de sécurité, voir http://struts.apache.org/release/2.3.x/docs/s2-019.html si on laisse la valeur par défaut, l'appli mouline dès qu'on appel une action autre que execute, on attend que convention-plugin soit adapté pour pouvoir poser une anot sur les méthodes inputs
-struts.enable.DynamicMethodInvocation=true
-
-# FIXME bleny 09/12/2013 définir à true ouvre une faille de sécurité, voir http://struts.apache.org/release/2.3.x/docs/s2-018.html ne pas surcharger cette valeur empêche de définir l'action!methode à appeller au submit et on passe toujours le execute, ça casse le formulaire de déclaration (quand on veut passer à l'étape suivante (!next) on se retrouve dans le résumé (!execute))
-struts.mapper.action.prefix.enabled=true
Modified: trunk/wao-web/src/main/resources/struts.xml
===================================================================
--- trunk/wao-web/src/main/resources/struts.xml 2014-04-02 08:27:37 UTC (rev 1793)
+++ trunk/wao-web/src/main/resources/struts.xml 2014-04-02 08:50:25 UTC (rev 1794)
@@ -23,17 +23,47 @@
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
- <constant name="struts.convention.default.parent.package" value="waoPackage" />
+ <constant name="struts.ui.theme" value="bootstrap" />
+ <constant name="struts.ognl.allowStaticMethodAccess" value="true" />
- <bean class="org.nuiton.web.struts2.I18nTextProvider" name="i18nTextProvider" type="com.opensymphony.xwork2.TextProvider" />
+ <!-- Help debugging -->
+ <constant name="struts.devMode" value="${devMode}"/>
+ <constant name="struts.ognl.logMissingProperties" value="${devMode}"/>
+ <constant name="struts.el.throwExceptionOnFailure" value="${devMode}"/>
+ <constant name="struts.i18n.reload" value="${devMode}"/>
+ <constant name="struts.custom.i18n.resources" value="resources"/>
+ <constant name="struts.configuration.xml.reload" value="${devMode}"/>
+ <constant name="struts.convention.classes.reload" value="${devMode}"/>
+ <!-- Performance tuning -->
+ <!-- see http://struts.apache.org/2.2.3/docs/performance-tuning.html -->
+ <constant name="struts.freemarker.templatesCache" value="true"/>
+ <constant name="struts.convention.package.locators.basePackage" value="fr.ifremer.wao.web.action"/>
+
+ <!-- FIXME bleny 06/12/2013 définir à true ouvre une faille de sécurité,
+ voir http://struts.apache.org/release/2.3.x/docs/s2-019.html si on laisse la valeur par défaut,
+ l'appli mouline dès qu'on appel une action autre que execute, on attend que convention-plugin
+ soit adapté pour pouvoir poser une anot sur les méthodes inputs -->
+ <constant name="struts.enable.DynamicMethodInvocation" value="true"/>
+
+ <!-- FIXME bleny 09/12/2013 définir à true ouvre une faille de sécurité,
+ voir http://struts.apache.org/release/2.3.x/docs/s2-018.html ne pas surcharger cette valeur
+ empêche de définir l'action!methode à appeller au submit et on passe toujours le execute,
+ ça casse le formulaire de déclaration (quand on veut passer à l'étape suivante (!next)
+ on se retrouve dans le résumé (!execute)) -->
+ <constant name="struts.mapper.action.prefix.enabled" value="true"/>
+
+ <constant name="struts.convention.default.parent.package" value="waoPackage"/>
+
+ <bean class="org.nuiton.web.struts2.I18nTextProvider" name="i18nTextProvider" type="com.opensymphony.xwork2.TextProvider"/>
+
<bean type="com.opensymphony.xwork2.conversion.impl.NumberConverter" class="org.nuiton.web.struts2.converters.HundredthLocalNumberConverter" scope="singleton"/>
- <constant name="struts.objectFactory" value="fr.ifremer.wao.web.WaoStrutsObjectFactory" />
+ <constant name="struts.objectFactory" value="fr.ifremer.wao.web.WaoStrutsObjectFactory"/>
- <constant name="struts.xworkTextProvider" value="i18nTextProvider" />
+ <constant name="struts.xworkTextProvider" value="i18nTextProvider"/>
- <constant name="struts.multipart.maxSize" value="10485760" />
+ <constant name="struts.multipart.maxSize" value="10485760"/>
<package name="waoPackage" namespace="/" extends="json-default">
@@ -42,8 +72,8 @@
<interceptor name="waoInterceptor" class="fr.ifremer.wao.web.WaoInterceptor"/>
<interceptor-stack name="waoStack">
- <interceptor-ref name="waoInterceptor" />
- <interceptor-ref name="paramsPrepareParamsStack" />
+ <interceptor-ref name="waoInterceptor"/>
+ <interceptor-ref name="paramsPrepareParamsStack"/>
</interceptor-stack>
</interceptors>
1
0
r1793 - in trunk: wao-services/src/main/java/fr/ifremer/wao/services/service wao-web/src/main/webapp wao-web/src/main/webapp/WEB-INF/content/obsmer
by bleny@users.forge.codelutin.com 02 Apr '14
by bleny@users.forge.codelutin.com 02 Apr '14
02 Apr '14
Author: bleny
Date: 2014-04-02 10:27:37 +0200 (Wed, 02 Apr 2014)
New Revision: 1793
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1793
Log:
refs #4483 show link to eligble boats only when elligble boats are provided
Modified:
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlan.java
trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp
trunk/wao-web/src/main/webapp/wao.js
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-04-02 08:07:31 UTC (rev 1792)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlan.java 2014-04-02 08:27:37 UTC (rev 1793)
@@ -357,6 +357,8 @@
*/
protected Date lastSampleMonthEndOfMonth;
+ protected boolean elligibleBoatsProvided;
+
public ObsMerSamplingPlanSampleRowPart(Locale locale,
Map<Date, ObsMerSamplingPlanStatistics> nbTidesPerMonth,
SampleRow sampleRow,
@@ -451,6 +453,7 @@
lastSampleMonthDate = sampleMonth.get(sampleMonth.size() - 1).getPeriodDate();
lastSampleMonthEndOfMonth = WaoUtils.getEndOfMonth(lastSampleMonthDate);
+ elligibleBoatsProvided = sampleRow.isElligibleBoatNotEmpty();
}
public String getSamplingStrategy() {
@@ -629,6 +632,10 @@
// boolean validMonth = month.before(current) || WaoUtils.isCurrentMonth(month);
// return validMonth && getNbTidesEstimated(month) != null;
// }
+
+ public boolean isElligibleBoatsProvided() {
+ return elligibleBoatsProvided;
+ }
}
public static class ObsMerSamplingPlanStatistics implements Serializable {
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-04-02 08:07:31 UTC (rev 1792)
+++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp 2014-04-02 08:27:37 UTC (rev 1793)
@@ -455,15 +455,17 @@
<!--i class="icon-time"></i--> <s:text name="wao.ui.action.zoomOnSampleRowPeriod" />
</s:a>
</li>
+ <s:if test="elligibleBoatsProvided">
+ <li>
+ <s:url action="boats" id="viewElligibleBoatsUrl">
+ <s:param name="filter.elligibleBoatsFilter.sampleRowCodes" value="code" />
+ </s:url>
+ <s:a href="%{viewElligibleBoatsUrl}">
+ <s:text name="wao.ui.action.viewElligibleBoats" />
+ </s:a>
+ </li>
+ </s:if>
<li>
- <s:url action="boats" id="viewElligibleBoatsUrl">
- <s:param name="sampleRowIds" value="sampleRowId" />
- </s:url>
- <s:a href="%{viewElligibleBoatsUrl}">
- <s:text name="wao.ui.action.viewElligibleBoats" />
- </s:a>
- </li>
- <li>
<s:url action="contacts" id="viewAssociatedContactsUrl">
<s:param name="sampleRowIds" value="sampleRowId" />
</s:url>
Modified: trunk/wao-web/src/main/webapp/wao.js
===================================================================
--- trunk/wao-web/src/main/webapp/wao.js 2014-04-02 08:07:31 UTC (rev 1792)
+++ trunk/wao-web/src/main/webapp/wao.js 2014-04-02 08:27:37 UTC (rev 1793)
@@ -47,7 +47,7 @@
this.model = sampleRowsFilterModel;
this.$filtersForm = $filtersForm;
this.$selects = $filtersForm.find('select');
- this.$inputs = $filtersForm.find('input[type=text]');
+ this.$inputs = $filtersForm.find('input[type="text"]');
this.getFilter = function () {
var filter = {};
@@ -88,7 +88,7 @@
$select.find('option[value="' + selectedOption + '"]').prop('selected', 'selected');
});
});
- this.$filtersForm.effect( "highlight", "slow" );
+ this.$filtersForm.effect('highlight', 'slow');
};
$(this.model).on('updated', function () {
1
0
r1792 - trunk/wao-services/src/main/java/fr/ifremer/wao/services/service
by bleny@users.forge.codelutin.com 02 Apr '14
by bleny@users.forge.codelutin.com 02 Apr '14
02 Apr '14
Author: bleny
Date: 2014-04-02 10:07:31 +0200 (Wed, 02 Apr 2014)
New Revision: 1792
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1792
Log:
user commons-collection 4
Modified:
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerBoatsService.java
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerBoatsService.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerBoatsService.java 2014-04-01 15:13:11 UTC (rev 1791)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerBoatsService.java 2014-04-02 08:07:31 UTC (rev 1792)
@@ -9,7 +9,7 @@
import fr.ifremer.wao.entity.BoatTopiaDao;
import fr.ifremer.wao.services.AuthenticatedWaoUser;
import fr.ifremer.wao.services.service.csv.BoatImportExportModel;
-import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
1
0
01 Apr '14
See <http://ci.codelutin.com/jenkins/job/wao-nightly/22/changes>
Changes:
[Tony CHEMIT] refs-30 #4490
[bleny] remove shiro
[bleny] display explanation when IllegalDeletionException is raised
[bleny] refs #4483 move delete row action button to edit-sample-row form
[Tony CHEMIT] avoid cast
[bleny] refs #4483 review event binding to know when update filter values
[bleny] refs #4483 implements sample row deletion
------------------------------------------
[...truncated 986 lines...]
2014/04/02 12:08:04 DEBUG (ReferentialService.java:490) importTerrestrialDivisions 1181 ports, 18 regions
2014/04/02 12:08:06 DEBUG (ReferentialService.java:544) importTerrestrialDivisions 649 terrestrial divisions in database
2014/04/02 12:08:06 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:06 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@14a94f60
2014/04/02 12:08:06 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@22ae2cc
2014/04/02 12:08:06 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…>
2014/04/02 12:08:06 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:08:06 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…>
2014/04/02 12:08:06 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@1fe1ca7c
2014/04/02 12:08:06 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@1457df18
2014/04/02 12:08:08 INFO (ReferentialService.java:375) importTerrestrialLocations 1248 terrestrial locations added, 0 updated
2014/04/02 12:08:08 INFO (ReferentialService.java:376) importTerrestrialLocations 50 terrestrial district added, 0 updated
2014/04/02 12:08:08 INFO (ReferentialService.java:377) importTerrestrialLocations 18 terrestrial region added, 28 updated
2014/04/02 12:08:08 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:08 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:08 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@1457df18
2014/04/02 12:08:08 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@1fe1ca7c
2014/04/02 12:08:08 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…>
2014/04/02 12:08:08 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:08:08 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…>
2014/04/02 12:08:08 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@627fc753
2014/04/02 12:08:08 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@2ae13b5e
2014/04/02 12:08:09 INFO (ReferentialService.java:375) importTerrestrialLocations 1248 terrestrial locations added, 0 updated
2014/04/02 12:08:09 INFO (ReferentialService.java:376) importTerrestrialLocations 50 terrestrial district added, 0 updated
2014/04/02 12:08:09 INFO (ReferentialService.java:377) importTerrestrialLocations 18 terrestrial region added, 28 updated
2014/04/02 12:08:09 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:09 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@2ae13b5e
2014/04/02 12:08:09 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@627fc753
2014/04/02 12:08:09 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…>
2014/04/02 12:08:09 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:08:09 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…>
2014/04/02 12:08:09 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@5134852d
2014/04/02 12:08:10 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@6028f45c
2014/04/02 12:08:10 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:10 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@6028f45c
2014/04/02 12:08:10 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@5134852d
2014/04/02 12:08:10 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…>
2014/04/02 12:08:10 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:08:10 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…>
2014/04/02 12:08:10 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@47f24e6d
2014/04/02 12:08:10 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@23b38f98
2014/04/02 12:08:11 INFO (ReferentialService.java:375) importTerrestrialLocations 1248 terrestrial locations added, 0 updated
2014/04/02 12:08:11 INFO (ReferentialService.java:376) importTerrestrialLocations 50 terrestrial district added, 0 updated
2014/04/02 12:08:11 INFO (ReferentialService.java:377) importTerrestrialLocations 18 terrestrial region added, 28 updated
2014/04/02 12:08:11 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:11 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:11 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@23b38f98
2014/04/02 12:08:11 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@47f24e6d
2014/04/02 12:08:11 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…>
2014/04/02 12:08:11 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:08:11 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…>
2014/04/02 12:08:11 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@4c9995b7
2014/04/02 12:08:12 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@110c1ca9
2014/04/02 12:08:13 INFO (ReferentialService.java:375) importTerrestrialLocations 1248 terrestrial locations added, 0 updated
2014/04/02 12:08:13 INFO (ReferentialService.java:376) importTerrestrialLocations 50 terrestrial district added, 0 updated
2014/04/02 12:08:13 INFO (ReferentialService.java:377) importTerrestrialLocations 18 terrestrial region added, 28 updated
2014/04/02 12:08:13 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:13 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@110c1ca9
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@4c9995b7
Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.176 sec - in fr.ifremer.wao.services.service.administration.ReferentialServiceTest
Running fr.ifremer.wao.services.service.ObsMerBoatsServiceTest
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:172) getApplicationContext Copy referential database to f368bb4f-c80f-4cec-8375-638a2be4a1d8
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:182) getApplicationContext Copy referential database : Complete
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…>
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:08:13 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…>
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@6c4ac0cf
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@2ac40994
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@15ddd3e5
2014/04/02 12:08:13 TRACE (SampleRowTopiaDao.java:149) toSampleRowHqlAndParametersBuilder query to filter sample rows for fr.ifremer.wao.SampleRowsFilter@67966aa2[obsProgram=OBSMER,sampleRowIds=<null>,periodFrom=<null>,periodTo=<null>,fishingZoneFacadeNames=<null>,fishingZoneSectorNames=<null>,sampleRowCodes=<null>,programNames=<null>,fishingGearDcfIds=<null>,targetSpeciesDcfIds=<null>,samplingStrategies=<null>,terrestrialDistrictIds=<null>,companyIds=<null>,orderByArguments=<null>] is from fr.ifremer.wao.entity.SampleRow sr where sr.obsProgramOrdinal = :obsProgramOrdinal {obsProgramOrdinal=0}
2014/04/02 12:08:13 TRACE (BoatTopiaDao.java:125) toSampleRowHqlAndParametersBuilder query to filter sample rows for fr.ifremer.wao.BoatsFilter@4432e6cf[elligibleBoatsFilter=fr.ifremer.wao.SampleRowsFilter@67966aa2[obsProgram=OBSMER,sampleRowIds=<null>,periodFrom=<null>,periodTo=<null>,fishingZoneFacadeNames=<null>,fishingZoneSectorNames=<null>,sampleRowCodes=<null>,programNames=<null>,fishingGearDcfIds=<null>,targetSpeciesDcfIds=<null>,samplingStrategies=<null>,terrestrialDistrictIds=<null>,companyIds=<null>,orderByArguments=<null>],boatName=<null>,registrationCode=<null>,boatIds=<null>,shipOwnerIds=<null>,districtIds=<null>,portOfRegistryIds=<null>,fleetIds=<null>] is from fr.ifremer.wao.entity.Boat b where b.topiaId IN (SELECT eb.boat.topiaId FROM fr.ifremer.wao.entity.ElligibleBoatImpl eb WHERE eb.sampleRow.topiaId IN ( select sr.topiaId from fr.ifremer.wao.entity.SampleRow sr where sr.obsProgramOrdinal = :obsProgramOrdinal )) {obsProgramOrdinal=0}
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@2ac40994
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@15ddd3e5
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@6c4ac0cf
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:172) getApplicationContext Copy referential database to e6a73ffc-52f3-42ad-aa6a-f5e0b8e60a70
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:182) getApplicationContext Copy referential database : Complete
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…>
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:08:13 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…>
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@57ef085e
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@a081208
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@1a6d2dd9
2014/04/02 12:08:13 TRACE (SampleRowTopiaDao.java:149) toSampleRowHqlAndParametersBuilder query to filter sample rows for fr.ifremer.wao.SampleRowsFilter@7e458baa[obsProgram=OBSMER,sampleRowIds=<null>,periodFrom=<null>,periodTo=<null>,fishingZoneFacadeNames=<null>,fishingZoneSectorNames=<null>,sampleRowCodes=<null>,programNames=<null>,fishingGearDcfIds=<null>,targetSpeciesDcfIds=<null>,samplingStrategies=<null>,terrestrialDistrictIds=<null>,companyIds=<null>,orderByArguments=<null>] is from fr.ifremer.wao.entity.SampleRow sr where sr.obsProgramOrdinal = :obsProgramOrdinal {obsProgramOrdinal=0}
2014/04/02 12:08:13 TRACE (BoatTopiaDao.java:125) toSampleRowHqlAndParametersBuilder query to filter sample rows for fr.ifremer.wao.BoatsFilter@7d486aa[elligibleBoatsFilter=fr.ifremer.wao.SampleRowsFilter@7e458baa[obsProgram=OBSMER,sampleRowIds=<null>,periodFrom=<null>,periodTo=<null>,fishingZoneFacadeNames=<null>,fishingZoneSectorNames=<null>,sampleRowCodes=<null>,programNames=<null>,fishingGearDcfIds=<null>,targetSpeciesDcfIds=<null>,samplingStrategies=<null>,terrestrialDistrictIds=<null>,companyIds=<null>,orderByArguments=<null>],boatName=<null>,registrationCode=<null>,boatIds=<null>,shipOwnerIds=<null>,districtIds=<null>,portOfRegistryIds=<null>,fleetIds=<null>] is from fr.ifremer.wao.entity.Boat b where b.topiaId IN (SELECT eb.boat.topiaId FROM fr.ifremer.wao.entity.ElligibleBoatImpl eb WHERE eb.sampleRow.topiaId IN ( select sr.topiaId from fr.ifremer.wao.entity.SampleRow sr where sr.obsProgramOrdinal = :obsProgramOrdinal )) {obsProgramOrdinal=0}
2014/04/02 12:08:13 TRACE (SampleRowTopiaDao.java:149) toSampleRowHqlAndParametersBuilder query to filter sample rows for fr.ifremer.wao.SampleRowsFilter@7e458baa[obsProgram=OBSMER,sampleRowIds=<null>,periodFrom=<null>,periodTo=<null>,fishingZoneFacadeNames=<null>,fishingZoneSectorNames=<null>,sampleRowCodes=<null>,programNames=<null>,fishingGearDcfIds=<null>,targetSpeciesDcfIds=<null>,samplingStrategies=<null>,terrestrialDistrictIds=<null>,companyIds=<null>,orderByArguments=<null>] is from fr.ifremer.wao.entity.SampleRow sr where sr.obsProgramOrdinal = :obsProgramOrdinal {obsProgramOrdinal=0}
2014/04/02 12:08:13 TRACE (BoatTopiaDao.java:125) toSampleRowHqlAndParametersBuilder query to filter sample rows for fr.ifremer.wao.BoatsFilter@7d486aa[elligibleBoatsFilter=fr.ifremer.wao.SampleRowsFilter@7e458baa[obsProgram=OBSMER,sampleRowIds=<null>,periodFrom=<null>,periodTo=<null>,fishingZoneFacadeNames=<null>,fishingZoneSectorNames=<null>,sampleRowCodes=<null>,programNames=<null>,fishingGearDcfIds=<null>,targetSpeciesDcfIds=<null>,samplingStrategies=<null>,terrestrialDistrictIds=<null>,companyIds=<null>,orderByArguments=<null>],boatName=<null>,registrationCode=<null>,boatIds=<null>,shipOwnerIds=<null>,districtIds=<null>,portOfRegistryIds=<null>,fleetIds=<null>] is from fr.ifremer.wao.entity.Boat b where b.topiaId IN (SELECT eb.boat.topiaId FROM fr.ifremer.wao.entity.ElligibleBoatImpl eb WHERE eb.sampleRow.topiaId IN ( select sr.topiaId from fr.ifremer.wao.entity.SampleRow sr where sr.obsProgramOrdinal = :obsProgramOrdinal )) {obsProgramOrdinal=0}
2014/04/02 12:08:13 TRACE (SampleRowTopiaDao.java:149) toSampleRowHqlAndParametersBuilder query to filter sample rows for fr.ifremer.wao.SampleRowsFilter@7e458baa[obsProgram=OBSMER,sampleRowIds=<null>,periodFrom=<null>,periodTo=<null>,fishingZoneFacadeNames=<null>,fishingZoneSectorNames=<null>,sampleRowCodes=<null>,programNames=<null>,fishingGearDcfIds=<null>,targetSpeciesDcfIds=<null>,samplingStrategies=<null>,terrestrialDistrictIds=<null>,companyIds=<null>,orderByArguments=<null>] is from fr.ifremer.wao.entity.SampleRow sr where sr.obsProgramOrdinal = :obsProgramOrdinal {obsProgramOrdinal=0}
2014/04/02 12:08:13 TRACE (BoatTopiaDao.java:125) toSampleRowHqlAndParametersBuilder query to filter sample rows for fr.ifremer.wao.BoatsFilter@7d486aa[elligibleBoatsFilter=fr.ifremer.wao.SampleRowsFilter@7e458baa[obsProgram=OBSMER,sampleRowIds=<null>,periodFrom=<null>,periodTo=<null>,fishingZoneFacadeNames=<null>,fishingZoneSectorNames=<null>,sampleRowCodes=<null>,programNames=<null>,fishingGearDcfIds=<null>,targetSpeciesDcfIds=<null>,samplingStrategies=<null>,terrestrialDistrictIds=<null>,companyIds=<null>,orderByArguments=<null>],boatName=<null>,registrationCode=<null>,boatIds=<null>,shipOwnerIds=<null>,districtIds=<null>,portOfRegistryIds=<null>,fleetIds=<null>] is from fr.ifremer.wao.entity.Boat b where b.topiaId IN (SELECT eb.boat.topiaId FROM fr.ifremer.wao.entity.ElligibleBoatImpl eb WHERE eb.sampleRow.topiaId IN ( select sr.topiaId from fr.ifremer.wao.entity.SampleRow sr where sr.obsProgramOrdinal = :obsProgramOrdinal )) {obsProgramOrdinal=0}
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@a081208
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@1a6d2dd9
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@57ef085e
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.626 sec - in fr.ifremer.wao.services.service.ObsMerBoatsServiceTest
Running fr.ifremer.wao.services.service.InitWaoServiceTest
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…>
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:08:13 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…>
2014/04/02 12:08:14 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@3e58d895
2014/04/02 12:08:14 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@243d44a1
2014/04/02 12:08:14 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@243d44a1
2014/04/02 12:08:14 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@3e58d895
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.281 sec - in fr.ifremer.wao.services.service.InitWaoServiceTest
Results :
Tests run: 20, Failures: 0, Errors: 0, Skipped: 0
[JENKINS] Recording test results
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ wao-services ---
[INFO] Building jar: <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…>
[INFO]
[INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) @ wao-services >>>
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (ensure-no-container-api) @ wao-services ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ wao-services ---
[INFO]
[INFO] --- helper-maven-plugin:2.1:share-server-secret (get-redmine-login) @ wao-services ---
[INFO] Skipping goal (runOnce flag is on and goal was already executed).
[WARNING] Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo
[INFO]
[INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) @ wao-services <<<
[INFO]
[INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ wao-services ---
[INFO] Building jar: <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…>
[INFO]
[INFO] --- maven-javadoc-plugin:2.9.1:jar (attach-javadocs) @ wao-services ---
[INFO]
1 warning
[WARNING] Javadoc Warnings
[WARNING] <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/src/m…>:572: warning - @returns is an unknown tag.
[INFO] Building jar: <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-services/targe…>
[INFO]
[INFO] --- maven-site-plugin:3.3:attach-descriptor (attach-descriptor) @ wao-services ---
[INFO]
[INFO] --- helper-maven-plugin:2.1:share-server-secret (get-pgp-passphrase) @ wao-services ---
[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-services ---
[INFO] Loaded <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/target/collect-art…>
[INFO] Copying wao-services-4.0-SNAPSHOT.jar to <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/target/collect/fr.…>
[INFO] Copying THIRD-PARTY.properties to <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/target/collect/fr.…>
[INFO] Copying wao-services-4.0-SNAPSHOT-sources.jar to <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/target/collect/fr.…>
[INFO] Copying wao-services-4.0-SNAPSHOT-javadoc.jar to <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/target/collect/fr.…>
[INFO]
[INFO] --- helper-maven-plugin:2.1:collect-files (collect-build-attachements) @ wao-services ---
[WARNING] Skipping goal (No file to collect).
[INFO]
[INFO] --- maven-gpg-plugin:1.5:sign (sign-artifacts) @ wao-services ---
[INFO]
[INFO] --- maven-dependency-plugin:2.8:analyze-only (analyze) @ wao-services ---
[INFO] Used declared dependencies found:
[INFO] org.nuiton:nuiton-csv:jar:3.0-alpha-3:compile
[INFO] org.nuiton.i18n:nuiton-i18n:jar:3.0:compile
[INFO] org.nuiton:nuiton-utils:jar:3.0-SNAPSHOT:compile
[INFO] com.github.spullara.mustache.java:compiler:jar:0.8.13:compile
[INFO] org.apache.commons:commons-email:jar:1.3.2:compile
[INFO] com.h2database:h2:jar:1.3.175:test
[INFO] fr.ifremer:wao-persistence:jar:4.0-SNAPSHOT:compile
[INFO] org.nuiton.topia:topia-persistence:jar:3.0-SNAPSHOT:compile
[INFO] org.hibernate:hibernate-core:jar:4.2.8.Final:compile
[INFO] org.apache.commons:commons-lang3:jar:3.3:compile
[INFO] commons-logging:commons-logging:jar:1.1.3:compile
[INFO] com.google.guava:guava:jar:16.0.1:compile
[INFO] org.apache.commons:commons-collections4:jar:4.0:compile
[INFO] commons-io:commons-io:jar:2.4:compile
[INFO] junit:junit:jar:4.11:test
[INFO] org.apache.struts.xwork:xwork-core:jar:2.3.16.1:compile
[INFO] org.mockito:mockito-core:jar:1.9.5:test
[WARNING] Used undeclared dependencies found:
[WARNING] commons-collections:commons-collections:jar:3.2.1:compile
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Wao ............................................... SUCCESS [ 8.420 s]
[INFO] Wao :: Persistence ................................ SUCCESS [ 25.412 s]
[INFO] Wao :: Services ................................... FAILURE [ 43.352 s]
[INFO] Wao :: Web ........................................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:19 min
[INFO] Finished at: 2014-04-02T00:08:19+01:00
[INFO] Final Memory: 99M/651M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:analyze-only (analyze) on project wao-services: Dependency problems found -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:analyze-only (analyze) on project wao-services: Dependency problems found
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
at org.jvnet.hudson.maven3.launcher.Maven31Launcher.main(Maven31Launcher.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:330)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238)
at jenkins.maven3.agent.Maven31Main.launch(Maven31Main.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:134)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:69)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:328)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: org.apache.maven.plugin.MojoExecutionException: Dependency problems found
at org.apache.maven.plugin.dependency.analyze.AbstractAnalyzeMojo.execute(AbstractAnalyzeMojo.java:188)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 30 more
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :wao-services
Sending e-mails to: wao-commits(a)list.forge.codelutin.com leny(a)codelutin.com chemit+codelutin-ci(a)codelutin.com
channel stopped
Skipping sonar analysis due to bad build status FAILURE
1
0
Build failed in Jenkins: wao-nightly » Wao :: Services #22
by admin+ci-codelutin.com@codelutin.com 01 Apr '14
by admin+ci-codelutin.com@codelutin.com 01 Apr '14
01 Apr '14
See <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/22/…>
Changes:
[Tony CHEMIT] refs-30 #4490
[bleny] remove shiro
[bleny] display explanation when IllegalDeletionException is raised
[bleny] refs #4483 implements sample row deletion
------------------------------------------
[...truncated 288 lines...]
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:07:55 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@5ed4e588
2014/04/02 12:07:55 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@73bc9415
2014/04/02 12:07:55 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@73bc9415
2014/04/02 12:07:55 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@5ed4e588
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.419 sec - in fr.ifremer.wao.services.service.mail.EmailServiceTest
Running fr.ifremer.wao.services.service.administration.WaoUsersServiceTest
2014/04/02 12:07:55 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:07:55 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:07:55 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:07:55 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@30b49c1d
2014/04/02 12:07:56 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@5082a494
2014/04/02 12:07:56 DEBUG (WaoUsersServiceTest.java:47) testNewPassword n3kyWvXd
2014/04/02 12:07:56 DEBUG (WaoUsersServiceTest.java:48) testNewPassword PC6U0g7c
2014/04/02 12:07:56 DEBUG (WaoUsersServiceTest.java:49) testNewPassword 08QV3oBm
2014/04/02 12:07:56 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@5082a494
2014/04/02 12:07:56 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@30b49c1d
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.372 sec - in fr.ifremer.wao.services.service.administration.WaoUsersServiceTest
Running fr.ifremer.wao.services.service.administration.ReferentialServiceTest
2014/04/02 12:07:56 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:07:56 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:07:56 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:07:56 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@2bcac8b3
2014/04/02 12:07:56 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@3063f0f3
2014/04/02 12:07:58 INFO (ReferentialService.java:375) importTerrestrialLocations 1248 terrestrial locations added, 0 updated
2014/04/02 12:07:58 INFO (ReferentialService.java:376) importTerrestrialLocations 50 terrestrial district added, 0 updated
2014/04/02 12:07:58 INFO (ReferentialService.java:377) importTerrestrialLocations 18 terrestrial region added, 28 updated
2014/04/02 12:07:58 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:00 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:00 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@3063f0f3
2014/04/02 12:08:00 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@2bcac8b3
2014/04/02 12:08:00 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:00 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:08:00 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:00 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@415fe218
2014/04/02 12:08:00 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@7bb8c61b
2014/04/02 12:08:02 INFO (ReferentialService.java:375) importTerrestrialLocations 1248 terrestrial locations added, 0 updated
2014/04/02 12:08:02 INFO (ReferentialService.java:376) importTerrestrialLocations 50 terrestrial district added, 0 updated
2014/04/02 12:08:02 INFO (ReferentialService.java:377) importTerrestrialLocations 18 terrestrial region added, 28 updated
2014/04/02 12:08:02 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:02 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:02 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:02 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@7bb8c61b
2014/04/02 12:08:02 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@415fe218
2014/04/02 12:08:02 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:02 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:08:02 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:02 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@644e54f1
2014/04/02 12:08:02 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@6f93e14e
2014/04/02 12:08:02 INFO (ReferentialService.java:673) initialDCF5CodesImport no DCF in database, mass import
2014/04/02 12:08:02 INFO (ReferentialService.java:741) initialDCF5CodesImport 53 dcf codes in database
2014/04/02 12:08:02 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@6f93e14e
2014/04/02 12:08:02 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@644e54f1
2014/04/02 12:08:02 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:02 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:08:02 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:03 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@22ae2cc
2014/04/02 12:08:03 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@14a94f60
2014/04/02 12:08:04 INFO (ReferentialService.java:375) importTerrestrialLocations 1248 terrestrial locations added, 0 updated
2014/04/02 12:08:04 INFO (ReferentialService.java:376) importTerrestrialLocations 50 terrestrial district added, 0 updated
2014/04/02 12:08:04 INFO (ReferentialService.java:377) importTerrestrialLocations 18 terrestrial region added, 28 updated
2014/04/02 12:08:04 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:04 DEBUG (ReferentialService.java:490) importTerrestrialDivisions 1181 ports, 18 regions
2014/04/02 12:08:06 DEBUG (ReferentialService.java:544) importTerrestrialDivisions 649 terrestrial divisions in database
2014/04/02 12:08:06 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:06 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@14a94f60
2014/04/02 12:08:06 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@22ae2cc
2014/04/02 12:08:06 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:06 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:08:06 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:06 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@1fe1ca7c
2014/04/02 12:08:06 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@1457df18
2014/04/02 12:08:08 INFO (ReferentialService.java:375) importTerrestrialLocations 1248 terrestrial locations added, 0 updated
2014/04/02 12:08:08 INFO (ReferentialService.java:376) importTerrestrialLocations 50 terrestrial district added, 0 updated
2014/04/02 12:08:08 INFO (ReferentialService.java:377) importTerrestrialLocations 18 terrestrial region added, 28 updated
2014/04/02 12:08:08 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:08 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:08 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@1457df18
2014/04/02 12:08:08 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@1fe1ca7c
2014/04/02 12:08:08 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:08 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:08:08 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:08 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@627fc753
2014/04/02 12:08:08 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@2ae13b5e
2014/04/02 12:08:09 INFO (ReferentialService.java:375) importTerrestrialLocations 1248 terrestrial locations added, 0 updated
2014/04/02 12:08:09 INFO (ReferentialService.java:376) importTerrestrialLocations 50 terrestrial district added, 0 updated
2014/04/02 12:08:09 INFO (ReferentialService.java:377) importTerrestrialLocations 18 terrestrial region added, 28 updated
2014/04/02 12:08:09 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:09 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@2ae13b5e
2014/04/02 12:08:09 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@627fc753
2014/04/02 12:08:09 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:09 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:08:09 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:09 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@5134852d
2014/04/02 12:08:10 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@6028f45c
2014/04/02 12:08:10 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:10 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@6028f45c
2014/04/02 12:08:10 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@5134852d
2014/04/02 12:08:10 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:10 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:08:10 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:10 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@47f24e6d
2014/04/02 12:08:10 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@23b38f98
2014/04/02 12:08:11 INFO (ReferentialService.java:375) importTerrestrialLocations 1248 terrestrial locations added, 0 updated
2014/04/02 12:08:11 INFO (ReferentialService.java:376) importTerrestrialLocations 50 terrestrial district added, 0 updated
2014/04/02 12:08:11 INFO (ReferentialService.java:377) importTerrestrialLocations 18 terrestrial region added, 28 updated
2014/04/02 12:08:11 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:11 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:11 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@23b38f98
2014/04/02 12:08:11 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@47f24e6d
2014/04/02 12:08:11 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:11 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:08:11 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:11 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@4c9995b7
2014/04/02 12:08:12 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@110c1ca9
2014/04/02 12:08:13 INFO (ReferentialService.java:375) importTerrestrialLocations 1248 terrestrial locations added, 0 updated
2014/04/02 12:08:13 INFO (ReferentialService.java:376) importTerrestrialLocations 50 terrestrial district added, 0 updated
2014/04/02 12:08:13 INFO (ReferentialService.java:377) importTerrestrialLocations 18 terrestrial region added, 28 updated
2014/04/02 12:08:13 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:13 TRACE (FakeWaoServiceContext.java:50) getNow injecting fake date in service: Mon Nov 02 00:00:00 CET 2009
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@110c1ca9
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@4c9995b7
Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.176 sec - in fr.ifremer.wao.services.service.administration.ReferentialServiceTest
Running fr.ifremer.wao.services.service.ObsMerBoatsServiceTest
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:172) getApplicationContext Copy referential database to f368bb4f-c80f-4cec-8375-638a2be4a1d8
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:182) getApplicationContext Copy referential database : Complete
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:08:13 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@6c4ac0cf
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@2ac40994
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@15ddd3e5
2014/04/02 12:08:13 TRACE (SampleRowTopiaDao.java:149) toSampleRowHqlAndParametersBuilder query to filter sample rows for fr.ifremer.wao.SampleRowsFilter@67966aa2[obsProgram=OBSMER,sampleRowIds=<null>,periodFrom=<null>,periodTo=<null>,fishingZoneFacadeNames=<null>,fishingZoneSectorNames=<null>,sampleRowCodes=<null>,programNames=<null>,fishingGearDcfIds=<null>,targetSpeciesDcfIds=<null>,samplingStrategies=<null>,terrestrialDistrictIds=<null>,companyIds=<null>,orderByArguments=<null>] is from fr.ifremer.wao.entity.SampleRow sr where sr.obsProgramOrdinal = :obsProgramOrdinal {obsProgramOrdinal=0}
2014/04/02 12:08:13 TRACE (BoatTopiaDao.java:125) toSampleRowHqlAndParametersBuilder query to filter sample rows for fr.ifremer.wao.BoatsFilter@4432e6cf[elligibleBoatsFilter=fr.ifremer.wao.SampleRowsFilter@67966aa2[obsProgram=OBSMER,sampleRowIds=<null>,periodFrom=<null>,periodTo=<null>,fishingZoneFacadeNames=<null>,fishingZoneSectorNames=<null>,sampleRowCodes=<null>,programNames=<null>,fishingGearDcfIds=<null>,targetSpeciesDcfIds=<null>,samplingStrategies=<null>,terrestrialDistrictIds=<null>,companyIds=<null>,orderByArguments=<null>],boatName=<null>,registrationCode=<null>,boatIds=<null>,shipOwnerIds=<null>,districtIds=<null>,portOfRegistryIds=<null>,fleetIds=<null>] is from fr.ifremer.wao.entity.Boat b where b.topiaId IN (SELECT eb.boat.topiaId FROM fr.ifremer.wao.entity.ElligibleBoatImpl eb WHERE eb.sampleRow.topiaId IN ( select sr.topiaId from fr.ifremer.wao.entity.SampleRow sr where sr.obsProgramOrdinal = :obsProgramOrdinal )) {obsProgramOrdinal=0}
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@2ac40994
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@15ddd3e5
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@6c4ac0cf
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:172) getApplicationContext Copy referential database to e6a73ffc-52f3-42ad-aa6a-f5e0b8e60a70
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:182) getApplicationContext Copy referential database : Complete
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:08:13 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@57ef085e
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@a081208
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@1a6d2dd9
2014/04/02 12:08:13 TRACE (SampleRowTopiaDao.java:149) toSampleRowHqlAndParametersBuilder query to filter sample rows for fr.ifremer.wao.SampleRowsFilter@7e458baa[obsProgram=OBSMER,sampleRowIds=<null>,periodFrom=<null>,periodTo=<null>,fishingZoneFacadeNames=<null>,fishingZoneSectorNames=<null>,sampleRowCodes=<null>,programNames=<null>,fishingGearDcfIds=<null>,targetSpeciesDcfIds=<null>,samplingStrategies=<null>,terrestrialDistrictIds=<null>,companyIds=<null>,orderByArguments=<null>] is from fr.ifremer.wao.entity.SampleRow sr where sr.obsProgramOrdinal = :obsProgramOrdinal {obsProgramOrdinal=0}
2014/04/02 12:08:13 TRACE (BoatTopiaDao.java:125) toSampleRowHqlAndParametersBuilder query to filter sample rows for fr.ifremer.wao.BoatsFilter@7d486aa[elligibleBoatsFilter=fr.ifremer.wao.SampleRowsFilter@7e458baa[obsProgram=OBSMER,sampleRowIds=<null>,periodFrom=<null>,periodTo=<null>,fishingZoneFacadeNames=<null>,fishingZoneSectorNames=<null>,sampleRowCodes=<null>,programNames=<null>,fishingGearDcfIds=<null>,targetSpeciesDcfIds=<null>,samplingStrategies=<null>,terrestrialDistrictIds=<null>,companyIds=<null>,orderByArguments=<null>],boatName=<null>,registrationCode=<null>,boatIds=<null>,shipOwnerIds=<null>,districtIds=<null>,portOfRegistryIds=<null>,fleetIds=<null>] is from fr.ifremer.wao.entity.Boat b where b.topiaId IN (SELECT eb.boat.topiaId FROM fr.ifremer.wao.entity.ElligibleBoatImpl eb WHERE eb.sampleRow.topiaId IN ( select sr.topiaId from fr.ifremer.wao.entity.SampleRow sr where sr.obsProgramOrdinal = :obsProgramOrdinal )) {obsProgramOrdinal=0}
2014/04/02 12:08:13 TRACE (SampleRowTopiaDao.java:149) toSampleRowHqlAndParametersBuilder query to filter sample rows for fr.ifremer.wao.SampleRowsFilter@7e458baa[obsProgram=OBSMER,sampleRowIds=<null>,periodFrom=<null>,periodTo=<null>,fishingZoneFacadeNames=<null>,fishingZoneSectorNames=<null>,sampleRowCodes=<null>,programNames=<null>,fishingGearDcfIds=<null>,targetSpeciesDcfIds=<null>,samplingStrategies=<null>,terrestrialDistrictIds=<null>,companyIds=<null>,orderByArguments=<null>] is from fr.ifremer.wao.entity.SampleRow sr where sr.obsProgramOrdinal = :obsProgramOrdinal {obsProgramOrdinal=0}
2014/04/02 12:08:13 TRACE (BoatTopiaDao.java:125) toSampleRowHqlAndParametersBuilder query to filter sample rows for fr.ifremer.wao.BoatsFilter@7d486aa[elligibleBoatsFilter=fr.ifremer.wao.SampleRowsFilter@7e458baa[obsProgram=OBSMER,sampleRowIds=<null>,periodFrom=<null>,periodTo=<null>,fishingZoneFacadeNames=<null>,fishingZoneSectorNames=<null>,sampleRowCodes=<null>,programNames=<null>,fishingGearDcfIds=<null>,targetSpeciesDcfIds=<null>,samplingStrategies=<null>,terrestrialDistrictIds=<null>,companyIds=<null>,orderByArguments=<null>],boatName=<null>,registrationCode=<null>,boatIds=<null>,shipOwnerIds=<null>,districtIds=<null>,portOfRegistryIds=<null>,fleetIds=<null>] is from fr.ifremer.wao.entity.Boat b where b.topiaId IN (SELECT eb.boat.topiaId FROM fr.ifremer.wao.entity.ElligibleBoatImpl eb WHERE eb.sampleRow.topiaId IN ( select sr.topiaId from fr.ifremer.wao.entity.SampleRow sr where sr.obsProgramOrdinal = :obsProgramOrdinal )) {obsProgramOrdinal=0}
2014/04/02 12:08:13 TRACE (SampleRowTopiaDao.java:149) toSampleRowHqlAndParametersBuilder query to filter sample rows for fr.ifremer.wao.SampleRowsFilter@7e458baa[obsProgram=OBSMER,sampleRowIds=<null>,periodFrom=<null>,periodTo=<null>,fishingZoneFacadeNames=<null>,fishingZoneSectorNames=<null>,sampleRowCodes=<null>,programNames=<null>,fishingGearDcfIds=<null>,targetSpeciesDcfIds=<null>,samplingStrategies=<null>,terrestrialDistrictIds=<null>,companyIds=<null>,orderByArguments=<null>] is from fr.ifremer.wao.entity.SampleRow sr where sr.obsProgramOrdinal = :obsProgramOrdinal {obsProgramOrdinal=0}
2014/04/02 12:08:13 TRACE (BoatTopiaDao.java:125) toSampleRowHqlAndParametersBuilder query to filter sample rows for fr.ifremer.wao.BoatsFilter@7d486aa[elligibleBoatsFilter=fr.ifremer.wao.SampleRowsFilter@7e458baa[obsProgram=OBSMER,sampleRowIds=<null>,periodFrom=<null>,periodTo=<null>,fishingZoneFacadeNames=<null>,fishingZoneSectorNames=<null>,sampleRowCodes=<null>,programNames=<null>,fishingGearDcfIds=<null>,targetSpeciesDcfIds=<null>,samplingStrategies=<null>,terrestrialDistrictIds=<null>,companyIds=<null>,orderByArguments=<null>],boatName=<null>,registrationCode=<null>,boatIds=<null>,shipOwnerIds=<null>,districtIds=<null>,portOfRegistryIds=<null>,fleetIds=<null>] is from fr.ifremer.wao.entity.Boat b where b.topiaId IN (SELECT eb.boat.topiaId FROM fr.ifremer.wao.entity.ElligibleBoatImpl eb WHERE eb.sampleRow.topiaId IN ( select sr.topiaId from fr.ifremer.wao.entity.SampleRow sr where sr.obsProgramOrdinal = :obsProgramOrdinal )) {obsProgramOrdinal=0}
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@a081208
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@1a6d2dd9
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@57ef085e
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.626 sec - in fr.ifremer.wao.services.service.ObsMerBoatsServiceTest
Running fr.ifremer.wao.services.service.InitWaoServiceTest
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:83) newApplicationContext will store H2 data in <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:13 TRACE (AbstractWaoServiceTest.java:84) newApplicationContext allJpaParameters = {hibernate.c3p0.max_statements=50, hibernate.c3p0.max_size=20, hibernate.c3p0.timeout=1800, hibernate.c3p0.min_size=5, hibernate.connection.url=jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…,> hibernate.connection.driver_class=org.h2.Driver, hibernate.format_sql=true, hibernate.connection.username=sa, hibernate.connection.password=, hibernate.hbm2ddl.auto=update, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.show_sql=false, topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory, hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy}
2014/04/02 12:08:13 DEBUG (AbstractWaoServiceTest.java:88) newApplicationContext jdbc url is
jdbc:h2:<http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
2014/04/02 12:08:14 TRACE (AbstractWaoServiceTest.java:94) newApplicationContext created root context fr.ifremer.wao.WaoTopiaApplicationContext@3e58d895
2014/04/02 12:08:14 TRACE (AbstractWaoServiceTest.java:202) newPersistenceContext opened transaction fr.ifremer.wao.WaoTopiaPersistenceContext@243d44a1
2014/04/02 12:08:14 TRACE (AbstractWaoServiceTest.java:217) tearDown closing transaction fr.ifremer.wao.WaoTopiaPersistenceContext@243d44a1
2014/04/02 12:08:14 TRACE (AbstractWaoServiceTest.java:227) tearDown closing transaction fr.ifremer.wao.WaoTopiaApplicationContext@3e58d895
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.281 sec - in fr.ifremer.wao.services.service.InitWaoServiceTest
Results :
Tests run: 20, Failures: 0, Errors: 0, Skipped: 0
[JENKINS] Recording test results
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ wao-services ---
[INFO] Building jar: <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
[INFO]
[INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) @ wao-services >>>
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (ensure-no-container-api) @ wao-services ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ wao-services ---
[INFO]
[INFO] --- helper-maven-plugin:2.1:share-server-secret (get-redmine-login) @ wao-services ---
[INFO] Skipping goal (runOnce flag is on and goal was already executed).
[WARNING] Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo
[INFO]
[INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) @ wao-services <<<
[INFO]
[INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ wao-services ---
[INFO] Building jar: <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
[INFO]
[INFO] --- maven-javadoc-plugin:2.9.1:jar (attach-javadocs) @ wao-services ---
[INFO]
1 warning
[WARNING] Javadoc Warnings
[WARNING] <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>:572: warning - @returns is an unknown tag.
[INFO] Building jar: <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-services/ws/…>
[INFO]
[INFO] --- maven-site-plugin:3.3:attach-descriptor (attach-descriptor) @ wao-services ---
[INFO]
[INFO] --- helper-maven-plugin:2.1:share-server-secret (get-pgp-passphrase) @ wao-services ---
[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-services ---
[INFO] Loaded /var/local/forge/data/codelutin.com/jenkins/workspace/wao-nightly/trunk/target/collect-artifacts.txt
[INFO] Copying wao-services-4.0-SNAPSHOT.jar to /var/local/forge/data/codelutin.com/jenkins/workspace/wao-nightly/trunk/target/collect/fr.ifremer--wao-services/wao-services-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-services/THIRD-PARTY.properties
[INFO] Copying wao-services-4.0-SNAPSHOT-sources.jar to /var/local/forge/data/codelutin.com/jenkins/workspace/wao-nightly/trunk/target/collect/fr.ifremer--wao-services/wao-services-4.0-SNAPSHOT-sources.jar
[INFO] Copying wao-services-4.0-SNAPSHOT-javadoc.jar to /var/local/forge/data/codelutin.com/jenkins/workspace/wao-nightly/trunk/target/collect/fr.ifremer--wao-services/wao-services-4.0-SNAPSHOT-javadoc.jar
[INFO]
[INFO] --- helper-maven-plugin:2.1:collect-files (collect-build-attachements) @ wao-services ---
[WARNING] Skipping goal (No file to collect).
[INFO]
[INFO] --- maven-gpg-plugin:1.5:sign (sign-artifacts) @ wao-services ---
[INFO]
[INFO] --- maven-dependency-plugin:2.8:analyze-only (analyze) @ wao-services ---
[INFO] Used declared dependencies found:
[INFO] org.nuiton:nuiton-csv:jar:3.0-alpha-3:compile
[INFO] org.nuiton.i18n:nuiton-i18n:jar:3.0:compile
[INFO] org.nuiton:nuiton-utils:jar:3.0-SNAPSHOT:compile
[INFO] com.github.spullara.mustache.java:compiler:jar:0.8.13:compile
[INFO] org.apache.commons:commons-email:jar:1.3.2:compile
[INFO] com.h2database:h2:jar:1.3.175:test
[INFO] fr.ifremer:wao-persistence:jar:4.0-SNAPSHOT:compile
[INFO] org.nuiton.topia:topia-persistence:jar:3.0-SNAPSHOT:compile
[INFO] org.hibernate:hibernate-core:jar:4.2.8.Final:compile
[INFO] org.apache.commons:commons-lang3:jar:3.3:compile
[INFO] commons-logging:commons-logging:jar:1.1.3:compile
[INFO] com.google.guava:guava:jar:16.0.1:compile
[INFO] org.apache.commons:commons-collections4:jar:4.0:compile
[INFO] commons-io:commons-io:jar:2.4:compile
[INFO] junit:junit:jar:4.11:test
[INFO] org.apache.struts.xwork:xwork-core:jar:2.3.16.1:compile
[INFO] org.mockito:mockito-core:jar:1.9.5:test
[WARNING] Used undeclared dependencies found:
[WARNING] commons-collections:commons-collections:jar:3.2.1:compile
[JENKINS] Archiving disabled
1
0
01 Apr '14
Author: tchemit
Date: 2014-04-01 17:13:11 +0200 (Tue, 01 Apr 2014)
New Revision: 1791
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1791
Log:
refs-30 #4490
Added:
trunk/wao-persistence/src/main/java/fr/ifremer/wao/BoatsFilter.java
trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/BoatTopiaDao.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/BoatsFilterValues.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerBoatsList.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerBoatsService.java
trunk/wao-services/src/test/java/fr/ifremer/wao/services/service/ObsMerBoatsServiceTest.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoJsonActionSupport.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/BoatsAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/BoatsFilterValuesJsonAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ExportBoatsAction.java
trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/boats.jsp
Removed:
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/json/WaoJsonActionSupport.java
Modified:
trunk/wao-persistence/src/main/java/fr/ifremer/wao/SampleRowsFilter.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/SampleRowsFilterValuesJsonAction.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
trunk/wao-web/src/main/webapp/wao.js
Added: trunk/wao-persistence/src/main/java/fr/ifremer/wao/BoatsFilter.java
===================================================================
--- trunk/wao-persistence/src/main/java/fr/ifremer/wao/BoatsFilter.java (rev 0)
+++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/BoatsFilter.java 2014-04-01 15:13:11 UTC (rev 1791)
@@ -0,0 +1,163 @@
+package fr.ifremer.wao;
+
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+
+import java.io.Serializable;
+import java.util.Objects;
+import java.util.Set;
+
+/**
+ * Created on 4/1/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 4.0
+ */
+public class BoatsFilter implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * SampleRows filter on facade, zone, linecode.
+ */
+ protected SampleRowsFilter elligibleBoatsFilter;
+
+ /**
+ * Filter on boat name.
+ */
+ protected String boatName;
+
+ /**
+ * filter on registration code.
+ */
+ protected String registrationCode;
+
+ /**
+ * Filter on boat ids.
+ */
+ protected Set<String> boatIds;
+
+ /**
+ * Filter on shipOwners.
+ */
+ protected Set<String> shipOwnerIds;
+
+ /**
+ * Filter on some districts.
+ */
+ protected Set<String> districtIds;
+
+ /**
+ * Filter on some ports of registry.
+ */
+ protected Set<String> portOfRegistryIds;
+
+ /**
+ * Filter on some fleets.
+ */
+ protected Set<String> fleetIds;
+
+ public BoatsFilter() {
+ elligibleBoatsFilter = new SampleRowsFilter();
+ }
+
+ public SampleRowsFilter getElligibleBoatsFilter() {
+ return elligibleBoatsFilter;
+ }
+
+ public void setElligibleBoatsFilter(SampleRowsFilter elligibleBoatsFilter) {
+ this.elligibleBoatsFilter = elligibleBoatsFilter;
+ }
+
+ public String getBoatName() {
+ return boatName;
+ }
+
+ public void setBoatName(String boatName) {
+ this.boatName = boatName;
+ }
+
+ public String getRegistrationCode() {
+ return registrationCode;
+ }
+
+ public void setRegistrationCode(String registrationCode) {
+ this.registrationCode = registrationCode;
+ }
+
+ public Set<String> getBoatIds() {
+ return boatIds;
+ }
+
+ public void setBoatIds(Set<String> boatIds) {
+ this.boatIds = boatIds;
+ }
+
+ public Set<String> getShipOwnerIds() {
+ return shipOwnerIds;
+ }
+
+ public void setShipOwnerIds(Set<String> shipOwnerIds) {
+ this.shipOwnerIds = shipOwnerIds;
+ }
+
+ public Set<String> getDistrictIds() {
+ return districtIds;
+ }
+
+ public void setDistrictIds(Set<String> districtIds) {
+ this.districtIds = districtIds;
+ }
+
+ public Set<String> getPortOfRegistryIds() {
+ return portOfRegistryIds;
+ }
+
+ public void setPortOfRegistryIds(Set<String> portOfRegistryIds) {
+ this.portOfRegistryIds = portOfRegistryIds;
+ }
+
+ public Set<String> getFleetIds() {
+ return fleetIds;
+ }
+
+ public void setFleetIds(Set<String> fleetIds) {
+ this.fleetIds = fleetIds;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ BoatsFilter that = (BoatsFilter) o;
+
+ boolean equals = elligibleBoatsFilter.equals(that.elligibleBoatsFilter)
+ && Objects.equals(boatName, that.boatName)
+ && Objects.equals(registrationCode, that.registrationCode)
+ && WaoUtils.isEqualCollection(boatIds, that.boatIds)
+ && WaoUtils.isEqualCollection(shipOwnerIds, that.shipOwnerIds)
+ && WaoUtils.isEqualCollection(districtIds, that.districtIds)
+ && WaoUtils.isEqualCollection(portOfRegistryIds, that.portOfRegistryIds)
+ && WaoUtils.isEqualCollection(fleetIds, that.fleetIds);
+ return equals;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = elligibleBoatsFilter.hashCode();
+ hashCode = 31 * hashCode + Objects.hashCode(boatName);
+ hashCode = 31 * hashCode + Objects.hashCode(registrationCode);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(boatIds);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(shipOwnerIds);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(districtIds);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(portOfRegistryIds);
+ hashCode = 31 * hashCode + WaoUtils.collectionHashcode(fleetIds);
+ return hashCode;
+ }
+
+ @Override
+ public String toString() {
+ return ReflectionToStringBuilder.reflectionToString(this);
+ }
+}
Property changes on: trunk/wao-persistence/src/main/java/fr/ifremer/wao/BoatsFilter.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/SampleRowsFilter.java
===================================================================
--- trunk/wao-persistence/src/main/java/fr/ifremer/wao/SampleRowsFilter.java 2014-04-01 15:02:59 UTC (rev 1790)
+++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/SampleRowsFilter.java 2014-04-01 15:13:11 UTC (rev 1791)
@@ -182,6 +182,9 @@
this.sampleRowIds = sampleRowIds;
}
+ public boolean isFilled() {
+ return false;
+ }
@Override
public boolean equals(Object o) {
Added: trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/BoatTopiaDao.java
===================================================================
--- trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/BoatTopiaDao.java (rev 0)
+++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/BoatTopiaDao.java 2014-04-01 15:13:11 UTC (rev 1791)
@@ -0,0 +1,109 @@
+package fr.ifremer.wao.entity;
+
+
+import com.google.common.collect.ImmutableMap;
+import fr.ifremer.wao.BoatsFilter;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.topia.persistence.HqlAndParametersBuilder;
+import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
+
+import java.util.List;
+
+public class BoatTopiaDao extends AbstractBoatTopiaDao<Boat> {
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(BoatTopiaDao.class);
+
+ public TopiaPagerBean newPager(BoatsFilter filter,
+ int pageSize,
+ int pageIndex,
+ String sortProperty,
+ boolean sortAscendant) {
+
+ HqlAndParametersBuilder<Boat> query = toSampleRowHqlAndParametersBuilder(filter);
+
+ TopiaPagerBean pager = newPager(query.getHql(), query.getHqlParameters(), pageSize);
+ pager.setPageIndex(pageIndex);
+ pager.setSortColumn(sortProperty);
+ pager.setSortAscendant(sortAscendant);
+ return pager;
+ }
+
+ public List<Boat> findAll(BoatsFilter filter) {
+
+ HqlAndParametersBuilder<Boat> query = toSampleRowHqlAndParametersBuilder(filter);
+
+ List<Boat> boats = findAll(query.getHql(), query.getHqlParameters());
+ return boats;
+ }
+
+ public List<Boat> find(BoatsFilter filter, TopiaPagerBean pager) {
+
+ HqlAndParametersBuilder<Boat> query = toSampleRowHqlAndParametersBuilder(filter);
+
+ List<Boat> boats = find(query.getHql(), query.getHqlParameters(), pager);
+ return boats;
+ }
+
+ protected HqlAndParametersBuilder<Boat> toSampleRowHqlAndParametersBuilder(BoatsFilter filter) {
+
+ HqlAndParametersBuilder<Boat> query = newHqlAndParametersBuilder();
+
+ query.setAlias("b");
+
+ SampleRowTopiaDao sampleRowTopiaDao =
+ topiaDaoSupplier.getDao(SampleRow.class, SampleRowTopiaDao.class);
+ HqlAndParametersBuilder<SampleRow> sampleRowsQuery =
+ sampleRowTopiaDao.toSampleRowHqlAndParametersBuilder(
+ filter.getElligibleBoatsFilter()
+ );
+ query.addWhereClause("b.topiaId IN (SELECT eb.boat.topiaId FROM fr.ifremer.wao.entity.ElligibleBoatImpl eb WHERE eb.sampleRow.topiaId IN ( select sr.topiaId " + sampleRowsQuery.getHql() + " ))",
+ sampleRowsQuery.getHqlParameters());
+
+ if (CollectionUtils.isNotEmpty(filter.getBoatIds())) {
+ query.addIn(TopiaEntity.PROPERTY_TOPIA_ID, filter.getBoatIds());
+ }
+
+ if (StringUtils.isNotEmpty(filter.getBoatName())) {
+ query.addLike(Boat.PROPERTY_NAME, filter.getBoatName() + "%");
+ }
+
+ if (StringUtils.isNotEmpty(filter.getRegistrationCode())) {
+ //FIXME !
+ query.addLike(Boat.PROPERTY_IMMATRICULATION + "::text", filter.getRegistrationCode() + "%");
+ }
+ if (CollectionUtils.isNotEmpty(filter.getShipOwnerIds())) {
+ query.addWhereClause(
+ "b.topiaId IN (SELECT b2.topiaId FROM fr.ifremer.wao.entity.BoatImpl AS b2 JOIN b2.shipOwner AS district WHERE shipOwner.topiaId IN (:shipOwnerIds))",
+ ImmutableMap.of("shipOwnerIds", (Object) filter.getShipOwnerIds()));
+ }
+
+ if (CollectionUtils.isNotEmpty(filter.getDistrictIds())) {
+ query.addWhereClause(
+ "b.topiaId IN (SELECT b2.topiaId FROM fr.ifremer.wao.entity.BoatImpl AS b2 JOIN b2.district AS district WHERE district.topiaId IN (:districtIds))",
+ ImmutableMap.of("districtIds", (Object) filter.getDistrictIds()));
+ }
+
+ if (CollectionUtils.isNotEmpty(filter.getPortOfRegistryIds())) {
+ query.addWhereClause(
+ "b.topiaId IN (SELECT b2.topiaId FROM fr.ifremer.wao.entity.BoatImpl AS b2 JOIN b2.portOfRegistry AS portOfRegistry WHERE portOfRegistry.topiaId IN (:portOfRegistryIds))",
+ ImmutableMap.of("portOfRegistryIds", (Object) filter.getPortOfRegistryIds()));
+ }
+
+ if (CollectionUtils.isNotEmpty(filter.getFleetIds())) {
+ query.addWhereClause(
+ "b.topiaId IN (SELECT b2.topiaId FROM fr.ifremer.wao.entity.BoatImpl AS b2 JOIN b2.fleet AS district WHERE fleet.topiaId IN (:fleetIds))",
+ ImmutableMap.of("fleetIds", (Object) filter.getFleetIds()));
+ }
+
+ if (log.isTraceEnabled()) {
+ log.trace("query to filter sample rows for " + filter + " is " + query.getHql() + " " + query.getHqlParameters());
+ }
+
+ return query;
+ }
+}
Property changes on: trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/BoatTopiaDao.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/BoatsFilterValues.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/BoatsFilterValues.java (rev 0)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/BoatsFilterValues.java 2014-04-01 15:13:11 UTC (rev 1791)
@@ -0,0 +1,102 @@
+package fr.ifremer.wao.services.service;
+
+import fr.ifremer.wao.BoatsFilter;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.ElligibleBoat;
+import fr.ifremer.wao.entity.Fleet;
+import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.entity.ShipOwner;
+import fr.ifremer.wao.entity.TerrestrialLocation;
+
+import java.io.Serializable;
+import java.util.Locale;
+import java.util.SortedSet;
+import java.util.TreeSet;
+
+/**
+ * Bean to hold all values that user can select to fill {@link BoatsFilter}.
+ * Created on 4/1/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 4.0
+ */
+public class BoatsFilterValues implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ protected Locale locale;
+
+ protected SampleRowsFilterValues elligibleBoatsFilterValues;
+
+ protected SortedSet<FilterOption> shipOwners = new TreeSet<>();
+
+ protected SortedSet<FilterOption> districts = new TreeSet<>();
+
+ protected SortedSet<FilterOption> portsOfRegistry = new TreeSet<>();
+
+ protected SortedSet<FilterOption> fleets = new TreeSet<>();
+
+ public BoatsFilterValues(Locale locale) {
+ this(locale, new SampleRowsFilterValues(locale));
+ }
+
+ public BoatsFilterValues(Locale locale, SampleRowsFilterValues elligibleBoatsFilterValues) {
+ this.locale = locale;
+ this.elligibleBoatsFilterValues = elligibleBoatsFilterValues;
+ }
+
+ public void addBoat(Boat boat) {
+
+ ShipOwner shipOwner = boat.getShipOwner();
+ shipOwners.add(FilterOption.forValueAndLabel(
+ shipOwner.getTopiaId(),
+ shipOwner.getFirstName() + " - " + shipOwner.getLastName()));
+
+ TerrestrialLocation district = boat.getDistrict();
+ if (district != null) {
+ districts.add(FilterOption.forValueAndLabel(
+ district.getTopiaId(),
+ district.getDescription()));
+ }
+
+ TerrestrialLocation portOfRegistry = boat.getPortOfRegistry();
+ if (portOfRegistry != null) {
+ portsOfRegistry.add(FilterOption.forValueAndLabel(
+ portOfRegistry.getTopiaId(),
+ portOfRegistry.getDescription())
+ );
+ }
+
+ Fleet fleet = boat.getFleet();
+ if (fleet != null) {
+ fleets.add(FilterOption.forValueAndLabel(
+ fleet.getTopiaId(),
+ fleet.getDescription()));
+ }
+
+ for (ElligibleBoat elligibleBoat : boat.getElligibleBoat()) {
+ SampleRow sampleRow = elligibleBoat.getSampleRow();
+ elligibleBoatsFilterValues.addSampleRow(sampleRow);
+ }
+ }
+
+ public SampleRowsFilterValues getElligibleBoatsFilterValues() {
+ return elligibleBoatsFilterValues;
+ }
+
+ public SortedSet<FilterOption> getShipOwners() {
+ return shipOwners;
+ }
+
+ public SortedSet<FilterOption> getDistricts() {
+ return districts;
+ }
+
+ public SortedSet<FilterOption> getPortsOfRegistry() {
+ return portsOfRegistry;
+ }
+
+ public SortedSet<FilterOption> getFleets() {
+ return fleets;
+ }
+}
Property changes on: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/BoatsFilterValues.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerBoatsList.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerBoatsList.java (rev 0)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerBoatsList.java 2014-04-01 15:13:11 UTC (rev 1791)
@@ -0,0 +1,48 @@
+package fr.ifremer.wao.services.service;
+
+import fr.ifremer.wao.entity.Boat;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * Created on 4/1/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 4.0
+ */
+public class ObsMerBoatsList implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ protected TopiaPagerBean pager;
+
+ protected List<Boat> boats;
+
+ protected BoatsFilterValues filterValues;
+
+ public TopiaPagerBean getPager() {
+ return pager;
+ }
+
+ public void setPager(TopiaPagerBean pager) {
+ this.pager = pager;
+ }
+
+ public List<Boat> getBoats() {
+ return boats;
+ }
+
+ public void setBoats(List<Boat> boats) {
+ this.boats = boats;
+ }
+
+ public BoatsFilterValues getFilterValues() {
+ return filterValues;
+ }
+
+ public void setFilterValues(BoatsFilterValues filterValues) {
+ this.filterValues = filterValues;
+ }
+}
Property changes on: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerBoatsList.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerBoatsService.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerBoatsService.java (rev 0)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerBoatsService.java 2014-04-01 15:13:11 UTC (rev 1791)
@@ -0,0 +1,128 @@
+package fr.ifremer.wao.services.service;
+
+import com.google.common.base.Charsets;
+import com.google.common.collect.Sets;
+import fr.ifremer.wao.BoatsFilter;
+import fr.ifremer.wao.SampleRowsFilter;
+import fr.ifremer.wao.WaoTechnicalException;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.BoatTopiaDao;
+import fr.ifremer.wao.services.AuthenticatedWaoUser;
+import fr.ifremer.wao.services.service.csv.BoatImportExportModel;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.csv.Export;
+import org.nuiton.csv.ExportModel;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
+
+import java.io.InputStream;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+
+/**
+ * Created on 4/1/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 4.0
+ */
+public class ObsMerBoatsService extends WaoServiceSupport {
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(ObsMerBoatsService.class);
+
+ public BoatsFilterValues getBoatsFilterValues(BoatsFilter filter) {
+
+ BoatTopiaDao dao = getBoatDao();
+ List<Boat> boats = dao.findAll(filter);
+
+ BoatsFilterValues boatsFilterValues = new BoatsFilterValues(serviceContext.getLocale());
+
+ for (Boat boat : boats) {
+ boatsFilterValues.addBoat(boat);
+ }
+
+ return boatsFilterValues;
+ }
+
+ public ObsMerBoatsList getBoatsList(BoatsFilter filter,
+ int pageSize,
+ int pageIndex,
+ String sortProperty,
+ boolean sortAscendant) {
+
+ BoatTopiaDao dao = getBoatDao();
+
+ TopiaPagerBean pager = dao.newPager(filter,
+ pageSize,
+ pageIndex,
+ sortProperty,
+ sortAscendant);
+
+ List<Boat> boats = dao.find(filter, pager);
+
+ BoatsFilterValues boatsFilterValues = getBoatsFilterValues(filter);
+
+ ObsMerBoatsList obsMerBoatsList = new ObsMerBoatsList();
+ obsMerBoatsList.setBoats(boats);
+ obsMerBoatsList.setPager(pager);
+ obsMerBoatsList.setFilterValues(boatsFilterValues);
+ return obsMerBoatsList;
+ }
+
+ public BoatsFilter newBoatsFilter(AuthenticatedWaoUser authenticatedWaoUser) {
+
+ SampleRowsFilter sampleRowsFilter = new SampleRowsFilter();
+
+ BoatsFilter boatsFilter = new BoatsFilter();
+
+ sampleRowsFilter.setObsProgram(authenticatedWaoUser.getObsProgram());
+
+ if (authenticatedWaoUser.isProfessional()) {
+ // Pour le profesionnel, on restreint d'office à la liste des bateaux qu'il peut voir
+ Collection<Boat> canReadBoats = authenticatedWaoUser.getWaoUser().getCanReadBoats();
+
+ if (CollectionUtils.isEmpty(canReadBoats)) {
+ if (log.isWarnEnabled()) {
+ log.warn("user " + authenticatedWaoUser.getWaoUser() + " is professional but can't read any boat");
+ }
+ } else {
+ boatsFilter.setBoatIds(new HashSet<>(authenticatedWaoUser.getWaoUser().getCanReadBoatsTopiaIds()));
+ }
+ }
+
+ if (authenticatedWaoUser.isCoordinatorOrObserver()) {
+
+ sampleRowsFilter.setCompanyIds(Sets.newHashSet(authenticatedWaoUser.getCompany().getTopiaId()));
+ }
+
+ boatsFilter.setElligibleBoatsFilter(sampleRowsFilter);
+ return boatsFilter;
+ }
+
+ public InputStream exportBoats(BoatsFilter filter) {
+
+ BoatTopiaDao dao = getBoatDao();
+
+ List<Boat> sampleRows = dao.findAll(filter);
+
+ ExportModel<Boat> exportModel =
+ new BoatImportExportModel();
+
+ Export<Boat> export = Export.newExport(exportModel, sampleRows);
+
+ try {
+
+ String csvContent = export.toString(Charsets.UTF_8);
+
+ InputStream csvInputStream = IOUtils.toInputStream(csvContent, Charsets.UTF_8);
+
+ return csvInputStream;
+
+ } catch (Exception e) {
+ throw new WaoTechnicalException(e);
+ }
+ }
+}
Property changes on: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerBoatsService.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
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-04-01 15:02:59 UTC (rev 1790)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleRowsFilterValues.java 2014-04-01 15:13:11 UTC (rev 1791)
@@ -1,5 +1,6 @@
package fr.ifremer.wao.services.service;
+import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.DCF5Code;
import fr.ifremer.wao.entity.FishingGearDCF;
import fr.ifremer.wao.entity.FishingZone;
@@ -57,7 +58,11 @@
}
sampleRowCodes.add(FilterOption.forString(sampleRow.getCode()));
programNames.add(FilterOption.forString(sampleRow.getProgramName()));
- companies.add(FilterOption.forValueAndLabel(sampleRow.getCompany().getTopiaId(), sampleRow.getCompany().getName()));
+
+ Company company = sampleRow.getCompany();
+ if (company != null) {
+ companies.add(FilterOption.forValueAndLabel(company.getTopiaId(), company.getName()));
+ }
samplingStrategies.add(FilterOption.forEnum(sampleRow.getSamplingStrategy()));
if (sampleRow.getObsProgram().isObsVente()) {
TerrestrialLocation terrestrialDistrict = sampleRow.getTerrestrialLocation();
Added: trunk/wao-services/src/test/java/fr/ifremer/wao/services/service/ObsMerBoatsServiceTest.java
===================================================================
--- trunk/wao-services/src/test/java/fr/ifremer/wao/services/service/ObsMerBoatsServiceTest.java (rev 0)
+++ trunk/wao-services/src/test/java/fr/ifremer/wao/services/service/ObsMerBoatsServiceTest.java 2014-04-01 15:13:11 UTC (rev 1791)
@@ -0,0 +1,49 @@
+package fr.ifremer.wao.services.service;
+
+import fr.ifremer.wao.BoatsFilter;
+import fr.ifremer.wao.services.AbstractWaoServiceTest;
+import fr.ifremer.wao.services.ObsMerFixtures;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Created on 4/1/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 4.0
+ */
+public class ObsMerBoatsServiceTest extends AbstractWaoServiceTest {
+
+ protected ObsMerBoatsService service;
+
+ protected ObsMerFixtures fixtures;
+
+ @Before
+ public void setUp() {
+ service = newService(ObsMerBoatsService.class);
+ fixtures = new ObsMerFixtures(newServiceContext());
+ }
+
+ protected boolean isDatabaseWithReferential() {
+ return true;
+ }
+
+ @Test
+ public void testGetBoatsFilterValues() {
+
+ BoatsFilter filter = service.newBoatsFilter(fixtures.admin());
+
+ BoatsFilterValues boatsFilterValues = service.getBoatsFilterValues(filter);
+
+ }
+
+ @Test
+ public void testGetBoatsList() {
+
+ BoatsFilter filter = service.newBoatsFilter(fixtures.admin());
+
+ ObsMerBoatsList boatsList = service.getBoatsList(filter, 50, 0, null, false);
+
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/wao-services/src/test/java/fr/ifremer/wao/services/service/ObsMerBoatsServiceTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Copied: trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoJsonActionSupport.java (from rev 1786, trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/json/WaoJsonActionSupport.java)
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoJsonActionSupport.java (rev 0)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoJsonActionSupport.java 2014-04-01 15:13:11 UTC (rev 1791)
@@ -0,0 +1,34 @@
+package fr.ifremer.wao.web;
+
+/*
+ * #%L
+ * Wao :: Web
+ * %%
+ * Copyright (C) 2009 - 2014 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+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;
+
+}
Deleted: 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-04-01 15:02:59 UTC (rev 1790)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/json/WaoJsonActionSupport.java 2014-04-01 15:13:11 UTC (rev 1791)
@@ -1,35 +0,0 @@
-package fr.ifremer.wao.web.action.json;
-
-/*
- * #%L
- * Wao :: Web
- * %%
- * Copyright (C) 2009 - 2014 Ifremer
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-
-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/BoatsAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/BoatsAction.java (rev 0)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/BoatsAction.java 2014-04-01 15:13:11 UTC (rev 1791)
@@ -0,0 +1,95 @@
+package fr.ifremer.wao.web.action.obsmer;
+
+import com.opensymphony.xwork2.Preparable;
+import fr.ifremer.wao.BoatsFilter;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.services.service.BoatsFilterValues;
+import fr.ifremer.wao.services.service.ObsMerBoatsList;
+import fr.ifremer.wao.services.service.ObsMerBoatsService;
+import fr.ifremer.wao.web.WaoJspActionSupport;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
+
+import java.util.List;
+
+/**
+ * Created on 4/1/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 4.0
+ */
+public class BoatsAction extends WaoJspActionSupport implements Preparable {
+
+ private static final long serialVersionUID = 1L;
+
+ protected transient ObsMerBoatsService service;
+
+ protected BoatsFilter filter;
+
+ protected int pageIndex = 0;
+
+ protected int pageSize = 50;
+
+ protected String sortProperty;
+
+ protected boolean sortAscendant;
+
+ protected ObsMerBoatsList boatList;
+
+ public void setPageIndex(int pageIndex) {
+ this.pageIndex = pageIndex;
+ }
+
+ public void setPageSize(int pageSize) {
+ this.pageSize = pageSize;
+ }
+
+ public void setSortProperty(String sortProperty) {
+ this.sortProperty = sortProperty;
+ }
+
+ public void setSortAscendant(boolean sortAscendant) {
+ this.sortAscendant = sortAscendant;
+ }
+
+ public void setService(ObsMerBoatsService service) {
+ this.service = service;
+ }
+
+ public BoatsFilter getFilter() {
+ if (filter == null) {
+ prepare();
+ }
+ return filter;
+ }
+
+ public List<Boat> getBoats() {
+ return boatList.getBoats();
+ }
+
+ public TopiaPagerBean getPager() {
+ return boatList.getPager();
+ }
+
+ public BoatsFilterValues getFilterValues() {
+ return boatList.getFilterValues();
+ }
+
+ @Override
+ public void prepare() {
+
+ filter = service.newBoatsFilter(getAuthenticatedWaoUser());
+ }
+
+ @Override
+ public String execute() {
+
+ boatList = service.getBoatsList(filter,
+ pageSize,
+ pageIndex,
+ sortProperty,
+ sortAscendant);
+
+ return SUCCESS;
+ }
+
+}
Property changes on: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/BoatsAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/BoatsFilterValuesJsonAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/BoatsFilterValuesJsonAction.java (rev 0)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/BoatsFilterValuesJsonAction.java 2014-04-01 15:13:11 UTC (rev 1791)
@@ -0,0 +1,53 @@
+package fr.ifremer.wao.web.action.obsmer;
+
+import com.opensymphony.xwork2.Preparable;
+import fr.ifremer.wao.BoatsFilter;
+import fr.ifremer.wao.services.service.BoatsFilterValues;
+import fr.ifremer.wao.services.service.ObsMerBoatsService;
+import fr.ifremer.wao.web.WaoJsonActionSupport;
+
+/**
+ * Created on 4/1/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 4.0
+ */
+public class BoatsFilterValuesJsonAction extends WaoJsonActionSupport implements Preparable {
+
+ private static final long serialVersionUID = 1L;
+
+ protected transient ObsMerBoatsService service;
+
+ protected BoatsFilter filter;
+
+ protected BoatsFilterValues filterValues;
+
+ public void setService(ObsMerBoatsService service) {
+ this.service = service;
+ }
+
+ public BoatsFilter getFilter() {
+ if (filter == null) {
+ prepare();
+ }
+ return filter;
+ }
+
+ public BoatsFilterValues getFilterValues() {
+ return filterValues;
+ }
+
+ @Override
+ public void prepare() {
+
+ filter = service.newBoatsFilter(session.getAuthenticatedWaoUser());
+ }
+
+ @Override
+ public String execute() {
+
+ filterValues = service.getBoatsFilterValues(filter);
+ return SUCCESS;
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/BoatsFilterValuesJsonAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ExportBoatsAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ExportBoatsAction.java (rev 0)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ExportBoatsAction.java 2014-04-01 15:13:11 UTC (rev 1791)
@@ -0,0 +1,57 @@
+package fr.ifremer.wao.web.action.obsmer;
+
+import com.opensymphony.xwork2.Preparable;
+import fr.ifremer.wao.BoatsFilter;
+import fr.ifremer.wao.services.service.ObsMerBoatsService;
+import fr.ifremer.wao.web.action.AbstractDownloadCsvAction;
+
+import java.io.InputStream;
+import java.util.Date;
+
+/**
+ * Created on 4/1/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 4.0
+ */
+public class ExportBoatsAction extends AbstractDownloadCsvAction implements Preparable {
+
+ private static final long serialVersionUID = 1L;
+
+ protected transient ObsMerBoatsService service;
+
+ protected BoatsFilter filter;
+
+ public void setService(ObsMerBoatsService service) {
+ this.service = service;
+ }
+
+ public BoatsFilter getFilter() {
+ if (filter == null) {
+ prepare();
+ }
+ return filter;
+ }
+
+ @Override
+ public void prepare() {
+
+ filter = service.newBoatsFilter(getAuthenticatedWaoUser());
+
+ }
+
+ @Override
+ public String getFileName() {
+
+ return "boats_" + getObsProgram().name() + "_" + dateFormat.format(new Date()) + ".csv";
+
+ }
+
+ @Override
+ public InputStream getInputStream() {
+
+ return service.exportBoats(filter);
+
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ExportBoatsAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: 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 2014-04-01 15:02:59 UTC (rev 1790)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SampleRowsFilterValuesJsonAction.java 2014-04-01 15:13:11 UTC (rev 1791)
@@ -5,7 +5,7 @@
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;
+import fr.ifremer.wao.web.WaoJsonActionSupport;
public class SampleRowsFilterValuesJsonAction extends WaoJsonActionSupport implements Preparable {
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-04-01 15:02:59 UTC (rev 1790)
+++ trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties 2014-04-01 15:13:11 UTC (rev 1791)
@@ -88,11 +88,18 @@
wao.ui.boatList=List of %s boats
wao.ui.boatinfo.title=Infos about %s
wao.ui.boats.associatedLine=Sample row(s) associated with this boat
+wao.ui.boats.boatLength=Length
+wao.ui.boats.boatName=Name
+wao.ui.boats.buildYear=Build year
+wao.ui.boats.district=District
wao.ui.boats.nbObservations=%s observation(s), %s with your company (all programs considered)
+wao.ui.boats.portOfRegistry=Port
wao.ui.boats.portOfRegistry.description=It's the main operating port of the boat
wao.ui.boats.portOfRegistry.header=Port
+wao.ui.boats.registrationCode=Registration code
wao.ui.boats.selecting=You are currently selecting a boat for the row %s
wao.ui.boats.substitutes=Substitutes for this boat
+wao.ui.boats.title=Liste de %s navires
wao.ui.cartography.help=Click on the graphs to get the details.
wao.ui.cartography.title=Dispatching of the contacts among boat districts
wao.ui.cartography.title.company=Dispatching of the contacts among boat districts for company %s
@@ -218,6 +225,8 @@
wao.ui.filters.filters=Search filters
wao.ui.filters.refresh=Refresh filters
wao.ui.forgotPassword=Forgot password ?
+wao.ui.form.Boat.name=Name
+wao.ui.form.Boat.registrationCode=Registration number
wao.ui.form.Company.error.nameMustBeUnique=Company name must be unique
wao.ui.form.Company.title.creation=Create a new company
wao.ui.form.Company.title.edition=Edit company %s
@@ -252,6 +261,7 @@
wao.ui.form.authentication.error.wrongCredentials=Incorrect credentials
wao.ui.form.authentication.title=WAO authentication
wao.ui.form.boardingFrom=Boardings since
+wao.ui.form.boatName.placeholder=Name of boat
wao.ui.form.contactsFile=Contacts file
wao.ui.form.definePasswordManually=Define password manually
wao.ui.form.editComment=Edit comment
@@ -270,6 +280,7 @@
wao.ui.form.program=Program
wao.ui.form.programEvaluation=Program evaluation
wao.ui.form.readOnly=read-only
+wao.ui.form.registrationCode.placeholder=Registration number
wao.ui.form.removeRole=remove this role
wao.ui.form.repeatPassword=Repeat password
wao.ui.form.roles=Roles
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-04-01 15:02:59 UTC (rev 1790)
+++ trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties 2014-04-01 15:13:11 UTC (rev 1791)
@@ -88,11 +88,18 @@
wao.ui.boatList=Liste de %s navires
wao.ui.boatinfo.title=Informations sur %s
wao.ui.boats.associatedLine=Ligne(s) du plan associée(s) à ce navire
+wao.ui.boats.boatLength=Longueur
+wao.ui.boats.boatName=nom
+wao.ui.boats.buildYear=Année de construction
+wao.ui.boats.district=Quatier maritime
wao.ui.boats.nbObservations=%s observation(s) dont %s avec votre société
+wao.ui.boats.portOfRegistry=Port
wao.ui.boats.portOfRegistry.description=Il s'agit du port d'exploitation principal du navire
wao.ui.boats.portOfRegistry.header=Port
+wao.ui.boats.registrationCode=Immatriculation
wao.ui.boats.selecting=Vous êtes en cours de sélection d'un navire pour la ligne du plan %s
wao.ui.boats.substitutes=Substituts du navire
+wao.ui.boats.title=Liste de %s navires
wao.ui.cartography.help=Cliquez sur les graphiques pour avoir le détail.
wao.ui.cartography.title=Répartition des contacts par quartier des navires
wao.ui.cartography.title.company=Répartition des contacts par quartier des navires pour la société %s
@@ -218,6 +225,8 @@
wao.ui.filters.filters=Filtres de recherche
wao.ui.filters.refresh=Rafraîchir les champs du filtre
wao.ui.forgotPassword=Mot de passe oublié ?
+wao.ui.form.Boat.name=Nom
+wao.ui.form.Boat.registrationCode=Immatriculation
wao.ui.form.Company.error.nameMustBeUnique=Le nom de la société doit être unique
wao.ui.form.Company.title.creation=Création d'une société
wao.ui.form.Company.title.edition=Modification de la société %s
@@ -252,6 +261,7 @@
wao.ui.form.authentication.error.wrongCredentials=Les informations d'authenfication ne sont pas correctes
wao.ui.form.authentication.title=Identification WAO
wao.ui.form.boardingFrom=Sollicitations du navire depuis le
+wao.ui.form.boatName.placeholder=Nom du bateau
wao.ui.form.contactsFile=Fichier des contacts
wao.ui.form.definePasswordManually=définir manuellement
wao.ui.form.editComment=Commentaire sur la modification
@@ -262,7 +272,7 @@
wao.ui.form.generatePassword=Générer le mot de passe
wao.ui.form.mapType=Carte
wao.ui.form.otherBoatInfos=Autres informations sur le navire
-wao.ui.form.period=Période
+wao.ui.form.period=Périodewao.ui.field.Boat.fleet
wao.ui.form.period.from=du
wao.ui.form.period.to=au
wao.ui.form.periodFrom=Période du
@@ -270,6 +280,7 @@
wao.ui.form.program=Programme
wao.ui.form.programEvaluation=Évaluation programme
wao.ui.form.readOnly=lecture seule
+wao.ui.form.registrationCode.placeholder=Immatriculation
wao.ui.form.removeRole=retirer ce role
wao.ui.form.repeatPassword=Répéter le mot de passe
wao.ui.form.roles=Rôles
Added: trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/boats.jsp
===================================================================
--- trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/boats.jsp (rev 0)
+++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/boats.jsp 2014-04-01 15:13:11 UTC (rev 1791)
@@ -0,0 +1,182 @@
+<%--
+ #%L
+ Wao :: Web
+ %%
+ Copyright (C) 2009 - 2014 Ifremer
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ --%>
+<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
+<%@taglib uri="/struts-tags" prefix="s" %>
+
+<html>
+
+<head>
+ <title>
+ <s:text name="wao.ui.page.Boats.title"/>
+ </title>
+
+ <script>
+
+ var BOATS_FILTER_VALUES_JSON_URL = '<s:url action="boats-filter-values-json" />';
+
+ $(document).ready(function () {
+
+ var boatsFilterController = new FilterController(BOATS_FILTER_VALUES_JSON_URL, $('#boats-filters-form'));
+ boatsFilterController.init();
+ });
+
+ </script>
+
+</head>
+
+<content tag="mainClass">large</content>
+
+<s:form method="GET" id="boats-filters-form" cssClass="filters-form">
+
+ <fieldset>
+
+ <s:select name="filter.elligibleBoatsFilter.fishingZoneFacadeNames"
+ label="%{getText('wao.ui.field.FishingZone.facadeName')}"
+ list="filterValues.elligibleBoatsFilterValues.fishingZoneFacadeNames"
+ listKey="value"
+ listValue="label"
+ multiple="true"
+ dataBinding="elligibleBoatsFilterValues.fishingZoneFacadeNames"/>
+
+ <s:select name="filter.elligibleBoatsFilter.fishingZoneSectorNames"
+ label="%{getText('wao.ui.field.FishingZone.sectorName')}"
+ list="filterValues.elligibleBoatsFilterValues.fishingZoneSectorNames"
+ listKey="value"
+ listValue="label"
+ multiple="true"
+ dataBinding="elligibleBoatsFilterValues.fishingZoneSectorNames"/>
+
+ <s:select name="filter.elligibleBoatsFilter.sampleRowCodes"
+ label="%{getText('wao.ui.field.SampleRow.code')}"
+ list="filterValues.elligibleBoatsFilterValues.sampleRowCodes"
+ listKey="value"
+ listValue="label"
+ multiple="true"
+ dataBinding="elligibleBoatsFilterValues.sampleRowCodes"/>
+
+ </fieldset>
+
+ <fieldset>
+
+ <s:textfield name="filter.boatName"
+ label="%{getText('wao.ui.form.Boat.name')}"
+ placeholder="%{getText('wao.ui.form.boatName.placeholder')}"
+ cssClass=""/>
+
+ <s:textfield name="filter.registrationCode"
+ label="%{getText('wao.ui.form.Boat.registrationCode')}"
+ placeholder="%{getText('wao.ui.form.registrationCode.placeholder')}"
+ cssClass=""/>
+
+ </fieldset>
+
+ <fieldset>
+
+ <s:select name="filter.districtIds"
+ label="%{getText('wao.ui.field.Boat.district')}"
+ list="filterValues.districts"
+ listKey="value"
+ listValue="label"
+ multiple="true"
+ dataBinding="districts"/>
+
+ <s:select name="filter.shipOwnerIds"
+ label="%{getText('wao.ui.field.Boat.shipOwner')}"
+ list="filterValues.shipOwners"
+ listKey="value"
+ listValue="label"
+ multiple="true"
+ dataBinding="shipOwners"/>
+
+ <s:select name="filter.portOfRegistryIds"
+ label="%{getText('wao.ui.field.Boat.portOfRegistry')}"
+ list="filterValues.portsOfRegistry"
+ listKey="value"
+ listValue="label"
+ multiple="true"
+ dataBinding="portsOfRegistry"/>
+ </fieldset>
+
+ <div class="form-actions">
+
+ <s:url action="boats" id="boatsUrl"/>
+ <s:a href="%{boatsUrl}" cssClass="btn">
+ <i class="icon-reset"></i> <s:text name="wao.ui.action.reset"/>
+ </s:a>
+
+ <s:submit type="button" cssClass="btn">
+ <i class="icon-filter"></i> <s:text name="wao.ui.action.filter"/>
+ </s:submit>
+
+ <s:submit action="export-boats" type="button" cssClass="btn">
+ <i class="icon-download"></i> <s:text name="wao.ui.action.csvExport"/>
+ </s:submit>
+
+ </div>
+
+</s:form>
+
+<h3>
+ <s:text name="wao.ui.boats.title">
+ <s:param value="%{pager.records}"/>
+ </s:text>
+</h3>
+
+<%--TODO Pagination--%>
+<table id="boat-list" class="large-table boat-list">
+ <thead>
+ <tr>
+ <th>
+ <s:text name="wao.ui.boats.boatName"/>
+ </th>
+ <th>
+ <s:text name="wao.ui.boats.registrationCode"/>
+ </th>
+ <th>
+ <s:text name="wao.ui.boats.boatLength"/>
+ </th>
+ <th>
+ <s:text name="wao.ui.boats.buildYear"/>
+ </th>
+ <th>
+ <s:text name="wao.ui.boats.district"/>
+ </th>
+ <th>
+ <s:text name="wao.ui.boats.portOfRegistry"/>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <s:iterator value="boats" var="boat">
+ <tr class="boat-row">
+ <td><s:property value="name"/></td>
+ <td><s:property value="immatriculation"/></td>
+ <td><s:property value="boatLength"/></td>
+ <td><s:property value="year"/></td>
+ <td><s:property value="district.code"/></td>
+ <td><s:property value="portOfRegistry.code"/></td>
+ </tr>
+ </s:iterator>
+ </todby>
+</table>
+
+</html>
Property changes on: trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/boats.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
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-04-01 15:02:59 UTC (rev 1790)
+++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp 2014-04-01 15:13:11 UTC (rev 1791)
@@ -34,7 +34,7 @@
$(document).ready(function () {
- var sampleRowsFilterController = new SampleRowsFilterController(SAMPLE_ROWS_FILTER_VALUES_JSON_URL, $('#sampling-plan-filters-form'));
+ var sampleRowsFilterController = new FilterController(SAMPLE_ROWS_FILTER_VALUES_JSON_URL, $('#sampling-plan-filters-form'));
sampleRowsFilterController.init();
$('#switch-estimated-real').click(function () {
Modified: trunk/wao-web/src/main/webapp/wao.js
===================================================================
--- trunk/wao-web/src/main/webapp/wao.js 2014-04-01 15:02:59 UTC (rev 1790)
+++ trunk/wao-web/src/main/webapp/wao.js 2014-04-01 15:13:11 UTC (rev 1791)
@@ -19,7 +19,7 @@
* #L%
*/
-var SampleRowsFilterModel = function (filterValuesUrl) {
+var FilterModel = function (filterValuesUrl) {
var self = this;
@@ -40,7 +40,7 @@
};
-var SampleRowsFilterView = function (sampleRowsFilterModel, $filtersForm) {
+var FilterView = function (sampleRowsFilterModel, $filtersForm) {
var self = this;
@@ -62,8 +62,8 @@
});
this.$inputs.each(function (index, input) {
var $input = $(input);
- var parameterName = $(input).prop('name');
- var parameterValue = $(input).prop('value');
+ var parameterName = $input.prop('name');
+ var parameterValue = $input.prop('value');
filter[parameterName] = parameterValue;
});
return filter;
@@ -78,7 +78,7 @@
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];
+ var options = WAO.getData(binding, filterValues);
$.each(options, function (index, option) {
var optionHtml = '<option value="' + option.value + '">' + option.label + '</option>';
$select.append(optionHtml);
@@ -89,7 +89,7 @@
});
});
this.$filtersForm.effect( "highlight", "slow" );
- }
+ };
$(this.model).on('updated', function () {
self.refreshFilterValues();
@@ -97,12 +97,12 @@
};
-var SampleRowsFilterController = function (filterValuesUrl, $filtersForm) {
+var FilterController = function (filterValuesUrl, $filtersForm) {
var self = this;
- this.model = new SampleRowsFilterModel(filterValuesUrl);
- this.view = new SampleRowsFilterView(this.model, $filtersForm);
+ this.model = new FilterModel(filterValuesUrl);
+ this.view = new FilterView(this.model, $filtersForm);
this.updateFilterValues = function () {
var filter = this.view.getFilter();
@@ -113,13 +113,13 @@
var markChange = function () {
$(this).data('value-changed', true);
- }
+ };
var updateFilterValuesIfValueChanged = function () {
if ($(this).data('value-changed')) {
$(this).data('value-changed', false);
self.updateFilterValues();
}
- }
+ };
this.view.$selects.change(markChange);
this.view.$inputs.change(markChange);
@@ -139,24 +139,24 @@
this.info = function (message) {
this._notify('info', message);
- }
+ };
this.warn = function (message) {
this._notify('warn', message);
- }
+ };
this.error = function (message) {
this._notify('error', message);
- }
+ };
this.success = function (message) {
this._notify('success', message);
- }
+ };
this._notify = function (level, message) {
var cssClasses = 'alert alert-' + level;
if (level === 'warn') {
- var cssClasses = 'alert';
+ cssClasses = 'alert';
}
var html = '<div class="' + cssClasses + '">'
+ ' <button type="button" class="close" data-dismiss="alert">×</button>'
@@ -165,7 +165,7 @@
this.$notifications.append(html);
}
-}
+};
var Wao = function () {
@@ -173,8 +173,13 @@
this.notifications = new Notifications();
-}
+ this.getData = function(path, data) {
+ return path.split('.').reduce(function(prev, prop){
+ return prev && prev[prop]
+ }, data)
+ };
+};
$(document).ready(function () {
1
0
r1790 - in trunk: . wao-services wao-services/src/main/java/fr/ifremer/wao/services wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations wao-web wao-web/src/main/java/fr/ifremer/wao/web wao-web/src/main/resources wao-web/src/main/webapp/WEB-INF
by bleny@users.forge.codelutin.com 01 Apr '14
by bleny@users.forge.codelutin.com 01 Apr '14
01 Apr '14
Author: bleny
Date: 2014-04-01 17:02:59 +0200 (Tue, 01 Apr 2014)
New Revision: 1790
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1790
Log:
remove shiro
Removed:
trunk/wao-services/src/main/java/fr/ifremer/wao/services/WaoPermissions.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoRealm.java
trunk/wao-web/src/main/resources/shiro.ini
Modified:
trunk/pom.xml
trunk/wao-services/pom.xml
trunk/wao-services/src/main/java/fr/ifremer/wao/services/AuthenticatedWaoUser.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/DCF5CodesParserFormatter.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/ObservedDataControlParserFormatter.java
trunk/wao-web/pom.xml
trunk/wao-web/src/main/webapp/WEB-INF/web.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2014-04-01 14:13:54 UTC (rev 1789)
+++ trunk/pom.xml 2014-04-01 15:02:59 UTC (rev 1790)
@@ -104,7 +104,6 @@
<struts2Version>2.3.16.1</struts2Version>
<jqueryPluginVersion>3.7.0</jqueryPluginVersion>
<bootstrapPluginVersion>1.7.0</bootstrapPluginVersion>
- <shiroVersion>1.2.2</shiroVersion>
<slf4jVersion>1.7.6</slf4jVersion>
<hibernateVersion>4.2.8.Final</hibernateVersion>
<mockitoVersion>1.9.5</mockitoVersion>
@@ -214,19 +213,6 @@
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.apache.shiro</groupId>
- <artifactId>shiro-core</artifactId>
- <version>${shiroVersion}</version>
- <exclusions>
- <!-- prevent java.lang.ClassCastException: cannot be cast to javassist.util.proxy.Proxy -->
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
<!-- persistence module dependencies -->
<dependency>
@@ -360,12 +346,6 @@
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.shiro</groupId>
- <artifactId>shiro-web</artifactId>
- <version>${shiroVersion}</version>
- </dependency>
-
</dependencies>
</dependencyManagement>
Modified: trunk/wao-services/pom.xml
===================================================================
--- trunk/wao-services/pom.xml 2014-04-01 14:13:54 UTC (rev 1789)
+++ trunk/wao-services/pom.xml 2014-04-01 15:02:59 UTC (rev 1790)
@@ -106,11 +106,6 @@
<artifactId>log4j</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.shiro</groupId>
- <artifactId>shiro-core</artifactId>
- </dependency>
-
<!-- Test dependencies -->
<dependency>
<groupId>junit</groupId>
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-04-01 14:13:54 UTC (rev 1789)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/AuthenticatedWaoUser.java 2014-04-01 15:02:59 UTC (rev 1790)
@@ -28,8 +28,6 @@
import fr.ifremer.wao.entity.UserProfile;
import fr.ifremer.wao.entity.UserRole;
import fr.ifremer.wao.entity.WaoUser;
-import org.apache.shiro.SecurityUtils;
-import org.apache.shiro.subject.Subject;
import java.io.Serializable;
@@ -41,35 +39,17 @@
protected UserProfile userProfile;
- protected transient WaoPermissions permissions;
-
public AuthenticatedWaoUser(WaoUser waoUser, UserProfile userProfile) {
this.waoUser = waoUser;
this.userProfile = userProfile;
}
- protected WaoPermissions getPermissions() {
- if (permissions == null) {
- permissions = new WaoPermissions();
- }
- return permissions;
- }
-
- protected boolean isPermitted(String permission) {
- return getCurrentUser().isPermitted(permission);
- }
-
- protected Subject getCurrentUser() {
- Subject currentUser = SecurityUtils.getSubject();
- return currentUser;
- }
-
public WaoUser getWaoUser() {
return waoUser;
}
public void logout() {
- // TODO brendan 20/03/14 getCurrentUser().logout();
+
}
public boolean isAdmin() {
Deleted: trunk/wao-services/src/main/java/fr/ifremer/wao/services/WaoPermissions.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/WaoPermissions.java 2014-04-01 14:13:54 UTC (rev 1789)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/WaoPermissions.java 2014-04-01 15:02:59 UTC (rev 1790)
@@ -1,73 +0,0 @@
-package fr.ifremer.wao.services;
-
-/*
- * #%L
- * Wao :: Services
- * %%
- * Copyright (C) 2009 - 2014 Ifremer
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-
-import com.google.common.collect.Iterables;
-import fr.ifremer.wao.WaoTopiaPersistenceContext;
-import fr.ifremer.wao.entity.WaoUser;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.persistence.TopiaEntities;
-import org.nuiton.topia.persistence.TopiaEntity;
-
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * Représente tout le système de permissions de WAO
- */
-public class WaoPermissions {
-
- private static final Log log = LogFactory.getLog(WaoPermissions.class);
-
- protected <E extends TopiaEntity> String getTopiaIds(Iterable<E> topiaEntities) {
- Iterable<String> topiaIds = Iterables.transform(topiaEntities, TopiaEntities.getTopiaIdFunction());
- return join(topiaIds);
- }
-
- protected String join(Iterable<String> topiaIds) {
- return StringUtils.join(topiaIds, ',');
- }
-
- /**
- * Permet d'obtenir toutes les permissions accordée à l'utilisateur donné.
- */
- public Set<String> getPermissions(WaoTopiaPersistenceContext topiaPersistenceContext, WaoUser waoUser) {
-
- Set<String> permissions = new HashSet<>();
-
- if (waoUser.isActive()) {
-
-
-
- }
-
- if (log.isDebugEnabled()) {
- log.debug("permissions for " + waoUser + " are " + permissions);
- }
-
- return permissions;
-
- }
-
-}
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/DCF5CodesParserFormatter.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/DCF5CodesParserFormatter.java 2014-04-01 14:13:54 UTC (rev 1789)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/DCF5CodesParserFormatter.java 2014-04-01 15:02:59 UTC (rev 1790)
@@ -62,10 +62,10 @@
Collection<DCF5Code> dcf5Codes = referentialService.getDcf5Codes(codes);
List<DCF5Code> value = new ArrayList<>(dcf5Codes);
return value;
- } catch (UnknownFishingGearDcfCodeException unknownFishingGearDcfCode) {
- throw new ImportRuntimeException(unknownFishingGearDcfCode);
- } catch (UnknownTargetSpeciesDcfCodeException unknownTargetSpeciesDcfCode) {
- throw new ImportRuntimeException(unknownTargetSpeciesDcfCode);
+ } catch (UnknownFishingGearDcfCodeException e) {
+ throw new ImportRuntimeException(e.getMessage(), e);
+ } catch (UnknownTargetSpeciesDcfCodeException e) {
+ throw new ImportRuntimeException(e);
}
}
}
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/ObservedDataControlParserFormatter.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/ObservedDataControlParserFormatter.java 2014-04-01 14:13:54 UTC (rev 1789)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/ObservedDataControlParserFormatter.java 2014-04-01 15:02:59 UTC (rev 1790)
@@ -40,8 +40,10 @@
*/
public class ObservedDataControlParserFormatter implements ValueParserFormatter<ObservedDataControl> {
- ValueParserFormatter<ObservedDataControl> nonNullObservedDataControlParserFormatter;
+ // FIXME brendan 01/04/14 what the f...
+ protected ValueParserFormatter<ObservedDataControl> nonNullObservedDataControlParserFormatter;
+
public ObservedDataControlParserFormatter() {
List<ObservedDataControl> observedDataControlsValues = new LinkedList<>();
Collections.addAll(observedDataControlsValues, ObservedDataControl.values());
Modified: trunk/wao-web/pom.xml
===================================================================
--- trunk/wao-web/pom.xml 2014-04-01 14:13:54 UTC (rev 1789)
+++ trunk/wao-web/pom.xml 2014-04-01 15:02:59 UTC (rev 1790)
@@ -27,8 +27,6 @@
<!-- see http://maven-site.nuiton.org/mavenpom/mavenpom4redmine/release.html -->
<skipPostRelease>false</skipPostRelease>
- <!-- XXX voir le profil le profil removeSlf4jJclFromClassPath -->
- <slf4jJclScope>runtime</slf4jJclScope>
</properties>
<dependencies>
@@ -138,29 +136,9 @@
</dependency>
<dependency>
- <groupId>org.apache.shiro</groupId>
- <artifactId>shiro-core</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.shiro</groupId>
- <artifactId>shiro-web</artifactId>
- <scope>runtime</scope>
- </dependency>
-
- <!-- TODO enable guava caching -->
- <!--<dependency>-->
- <!--<groupId>org.apache.shiro</groupId>-->
- <!--<artifactId>shiro-guava</artifactId>-->
- <!--<version>2.alpha.0-SNAPSHOT</version>-->
- <!--<scope>runtime</scope>-->
- <!--</dependency>-->
-
- <!-- FIXME bleny 2013/12/18 need to be removed to do a tomcat:run since shiro was added -->
- <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jcl</artifactId>
- <scope>${slf4jJclScope}</scope>
+ <scope>runtime</scope>
</dependency>
<dependency>
@@ -256,13 +234,4 @@
</plugins>
</build>
- <!-- XXX le profil le profil removeSlf4jJclFromClasspath permet d'exclure cette dépendance du classpath, indispensable pour que tomcat7:run fonctione -->
- <profiles>
- <profile>
- <id>removeSlf4jJclFromClasspath</id>
- <properties>
- <slf4jJclScope>provided</slf4jJclScope>
- </properties>
- </profile>
- </profiles>
</project>
Deleted: trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoRealm.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoRealm.java 2014-04-01 14:13:54 UTC (rev 1789)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoRealm.java 2014-04-01 15:02:59 UTC (rev 1790)
@@ -1,202 +0,0 @@
-package fr.ifremer.wao.web;
-
-/*
- * #%L
- * Wao :: Web
- * %%
- * Copyright (C) 2009 - 2014 Ifremer
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-
-import com.google.common.base.Optional;
-import com.google.common.base.Preconditions;
-import fr.ifremer.wao.WaoTechnicalException;
-import fr.ifremer.wao.WaoTopiaApplicationContext;
-import fr.ifremer.wao.WaoTopiaPersistenceContext;
-import fr.ifremer.wao.entity.WaoUser;
-import fr.ifremer.wao.entity.WaoUserTopiaDao;
-import fr.ifremer.wao.services.WaoPermissions;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.shiro.authc.AuthenticationException;
-import org.apache.shiro.authc.AuthenticationInfo;
-import org.apache.shiro.authc.AuthenticationToken;
-import org.apache.shiro.authc.LockedAccountException;
-import org.apache.shiro.authc.SimpleAccount;
-import org.apache.shiro.authc.UsernamePasswordToken;
-import org.apache.shiro.authc.credential.CredentialsMatcher;
-import org.apache.shiro.authz.AuthorizationInfo;
-import org.apache.shiro.authz.SimpleAuthorizationInfo;
-import org.apache.shiro.realm.AuthorizingRealm;
-import org.apache.shiro.subject.PrincipalCollection;
-
-import java.util.Set;
-
-public class WaoRealm extends AuthorizingRealm {
-
- private static final Log log = LogFactory.getLog(WaoRealm.class);
-
- protected static final CredentialsMatcher CREDENTIALS_MATCHER = new WaoCredentialsMatcher();
-
- protected WaoPermissions permissions = new WaoPermissions();
-
- protected WaoTopiaApplicationContext topiaApplicationContext;
-
- public WaoRealm() {
- super(CREDENTIALS_MATCHER);
- this.topiaApplicationContext = WaoApplicationContext.getTopiaApplicationContext();
- }
-
- @Override
- protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
-
- WaoTopiaPersistenceContext persistenceContext = null;
-
- try {
-
- UsernamePasswordToken usernamePasswordToken = (UsernamePasswordToken) token;
- String email = usernamePasswordToken.getUsername();
-
- persistenceContext = topiaApplicationContext.newPersistenceContext();
- WaoUserTopiaDao waoUserDao = persistenceContext.getWaoUserDao();
-
- Optional<WaoUser> waoUserOptional = waoUserDao.tryFindByEmailAndFetchCollections(email);
-
- AuthenticationInfo authenticationInfo;
- if (waoUserOptional.isPresent()) {
-
- WaoUser waoUser = waoUserOptional.get();
-
- if (waoUser.isActive()) {
- authenticationInfo = new WaoAuthenticationInfo(getName(), waoUser);
- } else {
- throw new LockedAccountException();
- }
-
- } else {
- authenticationInfo = null; // If the user doesn't exists, the contract asks us to return null
- }
-
- return authenticationInfo;
-
- } finally {
-
- if (persistenceContext != null) {
- persistenceContext.closeContext();
- }
-
- }
-
- }
-
- @Override
- protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
-
- SimpleAuthorizationInfo authorizationInfo;
-
- Object primaryPrincipal = principalCollection.getPrimaryPrincipal();
-
- if (primaryPrincipal instanceof WaoUser) {
-
- WaoUser waoUser = (WaoUser) primaryPrincipal;
-
- authorizationInfo = new SimpleAuthorizationInfo();
-
- WaoTopiaPersistenceContext persistenceContext = null;
- try {
- persistenceContext = topiaApplicationContext.newPersistenceContext();
- Set<String> waoUserPermissions = permissions.getPermissions(persistenceContext, waoUser);
- authorizationInfo.addStringPermissions(waoUserPermissions);
- } finally {
- if (persistenceContext != null) {
- persistenceContext.closeContext();
- }
- }
-
- } else {
- throw new WaoTechnicalException("unable to get wao user from " + principalCollection);
- }
-
- return authorizationInfo;
-
- }
-
- /**
- * Notre implémentation de {@link org.apache.shiro.authc.AuthenticationInfo}, comme
- * on a pas vraiment de Principal, on utilise waoUser directement.
- */
- protected static class WaoAuthenticationInfo extends SimpleAccount {
-
- protected WaoUser waoUser;
-
- public WaoAuthenticationInfo(String realmName, WaoUser waoUser) {
- super(waoUser, waoUser, realmName);
- Preconditions.checkNotNull(waoUser);
- this.waoUser = waoUser;
- }
-
- public WaoUser getWaoUser() {
- return waoUser;
- }
- }
-
- /**
- * Notre implémentation de {@link org.apache.shiro.authc.credential.CredentialsMatcher}, elle
- * compare le mot de passe proposé en utilisant la bonne fonction hash et le bon salt.
- */
- protected static class WaoCredentialsMatcher implements CredentialsMatcher {
-
- private static final Log log = LogFactory.getLog(WaoCredentialsMatcher.class);
-
- @Override
- public boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info) {
-
- boolean passwordMatches;
-
- if (info instanceof WaoAuthenticationInfo) {
-
- WaoUser waoUser = ((WaoAuthenticationInfo) info).getWaoUser();
-
-// char[] tokenCredentials = (char[]) token.getCredentials();
-// String clearPassword = new String(tokenCredentials);
-//
-// Double hashSalt = waoUser.getHashSalt();
-//
-// Preconditions.checkNotNull(hashSalt);
-//
-// String saltedPassword = clearPassword + hashSalt;
-//
-// String hashedPassword = DigestUtils.sha1Hex(saltedPassword);
-//
-// passwordMatches = waoUser.getHashedPassword().equals(hashedPassword);
-
- // TODO brendan 14/01/14 implementer le check de password
-
- passwordMatches = true;
-
- } else {
- if (log.isWarnEnabled()) {
- log.warn("unable to deal with authenticationInfo " + info);
- }
- passwordMatches = false;
- }
-
- return passwordMatches;
-
- }
-
- }
-}
Deleted: trunk/wao-web/src/main/resources/shiro.ini
===================================================================
--- trunk/wao-web/src/main/resources/shiro.ini 2014-04-01 14:13:54 UTC (rev 1789)
+++ trunk/wao-web/src/main/resources/shiro.ini 2014-04-01 15:02:59 UTC (rev 1790)
@@ -1,41 +0,0 @@
-[main]
-# URL vers laquelle il faut rediriger si l'utilisateur n'est pas authentifié
-authc.loginUrl = /authentication/login.action
-
-# dans le formulaire d'authentifaction, le champs contenant le username s'appelle "email"
-authc.usernameParam = email
-# authc.passwordParam = password
-
-# on utilise un cache dans notre implémentation du Realm, il faut le configurer
-cacheManager = org.apache.shiro.cache.MemoryConstrainedCacheManager
-securityManager.cacheManager = $cacheManager
-
-# on indique notre implémentation du realm
-waoRealm = fr.ifremer.wao.web.WaoRealm
-
-# on l'indique comme seul realm à utiliser
-securityManager.realms = $waoRealm
-
-[urls]
-
-# on doit pouvoir accéder à ces pages sans être authentifié
-/authentication/login* = anon
-/authentication/forgotten-password-* = anon
-/authentication/registration* = anon
-
-# on donne accès aux ressource statiques
-/css/** = anon
-/data/** = anon
-/font/** = anon
-/img/** = anon
-/js/** = anon
-/struts/js/** = anon
-/struts/themes/** = anon
-/struts/bootstrap/** = anon
-
-# pour tout le reste, il faut être authentifié
-#/** = authc
-
-# on désactive shiro
-
-/** = anon
Modified: trunk/wao-web/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/wao-web/src/main/webapp/WEB-INF/web.xml 2014-04-01 14:13:54 UTC (rev 1789)
+++ trunk/wao-web/src/main/webapp/WEB-INF/web.xml 2014-04-01 15:02:59 UTC (rev 1790)
@@ -51,11 +51,6 @@
</filter>
<filter>
- <filter-name>shiro</filter-name>
- <filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
- </filter>
-
- <filter>
<filter-name>struts-prepare</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>
</filter>
@@ -75,17 +70,6 @@
<url-pattern>/*</url-pattern>
</filter-mapping>
- <!-- Le filtre Shiro doit être executer après le fltre struts prepare: Pour gérer l'encodage de la requête -->
- <!-- XXX bleny 28/02/2014 attention à le réactivation, on peut avoir le problème d'upload de fichier -->
- <!--<filter-mapping>-->
- <!--<filter-name>shiro</filter-name>-->
- <!--<url-pattern>/*</url-pattern>-->
- <!--<dispatcher>REQUEST</dispatcher>-->
- <!--<dispatcher>FORWARD</dispatcher>-->
- <!--<dispatcher>INCLUDE</dispatcher>-->
- <!--<dispatcher>ERROR</dispatcher>-->
- <!--</filter-mapping>-->
-
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
@@ -101,11 +85,6 @@
<listener-class>fr.ifremer.wao.web.WaoApplicationListener</listener-class>
</listener>
- <listener>
- <description>Shiro</description>
- <listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
- </listener>
-
<filter-mapping>
<filter-name>ExpiresFilter</filter-name>
<url-pattern>/*</url-pattern>
1
0
r1789 - in trunk: wao-services/src/main/java/fr/ifremer/wao/services/service wao-services/src/main/resources/i18n wao-web/src/main/java/fr/ifremer/wao/web/action/administration wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer
by bleny@users.forge.codelutin.com 01 Apr '14
by bleny@users.forge.codelutin.com 01 Apr '14
01 Apr '14
Author: bleny
Date: 2014-04-01 16:13:54 +0200 (Tue, 01 Apr 2014)
New Revision: 1789
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1789
Log:
display explanation when IllegalDeletionException is raised
Modified:
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/IllegalDeletionException.java
trunk/wao-services/src/main/resources/i18n/wao-services_en_GB.properties
trunk/wao-services/src/main/resources/i18n/wao-services_fr_FR.properties
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/obsmer/DeleteSampleRowAction.java
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/IllegalDeletionException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/IllegalDeletionException.java 2014-04-01 13:34:10 UTC (rev 1788)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/IllegalDeletionException.java 2014-04-01 14:13:54 UTC (rev 1789)
@@ -21,10 +21,17 @@
* #L%
*/
+import com.google.common.collect.ImmutableMap;
import fr.ifremer.wao.WaoException;
+import fr.ifremer.wao.entity.Contact;
+import fr.ifremer.wao.entity.News;
+import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.entity.WaoUser;
+import org.nuiton.i18n.I18n;
import org.nuiton.topia.persistence.TopiaEntity;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
/**
@@ -33,6 +40,14 @@
*/
public class IllegalDeletionException extends WaoException {
+ protected static final ImmutableMap<Class<? extends TopiaEntity>, String> ENTITIES_I18N_KEYS =
+ ImmutableMap.of(
+ Contact.class, I18n.n("wao.action.delete.failure.attachedContacts"),
+ SampleRow.class, I18n.n("wao.action.delete.failure.attachedSampleRows"),
+ News.class, I18n.n("wao.action.delete.failure.attachedNews"),
+ WaoUser.class, I18n.n("wao.action.delete.failure.attachedWaoUsers")
+ );
+
/** Les types d'entités qui utilisent l'entité qu'on ne peut pas supprimer. */
private Map<Class<? extends TopiaEntity>, List<? extends TopiaEntity>> allUsages;
@@ -44,4 +59,12 @@
return allUsages;
}
+ public String getExplanation(Locale locale) {
+ StringBuilder explanationBuilder = new StringBuilder();
+ for (Class<? extends TopiaEntity> aClass : allUsages.keySet()) {
+ explanationBuilder.append(I18n.l(locale, ENTITIES_I18N_KEYS.get(aClass)));
+ }
+ return explanationBuilder.toString();
+ }
+
}
Modified: trunk/wao-services/src/main/resources/i18n/wao-services_en_GB.properties
===================================================================
--- trunk/wao-services/src/main/resources/i18n/wao-services_en_GB.properties 2014-04-01 13:34:10 UTC (rev 1788)
+++ trunk/wao-services/src/main/resources/i18n/wao-services_en_GB.properties 2014-04-01 14:13:54 UTC (rev 1789)
@@ -9,6 +9,10 @@
csv.import.error.unrecognizedHeaders=Fields %s are not recognized. Accepted fields are %s.
csv.import.logComment=Edited through import
fr.ifremer.wao.services.service.mail.UserCredentialsEmail.subject=Your Wao credentials
+wao.action.delete.failure.attachedContacts=Object is attached to some contacts.
+wao.action.delete.failure.attachedNews=Object is attached to some news.
+wao.action.delete.failure.attachedSampleRows=Object is attached to some sample rows.
+wao.action.delete.failure.attachedWaoUsers=Object is attached to some users.
wao.business.boat.validation.immatriculation.wrongFormat=The boat registry number must be composed of 6 digits
wao.business.contact.validation.commentAdminNecessaryForDataReliability=You must precise in admin comment why data reliability is '%s'
wao.business.contact.validation.commentMissingForState=You must give a comment for state '%s'
Modified: trunk/wao-services/src/main/resources/i18n/wao-services_fr_FR.properties
===================================================================
--- trunk/wao-services/src/main/resources/i18n/wao-services_fr_FR.properties 2014-04-01 13:34:10 UTC (rev 1788)
+++ trunk/wao-services/src/main/resources/i18n/wao-services_fr_FR.properties 2014-04-01 14:13:54 UTC (rev 1789)
@@ -9,6 +9,10 @@
csv.import.error.unrecognizedHeaders=Les champs %s ne sont pas reconnus. Les champs possibles sont %s.
csv.import.logComment=Modification depuis import
fr.ifremer.wao.services.service.mail.UserCredentialsEmail.subject=Informations de connexion Wao
+wao.action.delete.failure.attachedContacts=L'objet est lié à des contacts.
+wao.action.delete.failure.attachedNews=L'objet est lié à des actualités.
+wao.action.delete.failure.attachedSampleRows=L'objet est lié à des lignes du plan.
+wao.action.delete.failure.attachedWaoUsers=L'objet est lié à des utilisateurs.
wao.business.boat.validation.immatriculation.wrongFormat=L'immatriculation du navire doit être formée de 6 chiffres
wao.business.contact.validation.commentAdminNecessaryForDataReliability=Il faut préciser dans le commentaire administrateur pourquoi la donnée est '%s'
wao.business.contact.validation.commentMissingForState=Il faut préciser un commentaire pour l'état '%s'
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-04-01 13:34:10 UTC (rev 1788)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/DeleteCompanyAction.java 2014-04-01 14:13:54 UTC (rev 1789)
@@ -60,8 +60,8 @@
} catch (IllegalDeletionException e) {
- // TODO brendan 04/03/14 préciser le problème
session.addErrorMessages(t("wao.ui.action.deleteCompany.failure"));
+ session.addErrorMessages(e.getExplanation(getLocale()));
return ERROR;
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-04-01 13:34:10 UTC (rev 1788)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/DeleteWaoUserAction.java 2014-04-01 14:13:54 UTC (rev 1789)
@@ -60,8 +60,8 @@
} catch (IllegalDeletionException e) {
- // TODO brendan 04/03/14 préciser le problème
session.addErrorMessages(t("wao.ui.action.deleteWaoUser.failure"));
+ session.addErrorMessages(e.getExplanation(getLocale()));
return ERROR;
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/DeleteSampleRowAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/DeleteSampleRowAction.java 2014-04-01 13:34:10 UTC (rev 1788)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/DeleteSampleRowAction.java 2014-04-01 14:13:54 UTC (rev 1789)
@@ -8,7 +8,7 @@
@Results({
@Result(name="error", type="redirectAction", params = { "actionName", "edit-sample-row!input", "sampleRowId", "%{sampleRowId}" }),
- @Result(name="success", type="redirectAction", params = { "actionName", "edit-sample-row!input", "sampleRowId", "%{sampleRowId}" })
+ @Result(name="success", type="redirectAction", params = { "actionName", "sampling-plan" })
})
public class DeleteSampleRowAction extends WaoJspActionSupport {
@@ -41,8 +41,8 @@
} catch (IllegalDeletionException e) {
- // TODO brendan 04/03/14 préciser le problème
session.addErrorMessages(t("wao.ui.action.deleteSampleRow.failure", sampleRowCode));
+ session.addErrorMessages(e.getExplanation(getLocale()));
return ERROR;
1
0
r1788 - in trunk/wao-web/src/main: java/fr/ifremer/wao/web/action/obsmer resources/i18n webapp webapp/WEB-INF/content/obsmer webapp/WEB-INF/decorators
by bleny@users.forge.codelutin.com 01 Apr '14
by bleny@users.forge.codelutin.com 01 Apr '14
01 Apr '14
Author: bleny
Date: 2014-04-01 15:34:10 +0200 (Tue, 01 Apr 2014)
New Revision: 1788
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1788
Log:
refs #4483 move delete row action button to edit-sample-row form
Modified:
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/DeleteSampleRowAction.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/edit-sample-row-input.jsp
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/wao.js
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/DeleteSampleRowAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/DeleteSampleRowAction.java 2014-04-01 10:33:15 UTC (rev 1787)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/DeleteSampleRowAction.java 2014-04-01 13:34:10 UTC (rev 1788)
@@ -7,8 +7,8 @@
import org.apache.struts2.convention.annotation.Results;
@Results({
- @Result(name="error", type="redirectAction", params = { "actionName", "sampling-plan" }),
- @Result(name="success", type="redirectAction", params = { "actionName", "sampling-plan" })
+ @Result(name="error", type="redirectAction", params = { "actionName", "edit-sample-row!input", "sampleRowId", "%{sampleRowId}" }),
+ @Result(name="success", type="redirectAction", params = { "actionName", "edit-sample-row!input", "sampleRowId", "%{sampleRowId}" })
})
public class DeleteSampleRowAction extends WaoJspActionSupport {
@@ -50,4 +50,7 @@
}
+ public String getSampleRowId() {
+ return sampleRowId;
+ }
}
\ No newline at end of file
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-04-01 10:33:15 UTC (rev 1787)
+++ trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties 2014-04-01 13:34:10 UTC (rev 1788)
@@ -50,6 +50,7 @@
wao.ui.action.deleteWaoUser.failure=The user cannot be deleted
wao.ui.action.deleteWaoUser.success=User deleted successfully
wao.ui.action.edit=Edit
+wao.ui.action.editOrDeleteSampleRow=Edit or delete sample row
wao.ui.action.enlargeView=Enlarge view
wao.ui.action.exportBoats=Export boats with private infos
wao.ui.action.filter=Filter
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-04-01 10:33:15 UTC (rev 1787)
+++ trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties 2014-04-01 13:34:10 UTC (rev 1788)
@@ -50,6 +50,7 @@
wao.ui.action.deleteWaoUser.failure=La suppression de l'utilisateur a échoué
wao.ui.action.deleteWaoUser.success=L'utilisateur a bien été supprimé
wao.ui.action.edit=Modifier
+wao.ui.action.editOrDeleteSampleRow=Modifier ou supprimer la ligne
wao.ui.action.enlargeView=Agrandir la vue
wao.ui.action.exportBoats=Exporter les $s navires avec leurs informations privées
wao.ui.action.filter=Filtrer
Modified: trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/edit-sample-row-input.jsp
===================================================================
--- trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/edit-sample-row-input.jsp 2014-04-01 10:33:15 UTC (rev 1787)
+++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/edit-sample-row-input.jsp 2014-04-01 13:34:10 UTC (rev 1788)
@@ -248,6 +248,12 @@
<s:submit type="button" cssClass="btn">
<i class="icon-hdd"></i> <s:text name="wao.ui.action.save" />
</s:submit>
+ <s:url action="delete-sample-row" id="deleteSampleRowUrl">
+ <s:param name="sampleRowId" value="sampleRowId" />
+ </s:url>
+ <s:a href="%{deleteSampleRowUrl}" cssClass="btn pull-right">
+ <i class="icon-trash"></i> <s:text name="wao.ui.action.deleteSampleRow" />
+ </s:a>
</div>
</s:form>
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-04-01 10:33:15 UTC (rev 1787)
+++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp 2014-04-01 13:34:10 UTC (rev 1788)
@@ -427,17 +427,9 @@
<s:param name="sampleRowId" value="sampleRowId" />
</s:url>
<s:a href="%{editSampleRowUrl}">
- <i class="icon-edit"></i> <s:text name="wao.ui.action.edit" />
+ <i class="icon-edit"></i> <s:text name="wao.ui.action.editOrDeleteSampleRow" />
</s:a>
</li>
- <li>
- <s:url action="delete-sample-row" id="deleteSampleRowUrl">
- <s:param name="sampleRowId" value="sampleRowId" />
- </s:url>
- <s:a href="%{deleteSampleRowUrl}">
- <i class="icon-trash"></i> <s:text name="wao.ui.action.deleteSampleRow" />
- </s:a>
- </li>
</s:if>
<li>
<s:url action="sample-row-log" id="sampleRowLogUrl">
Modified: trunk/wao-web/src/main/webapp/WEB-INF/decorators/layout.jsp
===================================================================
--- trunk/wao-web/src/main/webapp/WEB-INF/decorators/layout.jsp 2014-04-01 10:33:15 UTC (rev 1787)
+++ trunk/wao-web/src/main/webapp/WEB-INF/decorators/layout.jsp 2014-04-01 13:34:10 UTC (rev 1788)
@@ -169,6 +169,7 @@
<s:actionerror theme="bootstrap" />
<s:actionmessage theme="bootstrap" />
<s:fielderror theme="bootstrap" />
+ <div id="notifications"></div>
<decorator:body />
</main>
Modified: trunk/wao-web/src/main/webapp/wao.js
===================================================================
--- trunk/wao-web/src/main/webapp/wao.js 2014-04-01 10:33:15 UTC (rev 1787)
+++ trunk/wao-web/src/main/webapp/wao.js 2014-04-01 13:34:10 UTC (rev 1788)
@@ -133,10 +133,55 @@
};
+var Notifications = function () {
+
+ this.$notifications = $('#notifications');
+
+ this.info = function (message) {
+ this._notify('info', message);
+ }
+
+ this.warn = function (message) {
+ this._notify('warn', message);
+ }
+
+ this.error = function (message) {
+ this._notify('error', message);
+ }
+
+ this.success = function (message) {
+ this._notify('success', message);
+ }
+
+ this._notify = function (level, message) {
+ var cssClasses = 'alert alert-' + level;
+ if (level === 'warn') {
+ var cssClasses = 'alert';
+ }
+ var html = '<div class="' + cssClasses + '">'
+ + ' <button type="button" class="close" data-dismiss="alert">×</button>'
+ + ' ' + message
+ + '</div>';
+ this.$notifications.append(html);
+ }
+
+}
+
+var Wao = function () {
+
+ var self = this;
+
+ this.notifications = new Notifications();
+
+}
+
+
$(document).ready(function () {
// $('select').select2();
- $('a[data-toggle="popover"]').popover();
+ // $('a[data-toggle="popover"]').popover();
+ WAO = new Wao();
+
});
\ No newline at end of file
1
0
r1787 - trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity
by tchemit@users.forge.codelutin.com 01 Apr '14
by tchemit@users.forge.codelutin.com 01 Apr '14
01 Apr '14
Author: tchemit
Date: 2014-04-01 12:33:15 +0200 (Tue, 01 Apr 2014)
New Revision: 1787
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1787
Log:
avoid cast
Modified:
trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowTopiaDao.java
Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowTopiaDao.java
===================================================================
--- trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowTopiaDao.java 2014-04-01 10:19:00 UTC (rev 1786)
+++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowTopiaDao.java 2014-04-01 10:33:15 UTC (rev 1787)
@@ -45,9 +45,9 @@
String hql = "select max(sr.code) "
+ newFromClause("sr")
+ " where sr.code like :sampleRowCodePattern";
- ImmutableMap<String, String> hqlParameters =
- ImmutableMap.of("sampleRowCodePattern", sampleRowCodePrefix + "%");
- Optional<String> optionalMaxSampleRowCode = tryFindUnique(hql, (ImmutableMap) hqlParameters);
+ ImmutableMap<String, Object> hqlParameters =
+ ImmutableMap.<String, Object>of("sampleRowCodePattern", sampleRowCodePrefix + "%");
+ Optional<String> optionalMaxSampleRowCode = tryFindUnique(hql, hqlParameters);
return optionalMaxSampleRowCode;
}
1
0