mailman.cloud.codelutin.com
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

T3-commits

Thread Start a new thread
Download
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
t3-commits@list.forge.codelutin.com

March 2018

  • 1 participants
  • 153 discussions
[Git][ultreiaio/ird-t3][develop] update test fixtures for ATL [skip ci]
by Tony CHEMIT 08 Mar '18

08 Mar '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-t3 Commits: 3f7ce999 by Tony CHEMIT at 2018-03-08T19:04:58Z update test fixtures for ATL [skip ci] - - - - - 9 changed files: - t3-actions/src/main/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionITSupport.java - t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/MSAccessTestConfiguration.java - t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/AnalyzeInputSourceActionTest.java - t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/AtlanticOceanFixtures.java - t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionAtlanticOceanIT.java - + t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionAtlanticOceanRecentIT.java - t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/ImportInputSourceActionAtlanticOceanIT.java - t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/T3AVDTHV35TestAtlanticOcean.java - + t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/T3AVDTHV35TestAtlanticOceanRecent.java Changes: ===================================== t3-actions/src/main/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionITSupport.java ===================================== --- a/t3-actions/src/main/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionITSupport.java +++ b/t3-actions/src/main/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionITSupport.java @@ -94,7 +94,7 @@ public abstract class AnalyzeInputSourceActionITSupport { if (doIt) { String dbName = msConfig.dbName; log.debug("Do test for db " + dbName); - outputFile = new File(serviceContext.getTestDir(), "result.txt"); + outputFile = new File(serviceContext.getTestDir().getParentFile().getParentFile(), dbName.replace(".mdb","-result.txt")); log.info("Will save result in file : " + outputFile); outputWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputFile))); File workingDirectory = serviceContext.getApplicationConfiguration().getTreatmentWorkingDirectory("yo", true); @@ -113,30 +113,28 @@ public abstract class AnalyzeInputSourceActionITSupport { if (outputWriter != null) { outputWriter.flush(); outputWriter.close(); + log.info(new String(Files.readAllBytes(outputFile.toPath()))); } } - void testExecute(OceanFixtures fixture) throws Exception { - testExecute( - fixture.nbSafe(), - fixture.nbUnsafe(), - fixture.nbSafeWithoutWell(), - fixture.nbUnsafeWithoutWell(), - TripType.STANDARD, - false, - false - ); + testExecute(fixture, TripType.STANDARD); + } + void testExecute(OceanFixtures fixture, TripType tripType) throws Exception { + serviceContext.getMsConfig().setUseWells(false); + testExecute(fixture.nbSafe(), fixture.nbUnsafe(), fixture.nbSafeWithoutWell(), fixture.nbUnsafeWithoutWell(), tripType, false, false); +// serviceContext.getMsConfig().setUseWells(true); +// testExecute(fixture.nbSafe(), fixture.nbUnsafe(), fixture.nbSafeWithoutWell(), fixture.nbUnsafeWithoutWell(), TripType.STANDARD, false, false); } public void testExecute(int nbSafe, int nbUnsafe, - int nbSafeWithoutwell, + int nbSafeWithoutWell, int nbUnsafeWithoutWell) throws Exception { testExecute( nbSafe, nbUnsafe, - nbSafeWithoutwell, + nbSafeWithoutWell, nbUnsafeWithoutWell, TripType.STANDARD, false, @@ -168,13 +166,16 @@ public abstract class AnalyzeInputSourceActionITSupport { Set<Trip> unsafeTrips = action.getResultAsSet(AnalyzeInputSourceAction.RESULT_UNSAFE_TRIPS, Trip.class); Assert.assertNotNull(unsafeTrips); outputWriter.write(String.format("found %d unsafe trip(s).\n", unsafeTrips.size())); + + log.info(String.format("\n[%s](useWells?%b) safe : %d - unsafe : %d\n", msConfig.dbName, msConfig.isUseWells(), safeTrips.size(), unsafeTrips.size())); + List<String> messages; if (log.isWarnEnabled()) { messages = action.getWarnMessages(); if (CollectionUtils.isNotEmpty(messages)) { for (String message : messages) { - log.warn(String.format("[WARNING] %s\n", message)); -// outputWriter.write(String.format("[WARNING] %s\n", message)); +// log.debug(String.format("[WARNING] %s", message)); + outputWriter.write(String.format("[WARNING] %s\n", message)); } } } @@ -187,9 +188,6 @@ public abstract class AnalyzeInputSourceActionITSupport { } } - outputWriter.flush(); - log.info(String.format("\n[%s] safe : %d - unsafe : %d\n", msConfig.dbName, safeTrips.size(), unsafeTrips.size())); - log.info(new String(Files.readAllBytes(outputFile.toPath()))); if (msConfig.isUseWells()) { Assert.assertEquals(nbSafe, safeTrips.size()); Assert.assertEquals(nbUnsafe, unsafeTrips.size()); ===================================== t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/MSAccessTestConfiguration.java ===================================== --- a/t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/MSAccessTestConfiguration.java +++ b/t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/MSAccessTestConfiguration.java @@ -188,4 +188,8 @@ public class MSAccessTestConfiguration { public String getProviderId() { return providerId; } + + public void setUseWells(boolean useWells) { + this.useWells = useWells; + } } ===================================== t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/AnalyzeInputSourceActionTest.java ===================================== --- a/t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/AnalyzeInputSourceActionTest.java +++ b/t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/AnalyzeInputSourceActionTest.java @@ -46,6 +46,11 @@ public class AnalyzeInputSourceActionTest extends AnalyzeInputSourceActionTestSu } @Test + public void testExecute_OA_1980() throws Exception { + testExecute(AtlanticOceanFixtures.OA_1980, TripType.LOGBOOKMISSING); + } + + @Test public void testExecute_OI_2000() throws Exception { testExecute(IndianOceanFixtures.OI_2000); } ===================================== t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/AtlanticOceanFixtures.java ===================================== --- a/t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/AtlanticOceanFixtures.java +++ b/t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/AtlanticOceanFixtures.java @@ -30,73 +30,74 @@ import fr.ird.t3.actions.io.input.test.OceanFixtures; */ public enum AtlanticOceanFixtures implements OceanFixtures { - OA_1960(318, 36, 352, 2), - OA_1961(298, 63, 361, 0), - OA_1962(184, 133, 317, 0), - OA_1963(218, 157, 375, 0), - OA_1964(121, 61, 182, 0), - OA_1965(93, 31, 124, 0), - OA_1966(70, 27, 97, 0), - OA_1967(53, 27, 80, 0), - OA_1968(46, 14, 60, 0), - OA_1969(64, 21, 86, 0), - - OA_1970(318, 36, 352, 2), - OA_1971(298, 63, 361, 0), - OA_1972(184, 133, 317, 0), - OA_1973(218, 157, 375, 0), - OA_1974(121, 61, 182, 0), - OA_1975(93, 31, 124, 0), - OA_1976(70, 27, 97, 0), - OA_1977(53, 27, 80, 0), - OA_1978(46, 14, 60, 0), - OA_1979(64, 21, 86, 0), - - OA_1980(318, 36, 352, 2), - OA_1981(298, 63, 361, 0), - OA_1982(184, 133, 317, 0), - OA_1983(218, 157, 375, 0), - OA_1984(121, 61, 182, 0), - OA_1985(93, 31, 124, 0), - OA_1986(70, 27, 97, 0), - OA_1987(53, 27, 80, 0), - OA_1988(46, 14, 60, 0), - OA_1989(64, 21, 86, 0), - - OA_1990(318, 36, 352, 2), - OA_1991(298, 63, 361, 0), - OA_1992(184, 133, 317, 0), - OA_1993(218, 157, 375, 0), - OA_1994(121, 61, 182, 0), - OA_1995(93, 31, 124, 0), - OA_1996(70, 27, 97, 0), - OA_1997(53, 27, 80, 0), - OA_1998(46, 14, 60, 0), - OA_1999(64, 21, 86, 0), + OA_1960(151, 0), + OA_1961(159, 0), + OA_1962(203, 0), + OA_1963(807, 0), + OA_1964(709, 0), + OA_1965(911, 0), + OA_1966(942, 0), + OA_1967(993, 0), + OA_1968(1339, 0), + OA_1969(453, 1179), + OA_1970(289, 970), + OA_1971(146, 1047), + OA_1972(143, 1069), + OA_1973(235, 890), + OA_1974(254, 948), + OA_1975(248, 709), + OA_1976(149, 692), + OA_1977(40, 761), + OA_1978(56, 766), + OA_1979(76, 618), + OA_1980(324, 299), + OA_1981(365, 280), + OA_1982(416, 247), + OA_1983(343, 257), + OA_1984(297, 111), + OA_1985(325, 115), + OA_1986(214, 121), + OA_1987(186, 165), + OA_1988(212, 156), + OA_1989(192, 154), + OA_1990(141, 192), + OA_1991(268, 0), + OA_1992(250, 0), + OA_1993(281, 2), + OA_1994(278, 0), + OA_1995(243, 3), + OA_1996(90, 142), + OA_1997(36, 178), + OA_1998(205, 2), + OA_1999(323, 5), OA_2000(318, 36, 352, 2), - OA_2001(298, 63, 361, 0), - OA_2002(184, 133, 317, 0), - OA_2003(218, 157, 375, 0), - OA_2004(121, 61, 182, 0), + OA_2001(298, 63, 358, 3), + OA_2002(184, 133, 316, 1), + OA_2003(218, 157, 369, 6), + OA_2004(121, 61, 181, 1), OA_2005(93, 31, 124, 0), OA_2006(70, 27, 97, 0), - OA_2007(53, 27, 80, 0), + OA_2007(53, 27, 77, 3), OA_2008(46, 14, 60, 0), OA_2009(64, 21, 86, 0), - OA_2010(75, 13, 87, 0), OA_2011(75, 13, 91, 1), OA_2012(75, 13, 97, 0), OA_2013(75, 13, 103, 0), - OA_2014(75, 13, 91, 0), - OA_2015(75, 13, 80, 8); + OA_2014(75, 13, 90, 0), + OA_2015(75, 13, 103, 0), + OA_2016(75, 13, 52, 55); private final int nbSafe; private final int nbUnsafe; private final int nbSafeWithoutWell; private final int nbUnsafeWithoutWell; + AtlanticOceanFixtures(int nbSafeWithoutWell, int nbUnsafeWithoutWell) { + this(nbSafeWithoutWell, nbUnsafeWithoutWell, nbSafeWithoutWell, nbUnsafeWithoutWell); + } + AtlanticOceanFixtures(int nbSafe, int nbUnsafe, int nbSafeWithoutWell, int nbUnsafeWithoutWell) { this.nbSafe = nbSafe; this.nbUnsafe = nbUnsafe; ===================================== t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionAtlanticOceanIT.java ===================================== --- a/t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionAtlanticOceanIT.java +++ b/t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionAtlanticOceanIT.java @@ -23,6 +23,8 @@ package fr.ird.t3.actions.io.input.it; import fr.ird.t3.actions.io.input.AnalyzeInputSourceAction; import fr.ird.t3.actions.io.input.AtlanticOceanFixtures; import fr.ird.t3.actions.io.input.test.MSAccessTestConfiguration; +import fr.ird.t3.actions.io.input.test.OceanFixtures; +import fr.ird.t3.entities.data.TripType; import fr.ird.t3.io.input.avdth.v35.T3InputProviderAvdth35; import org.junit.Ignore; import org.junit.Test; @@ -33,9 +35,13 @@ import org.junit.Test; * @author Tony Chemit - dev(a)tchemit.fr * @since 1.0 */ -@Ignore public class AnalyzeInputSourceActionAtlanticOceanIT extends AnalyzeInputSourceActionITSupport implements T3AVDTHV35TestAtlanticOcean { + @Override + void testExecute(OceanFixtures fixture) throws Exception { + super.testExecute(fixture, TripType.LOGBOOKMISSING); + } + @Test @Override public void testExecute_OA_1960() throws Exception { @@ -370,6 +376,11 @@ public class AnalyzeInputSourceActionAtlanticOceanIT extends AnalyzeInputSourceA public void testExecute_OA_2015() throws Exception { testExecute(AtlanticOceanFixtures.OA_2015); } + @Test + @Override + public void testExecute_OA_2016() throws Exception { + testExecute(AtlanticOceanFixtures.OA_2016); + } @Override protected MSAccessTestConfiguration createConfiguration() { ===================================== t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionAtlanticOceanRecentIT.java ===================================== --- /dev/null +++ b/t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionAtlanticOceanRecentIT.java @@ -0,0 +1,160 @@ +/* + * #%L + * T3 :: Input AVDTH v 35 + * %% + * Copyright (C) 2010 - 2018 IRD, Code Lutin, Ultreia.io + * %% + * 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% + */ +package fr.ird.t3.actions.io.input.it; + +import fr.ird.t3.actions.io.input.AnalyzeInputSourceAction; +import fr.ird.t3.actions.io.input.AtlanticOceanFixtures; +import fr.ird.t3.actions.io.input.test.MSAccessTestConfiguration; +import fr.ird.t3.io.input.avdth.v35.T3InputProviderAvdth35; +import org.junit.Test; + +/** + * Tests the action {@link AnalyzeInputSourceAction}. + * + * @author Tony Chemit - dev(a)tchemit.fr + * @since 1.0 + */ +public class AnalyzeInputSourceActionAtlanticOceanRecentIT extends AnalyzeInputSourceActionITSupport implements T3AVDTHV35TestAtlanticOceanRecent { + +// @Override +// void testExecute(OceanFixtures fixture) throws Exception { +// super.testExecute(fixture, TripType.LOGBOOKMISSING); +// } + + @Test + @Override + public void testExecute_OA_1998() throws Exception { + testExecute(AtlanticOceanFixtures.OA_1998); + } + + @Test + @Override + public void testExecute_OA_1999() throws Exception { + testExecute(AtlanticOceanFixtures.OA_1999); + } + + @Test + @Override + public void testExecute_OA_2000() throws Exception { + testExecute(AtlanticOceanFixtures.OA_2000); + } + + @Test + @Override + public void testExecute_OA_2001() throws Exception { + testExecute(AtlanticOceanFixtures.OA_2001); + } + + @Test + @Override + public void testExecute_OA_2002() throws Exception { + testExecute(AtlanticOceanFixtures.OA_2002); + } + + @Test + @Override + public void testExecute_OA_2003() throws Exception { + testExecute(AtlanticOceanFixtures.OA_2003); + } + + @Test + @Override + public void testExecute_OA_2004() throws Exception { + testExecute(AtlanticOceanFixtures.OA_2004); + } + + @Test + @Override + public void testExecute_OA_2005() throws Exception { + testExecute(AtlanticOceanFixtures.OA_2005); + } + + @Test + @Override + public void testExecute_OA_2006() throws Exception { + testExecute(AtlanticOceanFixtures.OA_2006); + } + + @Test + @Override + public void testExecute_OA_2007() throws Exception { + testExecute(AtlanticOceanFixtures.OA_2007); + } + + @Test + @Override + public void testExecute_OA_2008() throws Exception { + testExecute(AtlanticOceanFixtures.OA_2008); + } + + @Test + @Override + public void testExecute_OA_2009() throws Exception { + testExecute(AtlanticOceanFixtures.OA_2009); + } + + @Test + @Override + public void testExecute_OA_2010() throws Exception { + testExecute(AtlanticOceanFixtures.OA_2010); + } + + @Test + @Override + public void testExecute_OA_2011() throws Exception { + testExecute(AtlanticOceanFixtures.OA_2011); + } + + @Test + @Override + public void testExecute_OA_2012() throws Exception { + testExecute(AtlanticOceanFixtures.OA_2012); + } + + @Test + @Override + public void testExecute_OA_2013() throws Exception { + testExecute(AtlanticOceanFixtures.OA_2013); + } + + @Test + @Override + public void testExecute_OA_2014() throws Exception { + testExecute(AtlanticOceanFixtures.OA_2014); + } + + @Test + @Override + public void testExecute_OA_2015() throws Exception { + testExecute(AtlanticOceanFixtures.OA_2015); + } + + @Test + @Override + public void testExecute_OA_2016() throws Exception { + testExecute(AtlanticOceanFixtures.OA_2016); + } + + @Override + protected MSAccessTestConfiguration createConfiguration() { + return new MSAccessTestConfiguration("testExecute_([^_]*)_(.*)", "%s_%s_V35.mdb", T3InputProviderAvdth35.ID); + } +} ===================================== t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/ImportInputSourceActionAtlanticOceanIT.java ===================================== --- a/t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/ImportInputSourceActionAtlanticOceanIT.java +++ b/t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/ImportInputSourceActionAtlanticOceanIT.java @@ -379,5 +379,11 @@ public class ImportInputSourceActionAtlanticOceanIT extends ImportInputSourceAct testExecute(AtlanticOceanFixtures.OA_2015); } + @Override + @Test + public void testExecute_OA_2016() throws Exception { + testExecute(AtlanticOceanFixtures.OA_2016); + } + } ===================================== t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/T3AVDTHV35TestAtlanticOcean.java ===================================== --- a/t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/T3AVDTHV35TestAtlanticOcean.java +++ b/t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/T3AVDTHV35TestAtlanticOcean.java @@ -26,7 +26,7 @@ package fr.ird.t3.actions.io.input.it; * @author Tony Chemit - dev(a)tchemit.fr * @since 1.0 */ -public interface T3AVDTHV35TestAtlanticOcean { +public interface T3AVDTHV35TestAtlanticOcean extends T3AVDTHV35TestAtlanticOceanRecent { void testExecute_OA_1960() throws Exception; @@ -104,40 +104,4 @@ public interface T3AVDTHV35TestAtlanticOcean { void testExecute_OA_1997() throws Exception; - void testExecute_OA_1998() throws Exception; - - void testExecute_OA_1999() throws Exception; - - void testExecute_OA_2000() throws Exception; - - void testExecute_OA_2001() throws Exception; - - void testExecute_OA_2002() throws Exception; - - void testExecute_OA_2003() throws Exception; - - void testExecute_OA_2004() throws Exception; - - void testExecute_OA_2005() throws Exception; - - void testExecute_OA_2006() throws Exception; - - void testExecute_OA_2007() throws Exception; - - void testExecute_OA_2008() throws Exception; - - void testExecute_OA_2009() throws Exception; - - void testExecute_OA_2010() throws Exception; - - void testExecute_OA_2011() throws Exception; - - void testExecute_OA_2012() throws Exception; - - void testExecute_OA_2013() throws Exception; - - void testExecute_OA_2014() throws Exception; - - void testExecute_OA_2015() throws Exception; - } ===================================== t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/T3AVDTHV35TestAtlanticOceanRecent.java ===================================== --- /dev/null +++ b/t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/T3AVDTHV35TestAtlanticOceanRecent.java @@ -0,0 +1,69 @@ +/* + * #%L + * T3 :: Input AVDTH v 35 + * %% + * Copyright (C) 2010 - 2018 IRD, Code Lutin, Ultreia.io + * %% + * 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% + */ +package fr.ird.t3.actions.io.input.it; + +/** + * Contract to use for all tests on avdth database + * + * @author Tony Chemit - dev(a)tchemit.fr + * @since 1.0 + */ +public interface T3AVDTHV35TestAtlanticOceanRecent { + + void testExecute_OA_1998() throws Exception; + + void testExecute_OA_1999() throws Exception; + + void testExecute_OA_2000() throws Exception; + + void testExecute_OA_2001() throws Exception; + + void testExecute_OA_2002() throws Exception; + + void testExecute_OA_2003() throws Exception; + + void testExecute_OA_2004() throws Exception; + + void testExecute_OA_2005() throws Exception; + + void testExecute_OA_2006() throws Exception; + + void testExecute_OA_2007() throws Exception; + + void testExecute_OA_2008() throws Exception; + + void testExecute_OA_2009() throws Exception; + + void testExecute_OA_2010() throws Exception; + + void testExecute_OA_2011() throws Exception; + + void testExecute_OA_2012() throws Exception; + + void testExecute_OA_2013() throws Exception; + + void testExecute_OA_2014() throws Exception; + + void testExecute_OA_2015() throws Exception; + + void testExecute_OA_2016() throws Exception; + +} View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/commit/3f7ce999a74f5b0c8df498dda0ab0fd8… --- View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/commit/3f7ce999a74f5b0c8df498dda0ab0fd8… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-t3][develop] update test fixtures for ATL [skip ci]
by Tony CHEMIT 08 Mar '18

08 Mar '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-t3 Commits: 4defd6ba by Tony CHEMIT at 2018-03-08T18:07:37Z update test fixtures for ATL [skip ci] - - - - - 4 changed files: - t3-actions/src/main/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionITSupport.java - t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/MSAccessTestConfiguration.java - t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/AtlanticOceanFixtures.java - t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionAtlanticOceanIT.java Changes: ===================================== t3-actions/src/main/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionITSupport.java ===================================== --- a/t3-actions/src/main/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionITSupport.java +++ b/t3-actions/src/main/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionITSupport.java @@ -113,30 +113,26 @@ public abstract class AnalyzeInputSourceActionITSupport { if (outputWriter != null) { outputWriter.flush(); outputWriter.close(); + log.info(new String(Files.readAllBytes(outputFile.toPath()))); } } void testExecute(OceanFixtures fixture) throws Exception { - testExecute( - fixture.nbSafe(), - fixture.nbUnsafe(), - fixture.nbSafeWithoutWell(), - fixture.nbUnsafeWithoutWell(), - TripType.STANDARD, - false, - false - ); + serviceContext.getMsConfig().setUseWells(false); + testExecute(fixture.nbSafe(), fixture.nbUnsafe(), fixture.nbSafeWithoutWell(), fixture.nbUnsafeWithoutWell(), TripType.STANDARD, false, false); +// serviceContext.getMsConfig().setUseWells(true); +// testExecute(fixture.nbSafe(), fixture.nbUnsafe(), fixture.nbSafeWithoutWell(), fixture.nbUnsafeWithoutWell(), TripType.STANDARD, false, false); } public void testExecute(int nbSafe, int nbUnsafe, - int nbSafeWithoutwell, + int nbSafeWithoutWell, int nbUnsafeWithoutWell) throws Exception { testExecute( nbSafe, nbUnsafe, - nbSafeWithoutwell, + nbSafeWithoutWell, nbUnsafeWithoutWell, TripType.STANDARD, false, @@ -168,13 +164,15 @@ public abstract class AnalyzeInputSourceActionITSupport { Set<Trip> unsafeTrips = action.getResultAsSet(AnalyzeInputSourceAction.RESULT_UNSAFE_TRIPS, Trip.class); Assert.assertNotNull(unsafeTrips); outputWriter.write(String.format("found %d unsafe trip(s).\n", unsafeTrips.size())); + + log.info(String.format("\n[%s](useWells?%b) safe : %d - unsafe : %d\n", msConfig.dbName, msConfig.isUseWells(), safeTrips.size(), unsafeTrips.size())); + List<String> messages; if (log.isWarnEnabled()) { messages = action.getWarnMessages(); if (CollectionUtils.isNotEmpty(messages)) { for (String message : messages) { - log.warn(String.format("[WARNING] %s\n", message)); -// outputWriter.write(String.format("[WARNING] %s\n", message)); + outputWriter.write(String.format("[WARNING] %s\n", message)); } } } @@ -187,9 +185,6 @@ public abstract class AnalyzeInputSourceActionITSupport { } } - outputWriter.flush(); - log.info(String.format("\n[%s] safe : %d - unsafe : %d\n", msConfig.dbName, safeTrips.size(), unsafeTrips.size())); - log.info(new String(Files.readAllBytes(outputFile.toPath()))); if (msConfig.isUseWells()) { Assert.assertEquals(nbSafe, safeTrips.size()); Assert.assertEquals(nbUnsafe, unsafeTrips.size()); ===================================== t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/MSAccessTestConfiguration.java ===================================== --- a/t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/MSAccessTestConfiguration.java +++ b/t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/MSAccessTestConfiguration.java @@ -188,4 +188,8 @@ public class MSAccessTestConfiguration { public String getProviderId() { return providerId; } + + public void setUseWells(boolean useWells) { + this.useWells = useWells; + } } ===================================== t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/AtlanticOceanFixtures.java ===================================== --- a/t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/AtlanticOceanFixtures.java +++ b/t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/AtlanticOceanFixtures.java @@ -30,73 +30,73 @@ import fr.ird.t3.actions.io.input.test.OceanFixtures; */ public enum AtlanticOceanFixtures implements OceanFixtures { - OA_1960(318, 36, 352, 2), - OA_1961(298, 63, 361, 0), - OA_1962(184, 133, 317, 0), - OA_1963(218, 157, 375, 0), - OA_1964(121, 61, 182, 0), - OA_1965(93, 31, 124, 0), - OA_1966(70, 27, 97, 0), - OA_1967(53, 27, 80, 0), - OA_1968(46, 14, 60, 0), - OA_1969(64, 21, 86, 0), - - OA_1970(318, 36, 352, 2), - OA_1971(298, 63, 361, 0), - OA_1972(184, 133, 317, 0), - OA_1973(218, 157, 375, 0), - OA_1974(121, 61, 182, 0), - OA_1975(93, 31, 124, 0), - OA_1976(70, 27, 97, 0), - OA_1977(53, 27, 80, 0), - OA_1978(46, 14, 60, 0), - OA_1979(64, 21, 86, 0), - - OA_1980(318, 36, 352, 2), - OA_1981(298, 63, 361, 0), - OA_1982(184, 133, 317, 0), - OA_1983(218, 157, 375, 0), - OA_1984(121, 61, 182, 0), - OA_1985(93, 31, 124, 0), - OA_1986(70, 27, 97, 0), - OA_1987(53, 27, 80, 0), - OA_1988(46, 14, 60, 0), - OA_1989(64, 21, 86, 0), - - OA_1990(318, 36, 352, 2), - OA_1991(298, 63, 361, 0), - OA_1992(184, 133, 317, 0), - OA_1993(218, 157, 375, 0), - OA_1994(121, 61, 182, 0), - OA_1995(93, 31, 124, 0), - OA_1996(70, 27, 97, 0), - OA_1997(53, 27, 80, 0), - OA_1998(46, 14, 60, 0), - OA_1999(64, 21, 86, 0), + OA_1960(151, 0), + OA_1961(159, 0), + OA_1962(203, 0), + OA_1963(807, 0), + OA_1964(709, 0), + OA_1965(911, 0), + OA_1966(942, 0), + OA_1967(993, 0), + OA_1968(1339, 0), + OA_1969(453, 1179), + OA_1970(289, 970), + OA_1971(146, 1047), + OA_1972(143, 1069), + OA_1973(235, 890), + OA_1974(254, 948), + OA_1975(248, 709), + OA_1976(149, 692), + OA_1977(40, 761), + OA_1978(56, 766), + OA_1979(76, 618), + OA_1980(324, 299), + OA_1981(365, 280), + OA_1982(416, 247), + OA_1983(343, 257), + OA_1984(297, 111), + OA_1985(325, 115), + OA_1986(214, 121), + OA_1987(186, 165), + OA_1988(212, 156), + OA_1989(192, 154), + OA_1990(141, 192), + OA_1991(268, 0), + OA_1992(250, 0), + OA_1993(281, 2), + OA_1994(278, 0), + OA_1995(243, 3), + OA_1996(90, 142), + OA_1997(36, 178), + OA_1998(205, 2), + OA_1999(323, 5), OA_2000(318, 36, 352, 2), - OA_2001(298, 63, 361, 0), - OA_2002(184, 133, 317, 0), - OA_2003(218, 157, 375, 0), - OA_2004(121, 61, 182, 0), + OA_2001(298, 63, 358, 3), + OA_2002(184, 133, 316, 1), + OA_2003(218, 157, 369, 6), + OA_2004(121, 61, 181, 1), OA_2005(93, 31, 124, 0), OA_2006(70, 27, 97, 0), - OA_2007(53, 27, 80, 0), + OA_2007(53, 27, 77, 3), OA_2008(46, 14, 60, 0), OA_2009(64, 21, 86, 0), - OA_2010(75, 13, 87, 0), OA_2011(75, 13, 91, 1), OA_2012(75, 13, 97, 0), OA_2013(75, 13, 103, 0), - OA_2014(75, 13, 91, 0), - OA_2015(75, 13, 80, 8); + OA_2014(75, 13, 90, 0), + OA_2015(75, 13, 103, 0); private final int nbSafe; private final int nbUnsafe; private final int nbSafeWithoutWell; private final int nbUnsafeWithoutWell; + AtlanticOceanFixtures(int nbSafeWithoutWell, int nbUnsafeWithoutWell) { + this(nbSafeWithoutWell, nbUnsafeWithoutWell, nbSafeWithoutWell, nbUnsafeWithoutWell); + } + AtlanticOceanFixtures(int nbSafe, int nbUnsafe, int nbSafeWithoutWell, int nbUnsafeWithoutWell) { this.nbSafe = nbSafe; this.nbUnsafe = nbUnsafe; ===================================== t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionAtlanticOceanIT.java ===================================== --- a/t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionAtlanticOceanIT.java +++ b/t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionAtlanticOceanIT.java @@ -33,7 +33,6 @@ import org.junit.Test; * @author Tony Chemit - dev(a)tchemit.fr * @since 1.0 */ -@Ignore public class AnalyzeInputSourceActionAtlanticOceanIT extends AnalyzeInputSourceActionITSupport implements T3AVDTHV35TestAtlanticOcean { @Test View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/commit/4defd6bae8eaa40ada6f5ca5a56c517e… --- View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/commit/4defd6bae8eaa40ada6f5ca5a56c517e… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-t3][develop] update test fixtures for ATL [skip ci]
by Tony CHEMIT 08 Mar '18

08 Mar '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-t3 Commits: 8179f9e0 by Tony CHEMIT at 2018-03-08T17:45:06Z update test fixtures for ATL [skip ci] - - - - - 4 changed files: - t3-actions/src/main/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionITSupport.java - t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/MSAccessTestConfiguration.java - t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/AtlanticOceanFixtures.java - t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionAtlanticOceanIT.java Changes: ===================================== t3-actions/src/main/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionITSupport.java ===================================== --- a/t3-actions/src/main/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionITSupport.java +++ b/t3-actions/src/main/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionITSupport.java @@ -113,30 +113,26 @@ public abstract class AnalyzeInputSourceActionITSupport { if (outputWriter != null) { outputWriter.flush(); outputWriter.close(); + log.info(new String(Files.readAllBytes(outputFile.toPath()))); } } void testExecute(OceanFixtures fixture) throws Exception { - testExecute( - fixture.nbSafe(), - fixture.nbUnsafe(), - fixture.nbSafeWithoutWell(), - fixture.nbUnsafeWithoutWell(), - TripType.STANDARD, - false, - false - ); + serviceContext.getMsConfig().setUseWells(false); + testExecute(fixture.nbSafe(), fixture.nbUnsafe(), fixture.nbSafeWithoutWell(), fixture.nbUnsafeWithoutWell(), TripType.STANDARD, false, false); + serviceContext.getMsConfig().setUseWells(true); + testExecute(fixture.nbSafe(), fixture.nbUnsafe(), fixture.nbSafeWithoutWell(), fixture.nbUnsafeWithoutWell(), TripType.STANDARD, false, false); } public void testExecute(int nbSafe, int nbUnsafe, - int nbSafeWithoutwell, + int nbSafeWithoutWell, int nbUnsafeWithoutWell) throws Exception { testExecute( nbSafe, nbUnsafe, - nbSafeWithoutwell, + nbSafeWithoutWell, nbUnsafeWithoutWell, TripType.STANDARD, false, @@ -168,13 +164,15 @@ public abstract class AnalyzeInputSourceActionITSupport { Set<Trip> unsafeTrips = action.getResultAsSet(AnalyzeInputSourceAction.RESULT_UNSAFE_TRIPS, Trip.class); Assert.assertNotNull(unsafeTrips); outputWriter.write(String.format("found %d unsafe trip(s).\n", unsafeTrips.size())); + + log.info(String.format("\n[%s](useWells?%b) safe : %d - unsafe : %d\n", msConfig.dbName, msConfig.isUseWells(), safeTrips.size(), unsafeTrips.size())); + List<String> messages; if (log.isWarnEnabled()) { messages = action.getWarnMessages(); if (CollectionUtils.isNotEmpty(messages)) { for (String message : messages) { - log.warn(String.format("[WARNING] %s\n", message)); -// outputWriter.write(String.format("[WARNING] %s\n", message)); + outputWriter.write(String.format("[WARNING] %s\n", message)); } } } @@ -187,9 +185,6 @@ public abstract class AnalyzeInputSourceActionITSupport { } } - outputWriter.flush(); - log.info(String.format("\n[%s] safe : %d - unsafe : %d\n", msConfig.dbName, safeTrips.size(), unsafeTrips.size())); - log.info(new String(Files.readAllBytes(outputFile.toPath()))); if (msConfig.isUseWells()) { Assert.assertEquals(nbSafe, safeTrips.size()); Assert.assertEquals(nbUnsafe, unsafeTrips.size()); ===================================== t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/MSAccessTestConfiguration.java ===================================== --- a/t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/MSAccessTestConfiguration.java +++ b/t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/MSAccessTestConfiguration.java @@ -188,4 +188,8 @@ public class MSAccessTestConfiguration { public String getProviderId() { return providerId; } + + public void setUseWells(boolean useWells) { + this.useWells = useWells; + } } ===================================== t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/AtlanticOceanFixtures.java ===================================== --- a/t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/AtlanticOceanFixtures.java +++ b/t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/AtlanticOceanFixtures.java @@ -30,73 +30,73 @@ import fr.ird.t3.actions.io.input.test.OceanFixtures; */ public enum AtlanticOceanFixtures implements OceanFixtures { - OA_1960(318, 36, 352, 2), - OA_1961(298, 63, 361, 0), - OA_1962(184, 133, 317, 0), - OA_1963(218, 157, 375, 0), - OA_1964(121, 61, 182, 0), - OA_1965(93, 31, 124, 0), - OA_1966(70, 27, 97, 0), - OA_1967(53, 27, 80, 0), - OA_1968(46, 14, 60, 0), - OA_1969(64, 21, 86, 0), - - OA_1970(318, 36, 352, 2), - OA_1971(298, 63, 361, 0), - OA_1972(184, 133, 317, 0), - OA_1973(218, 157, 375, 0), - OA_1974(121, 61, 182, 0), - OA_1975(93, 31, 124, 0), - OA_1976(70, 27, 97, 0), - OA_1977(53, 27, 80, 0), - OA_1978(46, 14, 60, 0), - OA_1979(64, 21, 86, 0), - - OA_1980(318, 36, 352, 2), - OA_1981(298, 63, 361, 0), - OA_1982(184, 133, 317, 0), - OA_1983(218, 157, 375, 0), - OA_1984(121, 61, 182, 0), - OA_1985(93, 31, 124, 0), - OA_1986(70, 27, 97, 0), - OA_1987(53, 27, 80, 0), - OA_1988(46, 14, 60, 0), - OA_1989(64, 21, 86, 0), - - OA_1990(318, 36, 352, 2), - OA_1991(298, 63, 361, 0), - OA_1992(184, 133, 317, 0), - OA_1993(218, 157, 375, 0), - OA_1994(121, 61, 182, 0), - OA_1995(93, 31, 124, 0), - OA_1996(70, 27, 97, 0), - OA_1997(53, 27, 80, 0), - OA_1998(46, 14, 60, 0), - OA_1999(64, 21, 86, 0), + OA_1960(151, 0), + OA_1961(159, 0), + OA_1962(203, 0), + OA_1963(807, 0), + OA_1964(709, 0), + OA_1965(911, 0), + OA_1966(942, 0), + OA_1967(993, 0), + OA_1968(1339, 0), + OA_1969(453, 1179), + OA_1970(289, 970), + OA_1971(146, 1047), + OA_1972(143, 1069), + OA_1973(235, 890), + OA_1974(254, 948), + OA_1975(248, 709), + OA_1976(149, 692), + OA_1977(40, 761), + OA_1978(56, 766), + OA_1979(76, 618), + OA_1980(324, 299), + OA_1981(365, 280), + OA_1982(416, 247), + OA_1983(343, 257), + OA_1984(297, 111), + OA_1985(325, 115), + OA_1986(214, 121), + OA_1987(186, 165), + OA_1988(212, 156), + OA_1989(192, 154), + OA_1990(141, 192), + OA_1991(268, 0), + OA_1992(250, 0), + OA_1993(281, 2), + OA_1994(278, 0), + OA_1995(243, 3), + OA_1996(90, 142), + OA_1997(36, 178), + OA_1998(205, 2), + OA_1999(323, 5), OA_2000(318, 36, 352, 2), - OA_2001(298, 63, 361, 0), - OA_2002(184, 133, 317, 0), - OA_2003(218, 157, 375, 0), - OA_2004(121, 61, 182, 0), + OA_2001(298, 63, 358, 3), + OA_2002(184, 133, 316, 1), + OA_2003(218, 157, 369, 6), + OA_2004(121, 61, 181, 1), OA_2005(93, 31, 124, 0), OA_2006(70, 27, 97, 0), - OA_2007(53, 27, 80, 0), + OA_2007(53, 27, 77, 3), OA_2008(46, 14, 60, 0), OA_2009(64, 21, 86, 0), - OA_2010(75, 13, 87, 0), OA_2011(75, 13, 91, 1), OA_2012(75, 13, 97, 0), OA_2013(75, 13, 103, 0), - OA_2014(75, 13, 91, 0), - OA_2015(75, 13, 80, 8); + OA_2014(75, 13, 90, 0), + OA_2015(75, 13, 103, 0); private final int nbSafe; private final int nbUnsafe; private final int nbSafeWithoutWell; private final int nbUnsafeWithoutWell; + AtlanticOceanFixtures(int nbSafeWithoutWell, int nbUnsafeWithoutWell) { + this(nbSafeWithoutWell, nbUnsafeWithoutWell, nbSafeWithoutWell, nbUnsafeWithoutWell); + } + AtlanticOceanFixtures(int nbSafe, int nbUnsafe, int nbSafeWithoutWell, int nbUnsafeWithoutWell) { this.nbSafe = nbSafe; this.nbUnsafe = nbUnsafe; ===================================== t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionAtlanticOceanIT.java ===================================== --- a/t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionAtlanticOceanIT.java +++ b/t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionAtlanticOceanIT.java @@ -33,7 +33,6 @@ import org.junit.Test; * @author Tony Chemit - dev(a)tchemit.fr * @since 1.0 */ -@Ignore public class AnalyzeInputSourceActionAtlanticOceanIT extends AnalyzeInputSourceActionITSupport implements T3AVDTHV35TestAtlanticOcean { @Test View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/commit/8179f9e0fc8ff6ae190c4d147c345e4f… --- View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/commit/8179f9e0fc8ff6ae190c4d147c345e4f… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-t3][develop] Marées sans logbooks : gestion de leurs échantillons - ajout de check de…
by Tony CHEMIT 08 Mar '18

08 Mar '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-t3 Commits: 7674474a by Tony CHEMIT at 2018-03-08T15:56:53Z Marées sans logbooks : gestion de leurs échantillons - ajout de check de cohérence sur Trip.logbookAvaibility (See #116) + fix typo - - - - - 30 changed files: - .gitlab-ci.yml - t3-actions/src/main/java/fr/ird/t3/actions/data/level0/ComputeRF1Action.java - t3-actions/src/main/java/fr/ird/t3/actions/io/input/AnalyzeInputSourceAction.java - t3-actions/src/main/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionITSupport.java - t3-actions/src/main/java/fr/ird/t3/actions/io/input/it/ImportInputSourceActionITSupport.java - t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/AnalyzeInputSourceActionTestSupport.java - t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/ImportInputSourceActionTestSupport.java - t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/OceanFixtures.java - t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level3/Level3Action_en.ftl - t3-actions/src/main/resources/i18n/t3-actions_en_GB.properties - t3-actions/src/main/resources/i18n/t3-actions_fr_FR.properties - t3-actions/src/test/java/fr/ird/t3/actions/data/level0/ComputeRF1ActionResumeTest.java - t3-domain/src/main/java/fr/ird/t3/entities/T3Predicates.java - t3-domain/src/main/java/fr/ird/t3/entities/data/AbstractTripTopiaDao.java - t3-domain/src/main/java/fr/ird/t3/entities/data/TripImpl.java - t3-domain/src/main/java/fr/ird/t3/io/input/T3Input.java - t3-domain/src/main/java/fr/ird/t3/io/input/access/AbstractT3InputMSAccess.java - t3-domain/src/main/java/fr/ird/t3/io/input/access/T3AccessDataSource.java - t3-domain/src/main/java/fr/ird/t3/io/input/access/T3AvdthDataEntityVisitor.java - t3-domain/src/main/resources/db/migration/V2_3_01_add-Trip-tripType.sql - t3-domain/src/main/xmi/t3-persistence.zargo - t3-domain/src/test/java/fr/ird/t3/entities/reference/WeightCategoryTreatmentImplTest.java - t3-input-avdthv33/src/main/java/fr/ird/t3/io/input/avdth/v33/T3InputAvdth33.java - t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/AtlanticOceanFixtures.java - t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/IndianOceanFixtures.java - t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionAtlanticOceanIT.java - t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/ImportInputSourceActionAtlanticOceanIT.java - t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/T3AVDTHV35TestAtlanticOcean.java - t3-input-avdthv36/src/main/java/fr/ird/t3/io/input/avdth/v36/T3InputAvdth36.java - t3-output-balbayav32/src/main/java/fr/ird/t3/io/output/balbaya/v32/BalbayaOperationExecutionTripImpl.java The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/commit/7674474a553facc7c10d2a9046795c0f… --- View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/commit/7674474a553facc7c10d2a9046795c0f… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-t3][develop] Marées sans logbooks : gestion de leurs échantillons - ajout de check de…
by Tony CHEMIT 08 Mar '18

08 Mar '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-t3 Commits: f5ebfe88 by Tony CHEMIT at 2018-03-08T15:56:05Z Marées sans logbooks : gestion de leurs échantillons - ajout de check de cohérence sur Trip.logbookAvaibility (See #116) + fix typo - - - - - 30 changed files: - .gitlab-ci.yml - t3-actions/src/main/java/fr/ird/t3/actions/data/level0/ComputeRF1Action.java - t3-actions/src/main/java/fr/ird/t3/actions/io/input/AnalyzeInputSourceAction.java - t3-actions/src/main/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionITSupport.java - t3-actions/src/main/java/fr/ird/t3/actions/io/input/it/ImportInputSourceActionITSupport.java - t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/AnalyzeInputSourceActionTestSupport.java - t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/ImportInputSourceActionTestSupport.java - t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/OceanFixtures.java - t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level3/Level3Action_en.ftl - t3-actions/src/main/resources/i18n/t3-actions_en_GB.properties - t3-actions/src/main/resources/i18n/t3-actions_fr_FR.properties - t3-actions/src/test/java/fr/ird/t3/actions/data/level0/ComputeRF1ActionResumeTest.java - t3-domain/src/main/java/fr/ird/t3/entities/T3Predicates.java - t3-domain/src/main/java/fr/ird/t3/entities/data/AbstractTripTopiaDao.java - t3-domain/src/main/java/fr/ird/t3/entities/data/TripImpl.java - t3-domain/src/main/java/fr/ird/t3/io/input/T3Input.java - t3-domain/src/main/java/fr/ird/t3/io/input/access/AbstractT3InputMSAccess.java - t3-domain/src/main/java/fr/ird/t3/io/input/access/T3AccessDataSource.java - t3-domain/src/main/java/fr/ird/t3/io/input/access/T3AvdthDataEntityVisitor.java - t3-domain/src/main/resources/db/migration/V2_3_01_add-Trip-tripType.sql - t3-domain/src/main/xmi/t3-persistence.zargo - t3-domain/src/test/java/fr/ird/t3/entities/reference/WeightCategoryTreatmentImplTest.java - t3-input-avdthv33/src/main/java/fr/ird/t3/io/input/avdth/v33/T3InputAvdth33.java - t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/AtlanticOceanFixtures.java - t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/IndianOceanFixtures.java - t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/AnalyzeInputSourceActionAtlanticOceanIT.java - t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/ImportInputSourceActionAtlanticOceanIT.java - t3-input-avdthv35/src/test/java/fr/ird/t3/actions/io/input/it/T3AVDTHV35TestAtlanticOcean.java - t3-input-avdthv36/src/main/java/fr/ird/t3/io/input/avdth/v36/T3InputAvdth36.java - t3-output-balbayav32/src/main/java/fr/ird/t3/io/output/balbaya/v32/BalbayaOperationExecutionTripImpl.java The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/commit/f5ebfe889a98afb9c8ac124fe8e2755a… --- View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/commit/f5ebfe889a98afb9c8ac124fe8e2755a… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-t3][develop] Marées sans logbooks : gestion de leurs échantillons - ajout de check de…
by Tony CHEMIT 08 Mar '18

08 Mar '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-t3 Commits: 7b035f83 by Tony CHEMIT at 2018-03-08T14:53:16Z Marées sans logbooks : gestion de leurs échantillons - ajout de check de cohérence sur Trip.logbookAvaibility (See #116) + fix typo - - - - - 27 changed files: - .gitlab-ci.yml - t3-actions/src/main/java/fr/ird/t3/actions/data/level0/ComputeRF1Action.java - t3-actions/src/main/java/fr/ird/t3/actions/io/input/AnalyzeInputSourceAction.java - t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level3/Level3Action_en.ftl - t3-actions/src/main/resources/i18n/t3-actions_en_GB.properties - t3-actions/src/main/resources/i18n/t3-actions_fr_FR.properties - t3-actions/src/test/java/fr/ird/t3/actions/data/level0/ComputeRF1ActionResumeTest.java - t3-domain/src/main/java/fr/ird/t3/entities/T3Predicates.java - t3-domain/src/main/java/fr/ird/t3/entities/data/AbstractTripTopiaDao.java - t3-domain/src/main/java/fr/ird/t3/entities/data/TripImpl.java - t3-domain/src/main/java/fr/ird/t3/io/input/T3Input.java - t3-domain/src/main/java/fr/ird/t3/io/input/access/AbstractT3InputMSAccess.java - t3-domain/src/main/java/fr/ird/t3/io/input/access/T3AccessDataSource.java - t3-domain/src/main/java/fr/ird/t3/io/input/access/T3AvdthDataEntityVisitor.java - t3-domain/src/main/resources/db/migration/V2_3_01_add-Trip-tripType.sql - t3-domain/src/main/xmi/t3-persistence.zargo - t3-domain/src/test/java/fr/ird/t3/entities/reference/WeightCategoryTreatmentImplTest.java - t3-input-avdthv33/src/main/java/fr/ird/t3/io/input/avdth/v33/T3InputAvdth33.java - t3-input-avdthv36/src/main/java/fr/ird/t3/io/input/avdth/v36/T3InputAvdth36.java - t3-output-balbayav32/src/main/java/fr/ird/t3/io/output/balbaya/v32/BalbayaOperationExecutionTripImpl.java - t3-web/src/main/java/fr/ird/t3/web/T3StaticContentLoader.java - t3-web/src/main/java/fr/ird/t3/web/actions/T3ActionSupport.java - t3-web/src/main/java/fr/ird/t3/web/actions/io/output/ExportConfigureAction.java - t3-web/src/main/java/fr/ird/t3/web/actions/json/GetOutputProviderOperationsAction.java - t3-web/src/main/java/fr/ird/t3/web/actions/json/GetZoneVersionsAction.java - t3-web/src/main/resources/i18n/t3-web_en_GB.properties - t3-web/src/main/webapp/WEB-INF/jsp/admin/tripDetail.jsp Changes: ===================================== .gitlab-ci.yml ===================================== --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -28,7 +28,13 @@ image: registry.gitlab.com/${CI_PROJECT_NAMESPACE}/${CI_PROJECT_NAME}/docker:lat environment: name: test script: - - if [ -n "${BUILD_FOR_RELEASE}" ]; then ultreiaio-maven-execute 'clean verify -U -DperformRelease -Dmaven.javadoc.skip'; fi + - if [ -n "${BUILD_FOR_RELEASE}" ]; then ultreiaio-maven-execute 'clean verify -U -DperformRelease -Dmaven.source.skip -Dmaven.javadoc.skip'; fi + +.deploy-snapshot: &deploy-snapshot + environment: + name: snapshot + script: + - if [ -n "${DEPLOY_SNAPSHOT}" ]; then ultreiaio-maven-execute 'clean deploy -am -rf t3-domain -DperformRelease -Dmaven.source.skip -Dmaven.javadoc.skip'; fi .publish-site: &publish-site environment: @@ -84,6 +90,11 @@ trigger-build-for-release: <<: *triggers <<: *build-for-release +trigger-deploy-snapshot: + <<: *stage_release + <<: *triggers + <<: *deploy-snapshot + trigger-deploy-demo: <<: *stage_test <<: *triggers @@ -167,6 +178,13 @@ create-docker: before_script: - export CREATE_DOCKER=true +deploy-snapshot: + <<: *stage_release + <<: *manual + <<: *deploy-snapshot + before_script: + - export DEPLOY_SNAPSHOT=true + make-release: <<: *stage_release <<: *manual ===================================== t3-actions/src/main/java/fr/ird/t3/actions/data/level0/ComputeRF1Action.java ===================================== --- a/t3-actions/src/main/java/fr/ird/t3/actions/data/level0/ComputeRF1Action.java +++ b/t3-actions/src/main/java/fr/ird/t3/actions/data/level0/ComputeRF1Action.java @@ -50,20 +50,19 @@ import static org.nuiton.i18n.I18n.l; */ public class ComputeRF1Action extends AbstractLevel0Action<ComputeRF1Configuration> { - /** Logger. */ private static final Log log = LogFactory.getLog(ComputeRF1Action.class); /** total catch weight for trips with rf1 != null. */ - protected float totalCatchWeightRF1; + float totalCatchWeightRF1; /** total landing weight for trips with rf1 != null. */ - protected float totalLandingWeight; + float totalLandingWeight; /** Number of trips rejected (with no logbook). */ - protected int nbRejectedTrips; + int nbRejectedTrips; /** Number of accepted trips (says with a rf1 computation). */ - protected int nbAcceptedTrips; + int nbAcceptedTrips; /** Number of accepted complete trips (says with a rf1 computation). */ - protected int nbCompleteAcceptedTrips; + int nbCompleteAcceptedTrips; /** Number of complete accepted trips (says with a rf1 computation, but not in defined bound). */ - protected int nbCompleteAcceptedTripsWithBadRF1; + int nbCompleteAcceptedTripsWithBadRF1; @InjectDAO(entityType = RF1SpeciesForFleet.class) private RF1SpeciesForFleetTopiaDao rF1SpecieForFleetDAO; /** usable trips group by vessel */ @@ -205,7 +204,6 @@ public class ComputeRF1Action extends AbstractLevel0Action<ComputeRF1Configurati treatCompleteTrip(completeTrip, species, minimumRate, maximumRate); // complete trip was consumed completeTrip.removeTrips(tripList); -// tripList.removeAll(completeTrip); } if (CollectionUtils.isNotEmpty(tripList)) { // still some trips not complete @@ -289,7 +287,7 @@ public class ComputeRF1Action extends AbstractLevel0Action<ComputeRF1Configurati for (Trip trip : trips) { String tripStr = decorate(trip); Float rf1ToUse = rf1; - if (trip.getLogBookAvailability() != 1) { + if (!trip.isWithLogbook()) { // means can not apply any rf1 : rf1 must stay at null... rf1ToUse = null; addWarningMessage(l(locale, "t3.level0.computeRF1.warning.no.logbook", tripStr)); @@ -309,28 +307,6 @@ public class ComputeRF1Action extends AbstractLevel0Action<ComputeRF1Configurati decorate(completeTrip.getLandingTrip()), tripTotalCatchWeightRf1, tripTotalLandingWeight)); log.debug(String.format("After trip %s totalCatchWeightRF1 = %s totalLandingWeight = %s", decorate(completeTrip.getLandingTrip()), totalCatchWeightRF1, totalLandingWeight)); -// for (Trip trip : completeTrip) { -// -// float tripTotalCatchWeightRf1 = -// trip.getElementaryCatchTotalWeightRf1(species); -// totalCatchWeightRF1 += tripTotalCatchWeightRf1; -// -// float tripTotalLandingWeight = -// trip.getElementaryLandingTotalWeight(species); -// totalLandingWeight += tripTotalLandingWeight; -// -// if (log.isInfoEnabled()) { -// -// log.info("After trip " + decorate(trip) + -// " tripTotalCatchWeightRf1 = " + tripTotalCatchWeightRf1 + -// " tripTotalLandingWeight = " + tripTotalLandingWeight); -// } -// if (log.isDebugEnabled()) { -// log.debug("After trip " + decorate(trip) + -// " totalCatchWeightRF1 = " + totalCatchWeightRF1 + -// " totalLandingWeight = " + totalLandingWeight); -// } -// } } private float computeRF1ForCompleteTrip(Iterable<Trip> completeTrip, Collection<Species> speciesList) { ===================================== t3-actions/src/main/java/fr/ird/t3/actions/io/input/AnalyzeInputSourceAction.java ===================================== --- a/t3-actions/src/main/java/fr/ird/t3/actions/io/input/AnalyzeInputSourceAction.java +++ b/t3-actions/src/main/java/fr/ird/t3/actions/io/input/AnalyzeInputSourceAction.java @@ -82,7 +82,6 @@ public class AnalyzeInputSourceAction extends T3Action<AnalyzeInputSourceConfigu private T3Input inputPilot; private boolean safe; - // Ne pas supprimer, utilisé dans la template de résumé @SuppressWarnings("unused") public Trip getTripToReplace(Trip trip) { Map<Trip, Trip> resultAsMap = getResultAsMap(RESULT_TRIPS_TO_REPLACE); @@ -117,10 +116,8 @@ public class AnalyzeInputSourceAction extends T3Action<AnalyzeInputSourceConfigu } String[] analyzeWarnings = inputPilot.getAnalyzeWarnings(); if (analyzeWarnings != null && analyzeWarnings.length > 0) { - // some errors on db - StringBuilder sb = new StringBuilder( - l(locale, "t3.import.warning.on.analyze", analyzeWarnings.length) - ); + // some warnings on db + StringBuilder sb = new StringBuilder(l(locale, "t3.import.warning.on.analyze", analyzeWarnings.length)); for (String analyzeWarning : analyzeWarnings) { sb.append('\n').append(analyzeWarning); } @@ -224,7 +221,6 @@ public class AnalyzeInputSourceAction extends T3Action<AnalyzeInputSourceConfigu } putResult(RESULT_SAFE_TRIPS, safeTrips); putResult(RESULT_UNSAFE_TRIPS, unsafeTrips); - // while analyzing db, nothing to commit in db return false; } finally { @@ -245,11 +241,9 @@ public class AnalyzeInputSourceAction extends T3Action<AnalyzeInputSourceConfigu if (!withWell) { // no well for this trip can remove all missing fk for wells addWarningMessage(l(locale, "t3.import.warning.no.wellPlan", decorate(trip))); - // remove missing keys Sample->Well since there is no well removeWellMissingForeignKeys(missingForeignKeys, false, SAMPLE_TO_WELL, missingFkToMessage); - - // remove missing keys WellPlan->Activity Ssince there is no well + // remove missing keys WellPlan->Activity since there is no well removeWellMissingForeignKeys(missingForeignKeys, true, WELL_PLAN_TO_ACTIVITY, missingFkToMessage); } else { // there is some wells for this trip @@ -282,6 +276,11 @@ public class AnalyzeInputSourceAction extends T3Action<AnalyzeInputSourceConfigu addInfoMessage(l(locale, "t3.import.message.use.new.vessel.for.trip", decorate(vessel), decorate(trip))); } } + String tripTypeNotSafeMessage = inputPilot.getTripTypeNotSafeMessage(trip); + if (tripTypeNotSafeMessage != null) { + tripSafe = false; + addInfoMessage(l(locale, "t3.import.error.bad.tripType", decorate(trip), tripTypeNotSafeMessage)); + } //TODO Use this when Will have exact list of entities to exclude... // check we are not using bad references // tripSafe &= checkReferences(trip, entitiesUsed); ===================================== t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level3/Level3Action_en.ftl ===================================== --- a/t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level3/Level3Action_en.ftl +++ b/t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level3/Level3Action_en.ftl @@ -30,7 +30,7 @@ Time step: ${configuration.timeStep} Treatment to apply to catches with samples: <#if configuration.useAllSamplesOfStratum> -Apply length structures from the sample statrum +Apply length structures from the sample stratum <#else> Keep their own samples (do nothing) </#if> ===================================== t3-actions/src/main/resources/i18n/t3-actions_en_GB.properties ===================================== --- a/t3-actions/src/main/resources/i18n/t3-actions_en_GB.properties +++ b/t3-actions/src/main/resources/i18n/t3-actions_en_GB.properties @@ -3,6 +3,7 @@ t3.admin.deleteTrip=Delete trip %s t3.admin.deleteTripDatas=Delete data of trip %s t3.common.rf1.maximumRate.acceptable=Maximum acceptable rf1 rate t3.common.rf1.minimumRate.acceptable=Minimum acceptable rf1 rate +t3.import.error.bad.tripType=Trip type is not consistent\: %s t3.import.error.badReferenceCode=Trip %s uses a reference of type %s with forbidden code %s t3.import.error.missingForeignKey=It miss on trip %s foreign keys from %s %s to %s %s t3.import.error.missingForeignKeyInT3=On trip %s, it miss in T3+ referentials, entity %s (natural key\: %s) ===================================== t3-actions/src/main/resources/i18n/t3-actions_fr_FR.properties ===================================== --- a/t3-actions/src/main/resources/i18n/t3-actions_fr_FR.properties +++ b/t3-actions/src/main/resources/i18n/t3-actions_fr_FR.properties @@ -3,6 +3,7 @@ t3.admin.deleteTrip=Suppresion de la marée %s t3.admin.deleteTripDatas=Suppresion des données de la marée %s t3.common.rf1.maximumRate.acceptable=Seuil maximum acceptable du rf1 t3.common.rf1.minimumRate.acceptable=Seuil minimum acceptable du rf1 +t3.import.error.bad.tripType=Le type de la marée %s n'est pas cohérent \: %s t3.import.error.badReferenceCode=La marée %s utilise un référentiel de type %s avec le code %s t3.import.error.missingForeignKey=Il manque sur la marée %s des clefs étrangères type %s %s vers %s %s t3.import.error.missingForeignKeyInT3=Pour la marée %s, il manque dans le référentiel T3+ l'entité %s (clef métier\: %s) ===================================== t3-actions/src/test/java/fr/ird/t3/actions/data/level0/ComputeRF1ActionResumeTest.java ===================================== --- a/t3-actions/src/test/java/fr/ird/t3/actions/data/level0/ComputeRF1ActionResumeTest.java +++ b/t3-actions/src/test/java/fr/ird/t3/actions/data/level0/ComputeRF1ActionResumeTest.java @@ -63,19 +63,13 @@ public class ComputeRF1ActionResumeTest extends AbstractActionResumeTest<Compute @Override protected Map<String, Object> createTemplateParameters() { - Map<String, Object> parameters = super.createTemplateParameters(); - Map<String, String> vesselSimpleTypes = new TreeMap<>(); - putInMap(vesselSimpleTypes, - fixtures.vesselSimpleTypeCanneur(), - fixtures.vesselSimpleTypeSenneur()); + putInMap(vesselSimpleTypes, fixtures.vesselSimpleTypeCanneur(), fixtures.vesselSimpleTypeSenneur()); parameters.put("vesselSimpleTypes", vesselSimpleTypes); - Map<String, String> fleets = new TreeMap<>(); putInMap(fleets, fixtures.frenchCountry()); parameters.put("fleets", fleets); - return parameters; } ===================================== t3-domain/src/main/java/fr/ird/t3/entities/T3Predicates.java ===================================== --- a/t3-domain/src/main/java/fr/ird/t3/entities/T3Predicates.java +++ b/t3-domain/src/main/java/fr/ird/t3/entities/T3Predicates.java @@ -8,12 +8,12 @@ * 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% @@ -45,38 +45,6 @@ import java.util.function.Predicate; */ public class T3Predicates { -// /** -// * Predicates that trip has no data computed. -// * -// * @see Trip#isNoDataComputed() -// * @since 1.1 -// */ -// public static final Predicate<Trip> TRIP_WITH_NO_DATA_COMPUTED = Trip::isNoDataComputed; -// -// /** -// * Predicates that trip has some data computed. -// * -// * @see Trip#isSomeDataComputed() -// * @since 1.1 -// */ -// public static final Predicate<Trip> TRIP_WITH_SOME_DATA_COMPUTED = Trip::isSomeDataComputed; -// -// /** -// * Predicates that trip has all his data computed. -// * -// * @see Trip#isAllDataComputed() () -// * @since 1.1 -// */ -// public static final Predicate<Trip> TRIP_WITH_ALL_DATA_COMPUTED = Trip::isAllDataComputed; - - /** - * Predicates that trip has a log book. - * - * @see Trip#getLogBookAvailability() - * @since 1.1 - */ - public static final Predicate<Trip> TRIP_WITH_LOG_BOOK = input -> input.getLogBookAvailability() == 1; - /** * Predicates that trip ends a complete trip. * @@ -85,21 +53,6 @@ public class T3Predicates { */ public static final Predicate<Trip> TRIP_ENDS_A_COMPLETE_TRIP = input -> input.getFishHoldEmpty() == 1; - -// /** -// * Predicates that trip is inside a complete trip (as a simple trip or a -// * partial complete trip). -// * <p/> -// * Notes that a such trip can be used in level 0, and 1. -// * -// * @see Trip#getCompletionStatus() -// * @since 1.2 -// */ -// public static final Predicate<Trip> TRIP_INSIDE_A_COMPLETE_TRIP = input -> { -// Integer completionStatus = input.getCompletionStatus(); -// return completionStatus != null && completionStatus > 0; -// }; - public static final Predicate<Activity> ACTIVITY_WITH_SET_SAMPLE = input -> !input.isSetSpeciesCatWeightEmpty(); public static final Predicate<LengthWeightConversion> LENGTH_WEIGHT_CONVERSION_BY_COEFFICIENT = input -> { boolean result = true; @@ -197,9 +150,7 @@ public class T3Predicates { public static Predicate<Trip> tripUsingOcean(Collection<Ocean> oceans) { return input -> { boolean result = false; - - if (!input.isActivityEmpty()) { - + if (input.isActivityNotEmpty()) { Set<Ocean> allOceans = input.getAllOceans(); for (Ocean ocean : allOceans) { if (oceans.contains(ocean)) { @@ -273,4 +224,18 @@ public class T3Predicates { // public static <E extends TopiaEntity> Predicate<E> equalsTopiaEntity(String id) { // return input -> id.equals(input.getTopiaId()); // } + +// /** +// * Predicates that trip is inside a complete trip (as a simple trip or a partial complete trip). +// * <p/> +// * Notes that a such trip can be used in level 0, and 1. +// * +// * @see Trip#getCompletionStatus() +// * @since 1.2 +// */ +// public static final Predicate<Trip> TRIP_INSIDE_A_COMPLETE_TRIP = input -> { +// Integer completionStatus = input.getCompletionStatus(); +// return completionStatus != null && completionStatus > 0; +// }; + } ===================================== t3-domain/src/main/java/fr/ird/t3/entities/data/AbstractTripTopiaDao.java ===================================== --- a/t3-domain/src/main/java/fr/ird/t3/entities/data/AbstractTripTopiaDao.java +++ b/t3-domain/src/main/java/fr/ird/t3/entities/data/AbstractTripTopiaDao.java @@ -49,6 +49,7 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Comparator; @@ -69,12 +70,57 @@ import java.util.stream.StreamSupport; public class AbstractTripTopiaDao<E extends Trip> extends GeneratedTripTopiaDao<E> { public static final Ocean EMPTY_OCEAN = new OceanImpl(); + private static final int TRIP_WITHOUT_LOGBOOK = 0; + private static final int TRIP_WITH_LOGBOOK = 1; private static final Log log = LogFactory.getLog(AbstractTripTopiaDao.class); static { EMPTY_OCEAN.setTopiaId("fr.ird.t3.entities.reference.Ocean#EMPTY#EMPTY"); } + /** + * Check that a standard trip ({@link TripType#STANDARD}) is consistent with {@code logBookAvailability} flag. + * + * @param trip trip to check + * @param pKey primary key of this trip + */ + public static void checkAndSetStandardTripType(Trip trip, Object[] pKey) { + int logBookAvailability = trip.getLogBookAvailability(); + switch (logBookAvailability) { + case TRIP_WITHOUT_LOGBOOK: + if (trip.isActivityNotEmpty()) { + trip.setTripType(TripType.STANDARD); + throw new IllegalStateException(String.format("Trip [%s] has some logBook but logBookAvailability says the opposite, please fix this trip.", Arrays.toString(pKey))); + } + trip.setTripType(TripType.LOGBOOKMISSING); + break; + case TRIP_WITH_LOGBOOK: + if (trip.isActivityEmpty()) { + trip.setTripType(TripType.LOGBOOKMISSING); + throw new IllegalStateException(String.format("Trip [%s] has some logBook but logBookAvailability says the opposite, please fix this trip.", Arrays.toString(pKey))); + } + trip.setTripType(TripType.STANDARD); + break; + } + } + + /** + * Check that a standard trip ({@link TripType#LOGBOOKMISSING}) is consistent with {@code logBookAvailability} flag. + * + * @param trip trip to check + * @param pKey primary key of this trip + */ + public static void checkAndSetLogbookMissingTripType(Trip trip, Object[] pKey) { + int logBookAvailability = trip.getLogBookAvailability(); + if (trip.getTripType() == TripType.LOGBOOKMISSING) { + if (TRIP_WITH_LOGBOOK == logBookAvailability) { + throw new IllegalStateException(String.format("Trip %s has no logBook but logBookAvailability says the opposite, please fix this trip.", Arrays.toString(pKey))); + } + } else { + checkAndSetStandardTripType(trip, pKey); + } + } + public static String getSamplesOnlyFilter(String prefix, Boolean samplesOnly) { if (samplesOnly == null) { return ""; @@ -138,7 +184,7 @@ public class AbstractTripTopiaDao<E extends Trip> extends GeneratedTripTopiaDao< } public static boolean isTripsAllWithLogBook(Iterable<Trip> trips) { - return StreamSupport.stream(trips.spliterator(), false).allMatch(T3Predicates.TRIP_WITH_LOG_BOOK); + return StreamSupport.stream(trips.spliterator(), false).allMatch(Trip::isWithLogbook); } /** ===================================== t3-domain/src/main/java/fr/ird/t3/entities/data/TripImpl.java ===================================== --- a/t3-domain/src/main/java/fr/ird/t3/entities/data/TripImpl.java +++ b/t3-domain/src/main/java/fr/ird/t3/entities/data/TripImpl.java @@ -8,12 +8,12 @@ * 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% @@ -63,8 +63,9 @@ public class TripImpl extends TripAbstract { } private transient Boolean level2Computed; - private transient Boolean level3Computed; + // only used for avdth import + private transient int logBookAvailability; @Override public boolean isSomeDataComputed() { @@ -91,6 +92,12 @@ public class TripImpl extends TripAbstract { return TripType.LOGBOOKMISSING == getTripType(); } + @Override + public boolean isWithLogbook() { + return TripType.STANDARD == getTripType(); + } + + @SuppressWarnings("WeakerAccess") public boolean isLevel2Computed() { if (level2Computed == null) { level2Computed = false; @@ -108,6 +115,7 @@ public class TripImpl extends TripAbstract { return level2Computed; } + @SuppressWarnings("WeakerAccess") public boolean isLevel3Computed() { if (level3Computed == null) { level3Computed = false; @@ -137,7 +145,19 @@ public class TripImpl extends TripAbstract { return result; } -// /** @return the sum of all activities set duration in hours. */ + // only used for avdth import + @Override + public int getLogBookAvailability() { + return logBookAvailability; + } + + // only used for avdth import + @Override + public void setLogBookAvailability(int logbookAvaibility) { + this.logBookAvailability = logbookAvaibility; + } + + // /** @return the sum of all activities set duration in hours. */ // @Override // public float getTotalSetsDuration() { // float result = 0; ===================================== t3-domain/src/main/java/fr/ird/t3/io/input/T3Input.java ===================================== --- a/t3-domain/src/main/java/fr/ird/t3/io/input/T3Input.java +++ b/t3-domain/src/main/java/fr/ird/t3/io/input/T3Input.java @@ -121,6 +121,8 @@ public interface T3Input { */ List<MissingForeignKey> getMissingForeignKeys(Trip trip); + String getTripTypeNotSafeMessage(Trip trip); + /** * Method to clean input internal states. * <p/> ===================================== t3-domain/src/main/java/fr/ird/t3/io/input/access/AbstractT3InputMSAccess.java ===================================== --- a/t3-domain/src/main/java/fr/ird/t3/io/input/access/AbstractT3InputMSAccess.java +++ b/t3-domain/src/main/java/fr/ird/t3/io/input/access/AbstractT3InputMSAccess.java @@ -25,6 +25,7 @@ import fr.ird.t3.entities.ReferenceEntityMap; import fr.ird.t3.entities.T3EntityEnum; import fr.ird.t3.entities.T3EntityMap; import fr.ird.t3.entities.data.Trip; +import fr.ird.t3.entities.data.TripTopiaDao; import fr.ird.t3.entities.data.TripType; import fr.ird.t3.entities.reference.Vessel; import fr.ird.t3.io.input.MissingForeignKey; @@ -39,9 +40,11 @@ import org.nuiton.topia.persistence.TopiaException; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.File; +import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Set; @@ -56,13 +59,14 @@ import java.util.stream.Collectors; public abstract class AbstractT3InputMSAccess implements T3Input { private static final Log log = LogFactory.getLog(AbstractT3InputMSAccess.class); - protected T3AccessDataSource dataSource; - protected T3InputConfiguration configuration; - protected Map<Integer, Vessel> vessels; + private T3InputConfiguration configuration; + private Map<Integer, Vessel> vessels; + private T3AccessDataSource dataSource; private ReferenceEntityMap safeReferences; private Map<Trip, List<MissingForeignKey>> missingFK; - private String[] errors; - private String[] warnings; + private List<String> errors; + private List<String> warnings; + private Map<Trip, String> tripTypeNotSafeMessages; public abstract T3AccessDataSource newDataSource(File inputFile); @@ -91,27 +95,25 @@ public abstract class AbstractT3InputMSAccess implements T3Input { T3AccessHitModel hitModel = new T3AccessHitModel(); hitModel.addPropertyChangeListener(new LoadDbPropertyChangeListener(t3DataTypes)); // analyse data source - if (configuration.getTripType() == TripType.LOGBOOKMISSING) { - dataSource.analyzeDb(TripType.LOGBOOKMISSING, hitModel); - } else { - dataSource.analyzeDb(hitModel); - } + dataSource.analyzeDb(hitModel); + errors = new ArrayList<>(); if (dataSource.hasError()) { - errors = dataSource.getErrors(); + errors.addAll(Arrays.asList(dataSource.getErrors())); } + warnings = new ArrayList<>(); if (dataSource.hasWarning()) { - warnings = dataSource.getWarnings(); + warnings.addAll(Arrays.asList(dataSource.getWarnings())); } } @Override public String[] getAnalyzeErrors() { - return errors; + return errors.toArray(new String[errors.size()]); } @Override public String[] getAnalyzeWarnings() { - return warnings; + return warnings.toArray(new String[warnings.size()]); } @Override @@ -168,7 +170,7 @@ public abstract class AbstractT3InputMSAccess implements T3Input { T3EntityEnum constant = T3EntityEnum.valueOf(Trip.class); T3AccessEntityMeta meta = dataSource.getMeta(constant); List<Trip> entities = dataSource.loadEntities(meta); - Map<Trip, T3EntityMap> result = Maps.newLinkedHashMap(); + Map<Trip, T3EntityMap> result = new LinkedHashMap<>(); missingFK = new HashMap<>(); T3DataEntityVisitor dataVisitor = newDataVisitor(dataSource, safeReferences); try { @@ -233,6 +235,18 @@ public abstract class AbstractT3InputMSAccess implements T3Input { return missingFK.get(trip); } + @Override + public String getTripTypeNotSafeMessage(Trip trip) { + return tripTypeNotSafeMessages == null ? null : tripTypeNotSafeMessages.get(trip); + } + + private void addTripTypeNotSafeMessage(Trip trip, String message) { + if (tripTypeNotSafeMessages == null) { + tripTypeNotSafeMessages = new LinkedHashMap<>(); + } + tripTypeNotSafeMessages.put(trip, message); + } + private Trip loadTrip(int vesselCode, Trip trip, T3DataEntityVisitor dataVisitor, TripType tripType, boolean canCreateVessel) { RemoveProxyEntityVisitor visitor = new RemoveProxyEntityVisitor(); try { @@ -241,8 +255,29 @@ public abstract class AbstractT3InputMSAccess implements T3Input { dataVisitor.doVisit(trip, true); // remove proxy on data Trip loadedTrip = visitor.doVisit(trip); - // set tripType flag - loadedTrip.setTripType(tripType); + T3AccessEntity a = (T3AccessEntity) trip; + Object[] pKey = a.getPKey(); + switch (tripType) { + case STANDARD: + try { + TripTopiaDao.checkAndSetStandardTripType(loadedTrip, pKey); + } catch (Exception e) { + errors.add(e.getMessage()); + } + break; + case SAMPLEONLY: + // no check + loadedTrip.setTripType(TripType.SAMPLEONLY); + break; + case LOGBOOKMISSING: + try { + TripTopiaDao.checkAndSetLogbookMissingTripType(loadedTrip, pKey); + } catch (Exception e) { + errors.add(e.getMessage()); + + } + break; + } if (trip.getVessel() == null && canCreateVessel) { // use new created vessel Vessel vessel = getNewVessels().get(vesselCode); ===================================== t3-domain/src/main/java/fr/ird/t3/io/input/access/T3AccessDataSource.java ===================================== --- a/t3-domain/src/main/java/fr/ird/t3/io/input/access/T3AccessDataSource.java +++ b/t3-domain/src/main/java/fr/ird/t3/io/input/access/T3AccessDataSource.java @@ -22,7 +22,6 @@ package fr.ird.t3.io.input.access; import fr.ird.msaccess.importer.AbstractAccessDataSource; import fr.ird.t3.entities.T3EntityEnum; -import fr.ird.t3.entities.data.TripType; import fr.ird.t3.entities.reference.T3ReferenceEntity; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -99,10 +98,6 @@ public class T3AccessDataSource extends AbstractAccessDataSource<T3EntityEnum, T } public void analyzeDb(T3AccessHitModel hits) throws Exception { - analyzeDb(null, hits); - } - - public void analyzeDb(TripType tripType, T3AccessHitModel hits) throws Exception { // always init the data source init(); Set<String> tables = getTableNames(); ===================================== t3-domain/src/main/java/fr/ird/t3/io/input/access/T3AvdthDataEntityVisitor.java ===================================== --- a/t3-domain/src/main/java/fr/ird/t3/io/input/access/T3AvdthDataEntityVisitor.java +++ b/t3-domain/src/main/java/fr/ird/t3/io/input/access/T3AvdthDataEntityVisitor.java @@ -78,6 +78,8 @@ public abstract class T3AvdthDataEntityVisitor extends T3DataEntityVisitor { activity.setSchoolType(Objects.requireNonNull(sampleSet.getActivitySchoolType())); sampleSet.setActivity(endActivity(activity)); parent.addActivity(activity); + // Force tripType, so later we will know that this trip has no logBook + parent.setTripType(TripType.LOGBOOKMISSING); } }; } else { ===================================== t3-domain/src/main/resources/db/migration/V2_3_01_add-Trip-tripType.sql ===================================== --- a/t3-domain/src/main/resources/db/migration/V2_3_01_add-Trip-tripType.sql +++ b/t3-domain/src/main/resources/db/migration/V2_3_01_add-Trip-tripType.sql @@ -20,5 +20,8 @@ --- ALTER TABLE Trip ADD COLUMN tripType VARCHAR(255) DEFAULT 'STANDARD' NOT NULL; UPDATE Trip set tripType = 'SAMPLEONLY' WHERE samplesonly = TRUE; +UPDATE Trip set tripType = 'STANDARD' WHERE logbookavailability = 1; +UPDATE Trip set tripType = 'LOGBOOKMISSING' WHERE logbookavailability = 0; CREATE INDEX idx_trip_tripType ON Trip(tripType); +ALTER TABLE Trip DROP COLUMN logbookavailability; ALTER TABLE Trip DROP COLUMN samplesonly; \ No newline at end of file ===================================== t3-domain/src/main/xmi/t3-persistence.zargo ===================================== Binary files a/t3-domain/src/main/xmi/t3-persistence.zargo and b/t3-domain/src/main/xmi/t3-persistence.zargo differ ===================================== t3-domain/src/test/java/fr/ird/t3/entities/reference/WeightCategoryTreatmentImplTest.java ===================================== --- a/t3-domain/src/test/java/fr/ird/t3/entities/reference/WeightCategoryTreatmentImplTest.java +++ b/t3-domain/src/test/java/fr/ird/t3/entities/reference/WeightCategoryTreatmentImplTest.java @@ -20,7 +20,6 @@ */ package fr.ird.t3.entities.reference; -import com.google.common.collect.Maps; import fr.ird.t3.entities.AbstractDatabaseTest; import fr.ird.t3.entities.T3TopiaPersistenceContext; import org.junit.Assert; @@ -28,6 +27,7 @@ import org.junit.Test; import java.util.ArrayList; import java.util.Comparator; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -154,7 +154,7 @@ public class WeightCategoryTreatmentImplTest extends AbstractDatabaseTest { catUnbound.setMax(null); Map<WeightCategoryTreatment, Integer> weightCategories = - Maps.newLinkedHashMap(); + new LinkedHashMap<>(); weightCategories.put(catBound, 20); weightCategories.put(catUnbound, Integer.MAX_VALUE); @@ -208,7 +208,7 @@ public class WeightCategoryTreatmentImplTest extends AbstractDatabaseTest { catUnbound.setMax(null); Map<WeightCategoryTreatment, Integer> weightCategories = - Maps.newLinkedHashMap(); + new LinkedHashMap<>(); weightCategories.put(catBound, 20); weightCategories.put(catBound2, 40); ===================================== t3-input-avdthv33/src/main/java/fr/ird/t3/io/input/avdth/v33/T3InputAvdth33.java ===================================== --- a/t3-input-avdthv33/src/main/java/fr/ird/t3/io/input/avdth/v33/T3InputAvdth33.java +++ b/t3-input-avdthv33/src/main/java/fr/ird/t3/io/input/avdth/v33/T3InputAvdth33.java @@ -82,7 +82,7 @@ public class T3InputAvdth33 extends AbstractT3InputMSAccess { @Override public T3DataEntityVisitor newDataVisitor(T3AccessDataSource dataSource, ReferenceEntityMap safeReferences) { - return new T3DataEntityVisitorAvdth33(dataSource, safeReferences, configuration); + return new T3DataEntityVisitorAvdth33(dataSource, safeReferences, getConfiguration()); } @Override ===================================== t3-input-avdthv36/src/main/java/fr/ird/t3/io/input/avdth/v36/T3InputAvdth36.java ===================================== --- a/t3-input-avdthv36/src/main/java/fr/ird/t3/io/input/avdth/v36/T3InputAvdth36.java +++ b/t3-input-avdthv36/src/main/java/fr/ird/t3/io/input/avdth/v36/T3InputAvdth36.java @@ -96,7 +96,7 @@ public class T3InputAvdth36 extends AbstractT3InputMSAccess { @Override public T3DataEntityVisitor newDataVisitor(T3AccessDataSource dataSource, ReferenceEntityMap safeReferences) { - return new T3DataEntityVisitorAvdth36(dataSource, safeReferences, configuration); + return new T3DataEntityVisitorAvdth36(dataSource, safeReferences, getConfiguration()); } @Override ===================================== t3-output-balbayav32/src/main/java/fr/ird/t3/io/output/balbaya/v32/BalbayaOperationExecutionTripImpl.java ===================================== --- a/t3-output-balbayav32/src/main/java/fr/ird/t3/io/output/balbaya/v32/BalbayaOperationExecutionTripImpl.java +++ b/t3-output-balbayav32/src/main/java/fr/ird/t3/io/output/balbaya/v32/BalbayaOperationExecutionTripImpl.java @@ -8,12 +8,12 @@ * 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% @@ -39,182 +39,153 @@ import static org.nuiton.i18n.I18n.l; */ public class BalbayaOperationExecutionTripImpl extends AbstractBalbayaOperationExecution { - public BalbayaOperationExecutionTripImpl(Connection connection) { + private static final String CHECK_TRIP = "SELECT count(*) FROM maree where c_bat = %1$s AND d_dbq = '%2$s'::date;"; + /** + * To insert a new line into maree table (from Trip entity). + * <p/> + * c_bat | numeric(4,0) | not null + * d_dbq | date | not null + * d_depart | date | + * c_port_dep | numeric(3,0) | not null + * c_port_dbq | numeric(3,0) | not null + * c_zone_geo | numeric(4,0) | + * v_temps_m | numeric(4,0) | not null + * v_temps_p | numeric(4,0) | not null + * v_poids_dbq | numeric(7,3) | not null + * v_poids_fp | numeric(6,3) | not null + * f_enq | numeric(1,0) | not null + * f_cal_vid | numeric(1,0) | not null + * v_loch | numeric(5,0) | + * id_jeu_d | numeric(4,0) | not null + * c_pays_d | numeric(3,0) | not null + */ + private static final String INSERT_MAREE = "INSERT INTO maree (" + + "c_bat," + + "d_dbq," + + "d_depart," + + "c_port_dep, " + + "c_port_dbq," + + "v_temps_m," + + "v_temps_p," + + "v_poids_dbq," + + "v_poids_fp," + + "f_enq," + + "f_cal_vid," + + "v_loch," + + "id_jeu_d," + + "c_pays_d" + + ") VALUES (" + + "%1$s," + + "'%2$s'::date," + + "'%3$s'::date," + + "%4$s," + + "%5$s," + + "%6$s," + + "%7$s," + + "%8$s," + + "%9$s," + + "%10$s," + + "%11$s," + + "%12$s," + + "%13$s," + + "%14$s" + + ");"; + /** + * To insert a new line into lot_com table (from ElementaryLanding entity). + * <p/> + * c_bat | numeric(4,0) | not null + * d_dbq | date | not null + * n_lot | numeric(4,0) | not null + * c_esp | numeric(3,0) | not null + * c_cat_c | numeric(2,0) | not null + * v_poids_lc | numeric(7,3) | not null + */ + private static final String INSERT_LOT_COM = "INSERT INTO lot_com (" + + "c_bat, " + + "d_dbq," + + "n_lot, " + + "c_esp," + + "c_cat_c," + + "v_poids_lc" + + ") VALUES(" + + "%1$s," + + "'%2$s'::date," + + "%3$s," + + "%4$s," + + "%5$s," + + "%6$s" + + ");"; + private int nbTrips; + private int nbElementaryLandings; + + BalbayaOperationExecutionTripImpl(Connection connection) { super(connection, T3OutputOperationBalbayaImpl.TRIP_AND_LANDING); } @Override protected boolean checkDatas(T3OutputBalbayaImpl output, List<Trip> trips) throws SQLException { - // check pKeys before all for (Trip trip : trips) { - int tripVesselCode = trip.getVessel().getCode(); Date tripLandingDate = trip.getLandingDate(); - - boolean exists = - checkPKey(CHECK_TRIP, tripVesselCode, tripLandingDate); - + boolean exists = checkPKey(CHECK_TRIP, tripVesselCode, tripLandingDate); if (exists) { - // this trip already exists, can not import it, stop operation Locale locale = output.getLocale(); output.getMessager().addErrorMessage( - l(locale, "t3.output.balbaya.error.trip.already.exists", - tripVesselCode, tripLandingDate) - ); + l(locale, "t3.output.balbaya.error.trip.already.exists", tripVesselCode, tripLandingDate)); return false; } } return true; } - protected int nbTrips; - - protected int nbElementaryLandings; - @Override - protected String getSuccessSummary(T3OutputBalbayaImpl output, - T3OutputBalbayaImpl.TreatmentId id) { + protected String getSuccessSummary(T3OutputBalbayaImpl output, T3OutputBalbayaImpl.TreatmentId id) { Locale locale = output.getLocale(); - return l(locale, "t3.output.balbabya.operation.tripAndLanding.success", - id.getNumber(), nbTrips, nbElementaryLandings); + return l(locale, "t3.output.balbabya.operation.tripAndLanding.success", id.getNumber(), nbTrips, nbElementaryLandings); } @Override - protected void buildRequests(T3OutputBalbayaImpl output, - T3OutputBalbayaImpl.TreatmentId id, - List<Trip> trips) { - + protected void buildRequests(T3OutputBalbayaImpl output, T3OutputBalbayaImpl.TreatmentId id, List<Trip> trips) { nbTrips = nbElementaryLandings = 0; - int countryCode = id.getCountryCode(); int treatmentNumber = id.getNumber(); - for (Trip trip : trips) { - int tripVesselCode = trip.getVessel().getCode(); Date tripLandingDate = trip.getLandingDate(); - // add trip - nbTrips++; addRequest(INSERT_MAREE, - requests, - tripVesselCode, - tripLandingDate, - trip.getDepartureDate(), - trip.getDepartureHarbour().getCode(), - trip.getLandingHarbour().getCode(), - trip.getTimeAtSea(), - trip.getFishingTime(), - trip.getLandingTotalWeight(), - trip.getFalseFishesWeight(), - trip.getLogBookAvailability(), - trip.getFishHoldEmpty(), - trip.getLoch(), - treatmentNumber, - countryCode - ); + requests, + tripVesselCode, + tripLandingDate, + trip.getDepartureDate(), + trip.getDepartureHarbour().getCode(), + trip.getLandingHarbour().getCode(), + trip.getTimeAtSea(), + trip.getFishingTime(), + trip.getLandingTotalWeight(), + trip.getFalseFishesWeight(), + trip.isWithLogbook() ? 1 : 0, + trip.getFishHoldEmpty(), + trip.getLoch(), + treatmentNumber, + countryCode); if (!trip.isElementaryLandingEmpty()) { - // add elementary landing for (ElementaryLanding elementaryLanding : trip.getElementaryLanding()) { - nbElementaryLandings++; - addRequest(INSERT_LOT_COM, - requests, - tripVesselCode, - tripLandingDate, - elementaryLanding.getNumber(), - elementaryLanding.getWeightCategoryLanding().getSpecies().getCode(), - elementaryLanding.getWeightCategoryLanding().getCode(), - elementaryLanding.getWeight() - ); + requests, + tripVesselCode, + tripLandingDate, + elementaryLanding.getNumber(), + elementaryLanding.getWeightCategoryLanding().getSpecies().getCode(), + elementaryLanding.getWeightCategoryLanding().getCode(), + elementaryLanding.getWeight()); } } } } - - public static final String CHECK_TRIP = "SELECT count(*) FROM maree where " + - "c_bat = %1$s AND d_dbq = '%2$s'::date;"; - - /** - * To insert a new line into maree table (from Trip entity). - * <p/> - * c_bat | numeric(4,0) | not null - * d_dbq | date | not null - * d_depart | date | - * c_port_dep | numeric(3,0) | not null - * c_port_dbq | numeric(3,0) | not null - * c_zone_geo | numeric(4,0) | - * v_temps_m | numeric(4,0) | not null - * v_temps_p | numeric(4,0) | not null - * v_poids_dbq | numeric(7,3) | not null - * v_poids_fp | numeric(6,3) | not null - * f_enq | numeric(1,0) | not null - * f_cal_vid | numeric(1,0) | not null - * v_loch | numeric(5,0) | - * id_jeu_d | numeric(4,0) | not null - * c_pays_d | numeric(3,0) | not null - */ - public static final String INSERT_MAREE = "INSERT INTO maree (" + - "c_bat," + - "d_dbq," + - "d_depart," + - "c_port_dep, " + - "c_port_dbq," + - "v_temps_m," + - "v_temps_p," + - "v_poids_dbq," + - "v_poids_fp," + - "f_enq," + - "f_cal_vid," + - "v_loch," + - "id_jeu_d," + - "c_pays_d" + - ") VALUES (" + - "%1$s," + - "'%2$s'::date," + - "'%3$s'::date," + - "%4$s," + - "%5$s," + - "%6$s," + - "%7$s," + - "%8$s," + - "%9$s," + - "%10$s," + - "%11$s," + - "%12$s," + - "%13$s," + - "%14$s" + - ");"; - - - /** - * To insert a new line into lot_com table (from ElementaryLanding entity). - * <p/> - * c_bat | numeric(4,0) | not null - * d_dbq | date | not null - * n_lot | numeric(4,0) | not null - * c_esp | numeric(3,0) | not null - * c_cat_c | numeric(2,0) | not null - * v_poids_lc | numeric(7,3) | not null - */ - public static final String INSERT_LOT_COM = "INSERT INTO lot_com (" + - "c_bat, " + - "d_dbq," + - "n_lot, " + - "c_esp," + - "c_cat_c," + - "v_poids_lc" + - ") VALUES(" + - "%1$s," + - "'%2$s'::date," + - "%3$s," + - "%4$s," + - "%5$s," + - "%6$s" + - ");"; } ===================================== t3-web/src/main/java/fr/ird/t3/web/T3StaticContentLoader.java ===================================== --- a/t3-web/src/main/java/fr/ird/t3/web/T3StaticContentLoader.java +++ b/t3-web/src/main/java/fr/ird/t3/web/T3StaticContentLoader.java @@ -10,12 +10,12 @@ package fr.ird.t3.web; * 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% @@ -35,9 +35,10 @@ import java.io.OutputStream; import java.util.Calendar; /** + * FIXME See if we still need this ? * To fix some javascript loading problem. * <p/> - * Some javascript files have some strange first caracter (ckeditor for example) + + * Some javascript files have some strange first character (ckeditor for example) + * problem while loading charsets for french translate files. * * @author Tony Chemit - dev(a)tchemit.fr @@ -45,25 +46,18 @@ import java.util.Calendar; */ public class T3StaticContentLoader extends DefaultStaticContentLoader { - /** Logger. */ - private final Logger log = - LoggerFactory.getLogger(T3StaticContentLoader.class); + private final Logger log = LoggerFactory.getLogger(T3StaticContentLoader.class); @Override - protected void process(InputStream is, - String path, - HttpServletRequest request, - HttpServletResponse response) throws IOException { + protected void process(InputStream is, String path, HttpServletRequest request, HttpServletResponse response) throws IOException { if (is != null) { Calendar cal = Calendar.getInstance(); - // check for if-modified-since, prior to any other headers long ifModifiedSince = 0; try { ifModifiedSince = request.getDateHeader("If-Modified-Since"); } catch (Exception e) { - log.warn("Invalid If-Modified-Since header value: '" - + request.getHeader("If-Modified-Since") + "', ignoring"); + log.warn(String.format("Invalid If-Modified-Since header value: '%s', ignoring", request.getHeader("If-Modified-Since"))); } long lastModifiedMillis = lastModifiedCal.getTimeInMillis(); long now = cal.getTimeInMillis(); @@ -97,34 +91,29 @@ public class T3StaticContentLoader extends DefaultStaticContentLoader { response.setHeader("Pragma", "no-cache"); response.setHeader("Expires", "-1"); } - try { copy(is, response.getOutputStream(), path); - } finally { is.close(); } } } - protected void copy(InputStream input, - OutputStream output, - String path) throws IOException { + protected void copy(InputStream input, OutputStream output, String path) throws IOException { if (path.contains(".js")) { - String content = IOUtils.toString(input); + String content = IOUtils.toString(input, Charsets.UTF_8); if (content.indexOf("/") == 1) { - // fix nasty first strange caracter for ckeditor (only on firefox :() + // fix nasty first strange character for ckeditor (only on firefox :() content = content.substring(1); } - if (log.isDebugEnabled()) { - log.debug("Content:\n" + content); - } + log.debug("Content:\n" + content); // always want to have file in IS0 (even if we serve UTF8 files) + //FIXME Why should we serve ISO ? IOUtils.write(content, output, Charsets.ISO_8859_1); } else { - // no special tratment for other files + // no special treatment for other files IOUtils.copy(input, output); } } ===================================== t3-web/src/main/java/fr/ird/t3/web/actions/T3ActionSupport.java ===================================== --- a/t3-web/src/main/java/fr/ird/t3/web/actions/T3ActionSupport.java +++ b/t3-web/src/main/java/fr/ird/t3/web/actions/T3ActionSupport.java @@ -21,7 +21,6 @@ package fr.ird.t3.web.actions; import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Maps; import com.google.common.collect.Multimap; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; @@ -63,6 +62,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Date; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.function.Supplier; @@ -261,7 +261,7 @@ public class T3ActionSupport extends ActionSupport implements T3TopiaPersistence } protected Map<String, String> createTimeSteps() { - Map<String, String> timeSteps = Maps.newLinkedHashMap(); + Map<String, String> timeSteps = new LinkedHashMap<>(); for (int i = 1; i < 13; i++) { timeSteps.put("" + i, "" + i); } ===================================== t3-web/src/main/java/fr/ird/t3/web/actions/io/output/ExportConfigureAction.java ===================================== --- a/t3-web/src/main/java/fr/ird/t3/web/actions/io/output/ExportConfigureAction.java +++ b/t3-web/src/main/java/fr/ird/t3/web/actions/io/output/ExportConfigureAction.java @@ -8,19 +8,18 @@ * 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% */ package fr.ird.t3.web.actions.io.output; -import com.google.common.collect.Maps; import fr.ird.t3.actions.io.output.ExportConfiguration; import fr.ird.t3.entities.T3EntityHelper; import fr.ird.t3.entities.data.Trip; @@ -49,6 +48,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -116,14 +116,13 @@ public class ExportConfigureAction extends AbstractConfigureAction<ExportConfigu // make sur configuration is inited before all getConfiguration(); - operations = Maps.newLinkedHashMap(); + operations = new LinkedHashMap<>(); - for (T3OutputOperation operation : - getT3OutputService().getOperations(configuration.getOutputProviderId())) { + for (T3OutputOperation operation : getT3OutputService().getOperations(configuration.getOutputProviderId())) { operations.put(operation.getId(), operation.getLibelle(getLocale())); } - // inject everything needed (daos, ...) + // inject everything needed (dao, ...) injectExcept(InjectDecoratedBeans.class); boolean configurationInSession = isConfigurationInSession(); ===================================== t3-web/src/main/java/fr/ird/t3/web/actions/json/GetOutputProviderOperationsAction.java ===================================== --- a/t3-web/src/main/java/fr/ird/t3/web/actions/json/GetOutputProviderOperationsAction.java +++ b/t3-web/src/main/java/fr/ird/t3/web/actions/json/GetOutputProviderOperationsAction.java @@ -8,24 +8,24 @@ * 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% */ package fr.ird.t3.web.actions.json; -import com.google.common.collect.Maps; import fr.ird.t3.io.output.T3OutputOperation; import fr.ird.t3.web.actions.T3ActionSupport; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import java.util.LinkedHashMap; import java.util.Map; @@ -39,13 +39,10 @@ public class GetOutputProviderOperationsAction extends T3ActionSupport { private static final long serialVersionUID = 1L; - /** Logger. */ - private static final Log log = - LogFactory.getLog(GetOutputProviderOperationsAction.class); + private static final Log log = LogFactory.getLog(GetOutputProviderOperationsAction.class); - protected String outputProviderId; - - protected Map<String, String> operations; + private String outputProviderId; + private Map<String, String> operations; public void setOutputProviderId(String outputProviderId) { this.outputProviderId = outputProviderId; @@ -57,18 +54,11 @@ public class GetOutputProviderOperationsAction extends T3ActionSupport { @Override public String execute() { - - if (log.isInfoEnabled()) { - log.info("outputProviderId = " + outputProviderId); - } - - operations = Maps.newLinkedHashMap(); - - for (T3OutputOperation operation : - getT3OutputService().getOperations(outputProviderId)) { + log.info(String.format("outputProviderId = %s", outputProviderId)); + operations = new LinkedHashMap<>(); + for (T3OutputOperation operation : getT3OutputService().getOperations(outputProviderId)) { operations.put(operation.getId(), operation.getLibelle(getLocale())); } - return SUCCESS; } } ===================================== t3-web/src/main/java/fr/ird/t3/web/actions/json/GetZoneVersionsAction.java ===================================== --- a/t3-web/src/main/java/fr/ird/t3/web/actions/json/GetZoneVersionsAction.java +++ b/t3-web/src/main/java/fr/ird/t3/web/actions/json/GetZoneVersionsAction.java @@ -8,19 +8,18 @@ * 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% */ package fr.ird.t3.web.actions.json; -import com.google.common.collect.Maps; import fr.ird.t3.entities.reference.zone.ZoneStratumAwareMeta; import fr.ird.t3.entities.reference.zone.ZoneVersion; import fr.ird.t3.web.actions.T3ActionSupport; @@ -28,6 +27,7 @@ import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -41,14 +41,11 @@ public class GetZoneVersionsAction extends T3ActionSupport { private static final long serialVersionUID = 1L; - /** Logger. */ - private static final Log log = - LogFactory.getLog(GetZoneVersionsAction.class); + private static final Log log = LogFactory.getLog(GetZoneVersionsAction.class); /** Selected zoneTypeId. */ - protected String zoneTypeId; - - protected Map<String, String> zoneVersions; + private String zoneTypeId; + private Map<String, String> zoneVersions; public void setZoneTypeId(String zoneTypeId) { this.zoneTypeId = zoneTypeId; @@ -60,23 +57,12 @@ public class GetZoneVersionsAction extends T3ActionSupport { @Override public String execute() { - - if (log.isInfoEnabled()) { - log.info("zoneTypeId = " + zoneTypeId); - } - - zoneVersions = Maps.newLinkedHashMap(); - + log.info(String.format("zoneTypeId = %s", zoneTypeId)); + zoneVersions = new LinkedHashMap<>(); if (!StringUtils.isEmpty(zoneTypeId)) { - - ZoneStratumAwareMeta zoneType = - getZoneStratumService().getZoneMetaById(zoneTypeId); - - List<ZoneVersion> allVersions = - zoneType.getAllZoneVersions(getT3TopiaPersistenceContext().get()); - + ZoneStratumAwareMeta zoneType = getZoneStratumService().getZoneMetaById(zoneTypeId); + List<ZoneVersion> allVersions = zoneType.getAllZoneVersions(getT3TopiaPersistenceContext().get()); zoneVersions = sortAndDecorateIdAbles(allVersions); - } return SUCCESS; } ===================================== t3-web/src/main/resources/i18n/t3-web_en_GB.properties ===================================== --- a/t3-web/src/main/resources/i18n/t3-web_en_GB.properties +++ b/t3-web/src/main/resources/i18n/t3-web_en_GB.properties @@ -267,7 +267,7 @@ t3.label.data.level3.configuration.samplesToUse=Treatment to apply to catches wi t3.label.data.level3.configuration.step1=Level 3 configuration step 1 t3.label.data.level3.configuration.step2=Level 3 configuration step 2 t3.label.data.level3.configuration.useAllSamples=Keep their own sample (do nothing) -t3.label.data.level3.configuration.useCatchSamples=Apply length structures from the sample statrum +t3.label.data.level3.configuration.useCatchSamples=Apply length structures from the sample stratum t3.label.data.level3.configuration.useWeightCategories=Use weight categories t3.label.data.level3.configuration.useWeightCategoriesOrNot=Extrapolation method t3.label.data.treatment.level0=Level 0 treatment ===================================== t3-web/src/main/webapp/WEB-INF/jsp/admin/tripDetail.jsp ===================================== --- a/t3-web/src/main/webapp/WEB-INF/jsp/admin/tripDetail.jsp +++ b/t3-web/src/main/webapp/WEB-INF/jsp/admin/tripDetail.jsp @@ -72,9 +72,7 @@ <s:label value='%{loch}' label="%{getText('t3.common.loch')}"/> - <s:label value='%{getBoolean(logBookAvailability)}' - label="%{getText('t3.common.logBookAvailability')}"/> - <s:label value='%{getText(tripType)}' + <s:label value='%{tripType.label}' label="%{getText('t3.common.tripType')}"/> <s:label value='%{getBoolean(fishHoldEmpty)}' label="%{getText('t3.common.fishHoldEmpty')}"/> View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/commit/7b035f837397ea3df73975985a2af305… --- View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/commit/7b035f837397ea3df73975985a2af305… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-t3][develop] Marées sans logbooks : gestion de leurs échantillons - ajout de check de…
by Tony CHEMIT 08 Mar '18

08 Mar '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-t3 Commits: 70318fcc by Tony CHEMIT at 2018-03-08T12:55:59Z Marées sans logbooks : gestion de leurs échantillons - ajout de check de cohérence sur Trip.logbookAvaibility (See #116) + fix typo - - - - - 11 changed files: - t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level3/Level3Action_en.ftl - t3-domain/src/main/java/fr/ird/t3/entities/data/AbstractTripTopiaDao.java - t3-domain/src/main/java/fr/ird/t3/io/input/access/AbstractT3InputMSAccess.java - t3-domain/src/main/java/fr/ird/t3/io/input/access/T3AccessDataSource.java - t3-domain/src/main/java/fr/ird/t3/io/input/access/T3AvdthDataEntityVisitor.java - t3-domain/src/test/java/fr/ird/t3/entities/reference/WeightCategoryTreatmentImplTest.java - t3-web/src/main/java/fr/ird/t3/web/actions/T3ActionSupport.java - t3-web/src/main/java/fr/ird/t3/web/actions/io/output/ExportConfigureAction.java - t3-web/src/main/java/fr/ird/t3/web/actions/json/GetOutputProviderOperationsAction.java - t3-web/src/main/java/fr/ird/t3/web/actions/json/GetZoneVersionsAction.java - t3-web/src/main/resources/i18n/t3-web_en_GB.properties Changes: ===================================== t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level3/Level3Action_en.ftl ===================================== --- a/t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level3/Level3Action_en.ftl +++ b/t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level3/Level3Action_en.ftl @@ -30,7 +30,7 @@ Time step: ${configuration.timeStep} Treatment to apply to catches with samples: <#if configuration.useAllSamplesOfStratum> -Apply length structures from the sample statrum +Apply length structures from the sample stratum <#else> Keep their own samples (do nothing) </#if> ===================================== t3-domain/src/main/java/fr/ird/t3/entities/data/AbstractTripTopiaDao.java ===================================== --- a/t3-domain/src/main/java/fr/ird/t3/entities/data/AbstractTripTopiaDao.java +++ b/t3-domain/src/main/java/fr/ird/t3/entities/data/AbstractTripTopiaDao.java @@ -49,6 +49,7 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Comparator; @@ -69,12 +70,43 @@ import java.util.stream.StreamSupport; public class AbstractTripTopiaDao<E extends Trip> extends GeneratedTripTopiaDao<E> { public static final Ocean EMPTY_OCEAN = new OceanImpl(); + private static final int TRIP_WITHOUT_LOGBOOK = 0; + private static final int TRIP_WITH_LOGBOOK = 1; private static final Log log = LogFactory.getLog(AbstractTripTopiaDao.class); static { EMPTY_OCEAN.setTopiaId("fr.ird.t3.entities.reference.Ocean#EMPTY#EMPTY"); } + /** + * Check that a standard trip ({@link TripType#STANDARD}) is consistent around {@link Trip#getLogBookAvailability()}. + * + * @param trip trip to check + * @param pKey primary key of this trip + */ + public static void checkStandardTrip(Trip trip, Object[] pKey) { + int logBookAvailability = trip.getLogBookAvailability(); + if (AbstractTripTopiaDao.TRIP_WITHOUT_LOGBOOK == logBookAvailability && trip.isActivityNotEmpty()) { + throw new IllegalStateException(String.format("Trip [%s] has some logBook but logBookAvailability says the opposite, please fix this trip..", Arrays.toString(pKey))); + } + if (AbstractTripTopiaDao.TRIP_WITH_LOGBOOK == logBookAvailability && trip.isActivityEmpty()) { + throw new IllegalStateException(String.format("Trip [%s] has some logBook but logBookAvailability says the opposite, please fix this trip..", Arrays.toString(pKey))); + } + } + + /** + * Check that a standard trip ({@link TripType#LOGBOOKMISSING}) is consistent around {@link Trip#getLogBookAvailability()}. + * + * @param trip trip to check + * @param pKey primary key of this trip + */ + public static void checkLogbookMissingTrip(Trip trip, Object[] pKey) { + int logBookAvailability = trip.getLogBookAvailability(); + if (AbstractTripTopiaDao.TRIP_WITH_LOGBOOK == logBookAvailability) { + throw new IllegalStateException(String.format("Trip [%s] has no logBook but logBookAvailability says the opposite, please fix this trip.", Arrays.toString(pKey))); + } + } + public static String getSamplesOnlyFilter(String prefix, Boolean samplesOnly) { if (samplesOnly == null) { return ""; ===================================== t3-domain/src/main/java/fr/ird/t3/io/input/access/AbstractT3InputMSAccess.java ===================================== --- a/t3-domain/src/main/java/fr/ird/t3/io/input/access/AbstractT3InputMSAccess.java +++ b/t3-domain/src/main/java/fr/ird/t3/io/input/access/AbstractT3InputMSAccess.java @@ -25,6 +25,7 @@ import fr.ird.t3.entities.ReferenceEntityMap; import fr.ird.t3.entities.T3EntityEnum; import fr.ird.t3.entities.T3EntityMap; import fr.ird.t3.entities.data.Trip; +import fr.ird.t3.entities.data.TripTopiaDao; import fr.ird.t3.entities.data.TripType; import fr.ird.t3.entities.reference.Vessel; import fr.ird.t3.io.input.MissingForeignKey; @@ -42,6 +43,7 @@ import java.io.File; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Set; @@ -91,11 +93,7 @@ public abstract class AbstractT3InputMSAccess implements T3Input { T3AccessHitModel hitModel = new T3AccessHitModel(); hitModel.addPropertyChangeListener(new LoadDbPropertyChangeListener(t3DataTypes)); // analyse data source - if (configuration.getTripType() == TripType.LOGBOOKMISSING) { - dataSource.analyzeDb(TripType.LOGBOOKMISSING, hitModel); - } else { - dataSource.analyzeDb(hitModel); - } + dataSource.analyzeDb(hitModel); if (dataSource.hasError()) { errors = dataSource.getErrors(); } @@ -168,7 +166,7 @@ public abstract class AbstractT3InputMSAccess implements T3Input { T3EntityEnum constant = T3EntityEnum.valueOf(Trip.class); T3AccessEntityMeta meta = dataSource.getMeta(constant); List<Trip> entities = dataSource.loadEntities(meta); - Map<Trip, T3EntityMap> result = Maps.newLinkedHashMap(); + Map<Trip, T3EntityMap> result = new LinkedHashMap<>(); missingFK = new HashMap<>(); T3DataEntityVisitor dataVisitor = newDataVisitor(dataSource, safeReferences); try { @@ -242,7 +240,29 @@ public abstract class AbstractT3InputMSAccess implements T3Input { // remove proxy on data Trip loadedTrip = visitor.doVisit(trip); // set tripType flag - loadedTrip.setTripType(tripType); + T3AccessEntity a = (T3AccessEntity) trip; + int logBookAvailability = loadedTrip.getLogBookAvailability(); + Object[] pKey = a.getPKey(); + switch (tripType) { + case STANDARD: + TripTopiaDao.checkStandardTrip(loadedTrip, pKey); + loadedTrip.setTripType(TripType.STANDARD); + break; + case SAMPLEONLY: + // no check + loadedTrip.setTripType(TripType.SAMPLEONLY); + break; + case LOGBOOKMISSING: + if (TripType.LOGBOOKMISSING == loadedTrip.getTripType()) { + // That trip was marked to be without logbook, check that + TripTopiaDao.checkLogbookMissingTrip(loadedTrip, pKey); + } else { + // standard trip, just check logBookAvailability value is correct + TripTopiaDao.checkStandardTrip(loadedTrip, pKey); + loadedTrip.setTripType(TripType.STANDARD); + } + break; + } if (trip.getVessel() == null && canCreateVessel) { // use new created vessel Vessel vessel = getNewVessels().get(vesselCode); ===================================== t3-domain/src/main/java/fr/ird/t3/io/input/access/T3AccessDataSource.java ===================================== --- a/t3-domain/src/main/java/fr/ird/t3/io/input/access/T3AccessDataSource.java +++ b/t3-domain/src/main/java/fr/ird/t3/io/input/access/T3AccessDataSource.java @@ -22,7 +22,6 @@ package fr.ird.t3.io.input.access; import fr.ird.msaccess.importer.AbstractAccessDataSource; import fr.ird.t3.entities.T3EntityEnum; -import fr.ird.t3.entities.data.TripType; import fr.ird.t3.entities.reference.T3ReferenceEntity; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -99,10 +98,6 @@ public class T3AccessDataSource extends AbstractAccessDataSource<T3EntityEnum, T } public void analyzeDb(T3AccessHitModel hits) throws Exception { - analyzeDb(null, hits); - } - - public void analyzeDb(TripType tripType, T3AccessHitModel hits) throws Exception { // always init the data source init(); Set<String> tables = getTableNames(); ===================================== t3-domain/src/main/java/fr/ird/t3/io/input/access/T3AvdthDataEntityVisitor.java ===================================== --- a/t3-domain/src/main/java/fr/ird/t3/io/input/access/T3AvdthDataEntityVisitor.java +++ b/t3-domain/src/main/java/fr/ird/t3/io/input/access/T3AvdthDataEntityVisitor.java @@ -78,6 +78,7 @@ public abstract class T3AvdthDataEntityVisitor extends T3DataEntityVisitor { activity.setSchoolType(Objects.requireNonNull(sampleSet.getActivitySchoolType())); sampleSet.setActivity(endActivity(activity)); parent.addActivity(activity); + parent.setTripType(TripType.LOGBOOKMISSING); } }; } else { ===================================== t3-domain/src/test/java/fr/ird/t3/entities/reference/WeightCategoryTreatmentImplTest.java ===================================== --- a/t3-domain/src/test/java/fr/ird/t3/entities/reference/WeightCategoryTreatmentImplTest.java +++ b/t3-domain/src/test/java/fr/ird/t3/entities/reference/WeightCategoryTreatmentImplTest.java @@ -20,7 +20,6 @@ */ package fr.ird.t3.entities.reference; -import com.google.common.collect.Maps; import fr.ird.t3.entities.AbstractDatabaseTest; import fr.ird.t3.entities.T3TopiaPersistenceContext; import org.junit.Assert; @@ -28,6 +27,7 @@ import org.junit.Test; import java.util.ArrayList; import java.util.Comparator; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -154,7 +154,7 @@ public class WeightCategoryTreatmentImplTest extends AbstractDatabaseTest { catUnbound.setMax(null); Map<WeightCategoryTreatment, Integer> weightCategories = - Maps.newLinkedHashMap(); + new LinkedHashMap<>(); weightCategories.put(catBound, 20); weightCategories.put(catUnbound, Integer.MAX_VALUE); @@ -208,7 +208,7 @@ public class WeightCategoryTreatmentImplTest extends AbstractDatabaseTest { catUnbound.setMax(null); Map<WeightCategoryTreatment, Integer> weightCategories = - Maps.newLinkedHashMap(); + new LinkedHashMap<>(); weightCategories.put(catBound, 20); weightCategories.put(catBound2, 40); ===================================== t3-web/src/main/java/fr/ird/t3/web/actions/T3ActionSupport.java ===================================== --- a/t3-web/src/main/java/fr/ird/t3/web/actions/T3ActionSupport.java +++ b/t3-web/src/main/java/fr/ird/t3/web/actions/T3ActionSupport.java @@ -21,7 +21,6 @@ package fr.ird.t3.web.actions; import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Maps; import com.google.common.collect.Multimap; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; @@ -63,6 +62,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Date; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.function.Supplier; @@ -261,7 +261,7 @@ public class T3ActionSupport extends ActionSupport implements T3TopiaPersistence } protected Map<String, String> createTimeSteps() { - Map<String, String> timeSteps = Maps.newLinkedHashMap(); + Map<String, String> timeSteps = new LinkedHashMap<>(); for (int i = 1; i < 13; i++) { timeSteps.put("" + i, "" + i); } ===================================== t3-web/src/main/java/fr/ird/t3/web/actions/io/output/ExportConfigureAction.java ===================================== --- a/t3-web/src/main/java/fr/ird/t3/web/actions/io/output/ExportConfigureAction.java +++ b/t3-web/src/main/java/fr/ird/t3/web/actions/io/output/ExportConfigureAction.java @@ -8,19 +8,18 @@ * 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% */ package fr.ird.t3.web.actions.io.output; -import com.google.common.collect.Maps; import fr.ird.t3.actions.io.output.ExportConfiguration; import fr.ird.t3.entities.T3EntityHelper; import fr.ird.t3.entities.data.Trip; @@ -49,6 +48,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -116,14 +116,13 @@ public class ExportConfigureAction extends AbstractConfigureAction<ExportConfigu // make sur configuration is inited before all getConfiguration(); - operations = Maps.newLinkedHashMap(); + operations = new LinkedHashMap<>(); - for (T3OutputOperation operation : - getT3OutputService().getOperations(configuration.getOutputProviderId())) { + for (T3OutputOperation operation : getT3OutputService().getOperations(configuration.getOutputProviderId())) { operations.put(operation.getId(), operation.getLibelle(getLocale())); } - // inject everything needed (daos, ...) + // inject everything needed (dao, ...) injectExcept(InjectDecoratedBeans.class); boolean configurationInSession = isConfigurationInSession(); ===================================== t3-web/src/main/java/fr/ird/t3/web/actions/json/GetOutputProviderOperationsAction.java ===================================== --- a/t3-web/src/main/java/fr/ird/t3/web/actions/json/GetOutputProviderOperationsAction.java +++ b/t3-web/src/main/java/fr/ird/t3/web/actions/json/GetOutputProviderOperationsAction.java @@ -8,24 +8,24 @@ * 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% */ package fr.ird.t3.web.actions.json; -import com.google.common.collect.Maps; import fr.ird.t3.io.output.T3OutputOperation; import fr.ird.t3.web.actions.T3ActionSupport; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import java.util.LinkedHashMap; import java.util.Map; @@ -39,13 +39,10 @@ public class GetOutputProviderOperationsAction extends T3ActionSupport { private static final long serialVersionUID = 1L; - /** Logger. */ - private static final Log log = - LogFactory.getLog(GetOutputProviderOperationsAction.class); + private static final Log log = LogFactory.getLog(GetOutputProviderOperationsAction.class); - protected String outputProviderId; - - protected Map<String, String> operations; + private String outputProviderId; + private Map<String, String> operations; public void setOutputProviderId(String outputProviderId) { this.outputProviderId = outputProviderId; @@ -57,18 +54,11 @@ public class GetOutputProviderOperationsAction extends T3ActionSupport { @Override public String execute() { - - if (log.isInfoEnabled()) { - log.info("outputProviderId = " + outputProviderId); - } - - operations = Maps.newLinkedHashMap(); - - for (T3OutputOperation operation : - getT3OutputService().getOperations(outputProviderId)) { + log.info(String.format("outputProviderId = %s", outputProviderId)); + operations = new LinkedHashMap<>(); + for (T3OutputOperation operation : getT3OutputService().getOperations(outputProviderId)) { operations.put(operation.getId(), operation.getLibelle(getLocale())); } - return SUCCESS; } } ===================================== t3-web/src/main/java/fr/ird/t3/web/actions/json/GetZoneVersionsAction.java ===================================== --- a/t3-web/src/main/java/fr/ird/t3/web/actions/json/GetZoneVersionsAction.java +++ b/t3-web/src/main/java/fr/ird/t3/web/actions/json/GetZoneVersionsAction.java @@ -8,19 +8,18 @@ * 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% */ package fr.ird.t3.web.actions.json; -import com.google.common.collect.Maps; import fr.ird.t3.entities.reference.zone.ZoneStratumAwareMeta; import fr.ird.t3.entities.reference.zone.ZoneVersion; import fr.ird.t3.web.actions.T3ActionSupport; @@ -28,6 +27,7 @@ import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -41,14 +41,11 @@ public class GetZoneVersionsAction extends T3ActionSupport { private static final long serialVersionUID = 1L; - /** Logger. */ - private static final Log log = - LogFactory.getLog(GetZoneVersionsAction.class); + private static final Log log = LogFactory.getLog(GetZoneVersionsAction.class); /** Selected zoneTypeId. */ - protected String zoneTypeId; - - protected Map<String, String> zoneVersions; + private String zoneTypeId; + private Map<String, String> zoneVersions; public void setZoneTypeId(String zoneTypeId) { this.zoneTypeId = zoneTypeId; @@ -60,23 +57,12 @@ public class GetZoneVersionsAction extends T3ActionSupport { @Override public String execute() { - - if (log.isInfoEnabled()) { - log.info("zoneTypeId = " + zoneTypeId); - } - - zoneVersions = Maps.newLinkedHashMap(); - + log.info(String.format("zoneTypeId = %s", zoneTypeId)); + zoneVersions = new LinkedHashMap<>(); if (!StringUtils.isEmpty(zoneTypeId)) { - - ZoneStratumAwareMeta zoneType = - getZoneStratumService().getZoneMetaById(zoneTypeId); - - List<ZoneVersion> allVersions = - zoneType.getAllZoneVersions(getT3TopiaPersistenceContext().get()); - + ZoneStratumAwareMeta zoneType = getZoneStratumService().getZoneMetaById(zoneTypeId); + List<ZoneVersion> allVersions = zoneType.getAllZoneVersions(getT3TopiaPersistenceContext().get()); zoneVersions = sortAndDecorateIdAbles(allVersions); - } return SUCCESS; } ===================================== t3-web/src/main/resources/i18n/t3-web_en_GB.properties ===================================== --- a/t3-web/src/main/resources/i18n/t3-web_en_GB.properties +++ b/t3-web/src/main/resources/i18n/t3-web_en_GB.properties @@ -267,7 +267,7 @@ t3.label.data.level3.configuration.samplesToUse=Treatment to apply to catches wi t3.label.data.level3.configuration.step1=Level 3 configuration step 1 t3.label.data.level3.configuration.step2=Level 3 configuration step 2 t3.label.data.level3.configuration.useAllSamples=Keep their own sample (do nothing) -t3.label.data.level3.configuration.useCatchSamples=Apply length structures from the sample statrum +t3.label.data.level3.configuration.useCatchSamples=Apply length structures from the sample stratum t3.label.data.level3.configuration.useWeightCategories=Use weight categories t3.label.data.level3.configuration.useWeightCategoriesOrNot=Extrapolation method t3.label.data.treatment.level0=Level 0 treatment View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/commit/70318fcc05b803dca6f92b7b2361af59… --- View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/commit/70318fcc05b803dca6f92b7b2361af59… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-t3][develop] 4 commits: clean code
by Tony CHEMIT 08 Mar '18

08 Mar '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-t3 Commits: c88b4ba4 by Tony CHEMIT at 2018-03-08T10:35:13Z clean code improve release process improve test API - - - - - 430e1a25 by Tony CHEMIT at 2018-03-08T10:35:36Z [N2][N3] Les calées de type banc indéterminé ne sont pas traitées au N2 et N3 (See #261) - - - - - 693824d0 by Tony CHEMIT at 2018-03-08T10:35:36Z [N2][N3] Stockage des niveaux de substitution atteints (See #269) - - - - - 6b63d54c by Tony CHEMIT at 2018-03-08T10:35:37Z [N2][N3] Les calées de type banc indéterminé ne sont pas traitées au N2 et N3 (See #261) - - - - - 30 changed files: - t3-actions/src/main/java/fr/ird/t3/actions/data/level0/ComputeRF2Action.java - t3-actions/src/main/java/fr/ird/t3/actions/data/level1/ExtrapolateSampleWeightToSetAction.java - t3-actions/src/main/java/fr/ird/t3/actions/data/level2/L2CatchStratumLoader.java - t3-actions/src/main/java/fr/ird/t3/actions/data/level2/L2SampleStratum.java - t3-actions/src/main/java/fr/ird/t3/actions/data/level2/L2SampleStratumLoader.java - t3-actions/src/main/java/fr/ird/t3/actions/data/level2/L2SampleStratumLoaderAtlantic.java - t3-actions/src/main/java/fr/ird/t3/actions/data/level2/L2SampleStratumLoaderIndian.java - t3-actions/src/main/java/fr/ird/t3/actions/data/level2/Level2Action.java - t3-actions/src/main/java/fr/ird/t3/actions/data/level3/L3CatchStratumLoader.java - t3-actions/src/main/java/fr/ird/t3/actions/data/level3/L3SampleStratum.java - t3-actions/src/main/java/fr/ird/t3/actions/data/level3/L3SampleStratumLoader.java - t3-actions/src/main/java/fr/ird/t3/actions/data/level3/L3SampleStratumLoaderAtlantic.java - t3-actions/src/main/java/fr/ird/t3/actions/data/level3/L3SampleStratumLoaderIndian.java - t3-actions/src/main/java/fr/ird/t3/actions/data/level3/Level3Action.java - t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/FakeT3AvdthServiceContext.java - t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/MSAccessTestConfiguration.java - t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level0/ComputeRF2Action.ftl - t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level0/ComputeRF2Action_en.ftl - t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level2/Level2Action.ftl - t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level2/Level2Action_en.ftl - t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level3/Level3Action.ftl - t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level3/Level3Action_en.ftl - t3-actions/src/main/resources/i18n/t3-actions_en_GB.properties - t3-actions/src/main/resources/i18n/t3-actions_fr_FR.properties - t3-actions/src/test/java/fr/ird/t3/actions/data/level0/ComputeRF2ActionResumeTest.java - t3-actions/src/test/java/fr/ird/t3/actions/data/level0/ComputeRF2EmptyConfigurationActionResumeTest.java - t3-actions/src/test/java/fr/ird/t3/models/LengthCompositionModelHelperTest.java - t3-actions/src/test/java/fr/ird/t3/models/WeightCompositionModelHelperTest.java - t3-domain/pom.xml - t3-domain/src/main/java/fr/ird/t3/actions/stratum/CatchStratum.java The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/compare/1c26466856a7c12ee3ea44fb9265cec… --- View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/compare/1c26466856a7c12ee3ea44fb9265cec… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-t3][develop] [N2][N3] Les calées de type banc indéterminé ne sont pas traitées au N2 et N3 (See #261)
by Tony CHEMIT 08 Mar '18

08 Mar '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-t3 Commits: 1c264668 by Tony CHEMIT at 2018-03-08T10:28:09Z [N2][N3] Les calées de type banc indéterminé ne sont pas traitées au N2 et N3 (See #261) - - - - - 3 changed files: - t3-web/src/main/java/fr/ird/t3/web/actions/data/level3/ConfigureLevel3Step2Action.java - t3-web/src/main/java/fr/ird/t3/web/actions/data/level3/Level3ConfigureAction.java - t3-web/src/main/java/fr/ird/t3/web/actions/data/level3/Level3RunAction.java Changes: ===================================== t3-web/src/main/java/fr/ird/t3/web/actions/data/level3/ConfigureLevel3Step2Action.java ===================================== --- a/t3-web/src/main/java/fr/ird/t3/web/actions/data/level3/ConfigureLevel3Step2Action.java +++ b/t3-web/src/main/java/fr/ird/t3/web/actions/data/level3/ConfigureLevel3Step2Action.java @@ -25,6 +25,7 @@ import fr.ird.t3.actions.stratum.SchoolTypeIndeterminate; import fr.ird.t3.actions.stratum.StratumMinimumSampleCount; import fr.ird.t3.entities.reference.Country; import fr.ird.t3.entities.reference.CountryTopiaDao; +import fr.ird.t3.entities.reference.SchoolTypeTopiaDao; import fr.ird.t3.entities.reference.Species; import fr.ird.t3.services.ioc.InjectDAO; import fr.ird.t3.services.ioc.InjectDecoratedBeans; @@ -86,6 +87,8 @@ public class ConfigureLevel3Step2Action extends AbstractConfigureAction<Level3Co Level3Configuration configuration = getConfiguration(); log.info(String.format("Prepare with configuration %s", configuration)); injectExcept(InjectDecoratedBeans.class); + // on level 3, can't treat Indeterminate school type + schoolTypeIndeterminate.remove(SchoolTypeTopiaDao.SCHOOL_TYPE_INDETERMINATE_ID); missingData = false; Set<Country> sampleFlags = new LinkedHashSet<>(); Set<Country> sampleFleets = new LinkedHashSet<>(); ===================================== t3-web/src/main/java/fr/ird/t3/web/actions/data/level3/Level3ConfigureAction.java ===================================== --- a/t3-web/src/main/java/fr/ird/t3/web/actions/data/level3/Level3ConfigureAction.java +++ b/t3-web/src/main/java/fr/ird/t3/web/actions/data/level3/Level3ConfigureAction.java @@ -25,6 +25,7 @@ import fr.ird.t3.actions.stratum.SchoolTypeIndeterminate; import fr.ird.t3.actions.stratum.StratumMinimumSampleCount; import fr.ird.t3.entities.reference.Country; import fr.ird.t3.entities.reference.Ocean; +import fr.ird.t3.entities.reference.SchoolTypeTopiaDao; import fr.ird.t3.entities.reference.Species; import fr.ird.t3.entities.reference.zone.ZoneStratumAwareMeta; import fr.ird.t3.entities.reference.zone.ZoneVersion; @@ -85,10 +86,13 @@ public class Level3ConfigureAction extends AbstractConfigureAction<Level3Configu log.info(String.format("Prepare with configuration %s", getConfiguration())); useSamplesOrNot = createLevel3UseSamplesOrNotMap(); useWeightCategoriesOrNot = createLevel3UseWeightCategoriesOrNotMap(); + useWeightCategoriesInStratumOrNot = createUseWeightCategoriesInStratumOrNot(); // load configuration getConfiguration(); // load decorated beans injectOnly(InjectDecoratedBeans.class); + // on level 3, can't treat Indeterminate school type + schoolTypeIndeterminate.remove(SchoolTypeTopiaDao.SCHOOL_TYPE_INDETERMINATE_ID); } @Override @@ -161,10 +165,12 @@ public class Level3ConfigureAction extends AbstractConfigureAction<Level3Configu public Map<String, String> getUseWeightCategoriesOrNot() { return useWeightCategoriesOrNot; } + @SuppressWarnings("unused") public Map<String, String> getUseWeightCategoriesInStratumOrNot() { return useWeightCategoriesInStratumOrNot; } + @SuppressWarnings("unused") public Map<String, String> getSchoolTypeIndeterminate() { return schoolTypeIndeterminate; ===================================== t3-web/src/main/java/fr/ird/t3/web/actions/data/level3/Level3RunAction.java ===================================== --- a/t3-web/src/main/java/fr/ird/t3/web/actions/data/level3/Level3RunAction.java +++ b/t3-web/src/main/java/fr/ird/t3/web/actions/data/level3/Level3RunAction.java @@ -26,6 +26,7 @@ import fr.ird.t3.actions.stratum.SchoolTypeIndeterminate; import fr.ird.t3.actions.stratum.StratumMinimumSampleCount; import fr.ird.t3.entities.reference.Country; import fr.ird.t3.entities.reference.Ocean; +import fr.ird.t3.entities.reference.SchoolTypeTopiaDao; import fr.ird.t3.entities.reference.Species; import fr.ird.t3.entities.reference.zone.ZoneStratumAwareMeta; import fr.ird.t3.entities.reference.zone.ZoneVersion; @@ -159,6 +160,8 @@ public class Level3RunAction extends AbstractRunAction<Level3Configuration, Leve useWeightCategoriesOrNot = createLevel3UseWeightCategoriesOrNotMap(); useWeightCategoriesInStratumOrNot = createUseWeightCategoriesInStratumOrNot(); super.prepare(); + // on level 3, can't treat Indeterminate school type + schoolTypeIndeterminate.remove(SchoolTypeTopiaDao.SCHOOL_TYPE_INDETERMINATE_ID); } @Override View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/commit/1c26466856a7c12ee3ea44fb9265cecb… --- View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/commit/1c26466856a7c12ee3ea44fb9265cecb… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-t3][develop] use now real private avdth...
by Tony CHEMIT 08 Mar '18

08 Mar '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-t3 Commits: 3ba254f0 by Tony CHEMIT at 2018-03-07T23:56:26Z use now real private avdth... - - - - - 1 changed file: - t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/MSAccessTestConfiguration.java Changes: ===================================== t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/MSAccessTestConfiguration.java ===================================== --- a/t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/MSAccessTestConfiguration.java +++ b/t3-actions/src/main/java/fr/ird/t3/actions/io/input/test/MSAccessTestConfiguration.java @@ -36,7 +36,7 @@ import java.util.regex.Pattern; */ public class MSAccessTestConfiguration { - private static final String DB_PATH = "src:test:access"; + private static final String DB_PATH = "..:.mvn:cache:avdth"; private static final Log log = LogFactory.getLog(MSAccessTestConfiguration.class); private static File basedir; private final Pattern testNamePattern; @@ -76,10 +76,10 @@ public class MSAccessTestConfiguration { dbBasedir = new File(dbBasedir, s1); } if (!dbBasedir.exists()) { - log.warn("Db directory [" + dbBasedir + "] does not exist, will skip test."); + log.warn(String.format("Db directory [%s] does not exist, will skip test.", dbBasedir)); return false; } - log.info("Db directory [" + basedir + "] detected, will do tests."); + log.info(String.format("Db directory [%s] detected, will do tests.", dbBasedir)); String s = System.getenv("executeAll"); if (!StringUtils.isEmpty(s)) { executeAll = Boolean.valueOf(s); @@ -121,24 +121,24 @@ public class MSAccessTestConfiguration { return false; } if (lastYear == null && exactYear == null && executeOnce && !executeAll) { - log.debug("Skip test " + testName + " executeAll flag is off"); + log.debug(String.format("Skip test %s executeAll flag is off", testName)); return false; } dbName = String.format(dbPattern, ocean, group); accessFile = new File(new File(dbBasedir, ocean), dbName); boolean exists = accessFile.exists(); if (!exists) { - log.warn("Could not find access file " + accessFile); + log.warn(String.format("Could not find access file %s", accessFile)); return false; } - log.debug("DbName = " + dbName); + log.debug(String.format("DbName = %s", dbName)); execute = true; return true; } public boolean doTest(String testName) { if (!execute) { - log.info("will not execute test [" + testName + "]"); + log.info(String.format("Will not execute test [%s]", testName)); return false; } executeOnce = true; View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/commit/3ba254f0a013214b36e9684daca22544… --- View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/commit/3ba254f0a013214b36e9684daca22544… You're receiving this email because of your account on gitlab.com.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.