Observe-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
July 2018
- 1 participants
- 80 discussions
[Git][ultreiaio/ird-observe][develop-7.x] [PS][SERVER] La création du form FOB (Ctrl+P) depuis le form activité échoue en…
by Tony CHEMIT 11 Jul '18
by Tony CHEMIT 11 Jul '18
11 Jul '18
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe
Commits:
68981f33 by Tony CHEMIT at 2018-07-11T11:59:50Z
[PS][SERVER] La création du form FOB (Ctrl+P) depuis le form activité échoue en mode serveur - closes #1024
- - - - -
12 changed files:
- client/src/main/java/fr/ird/observe/client/ui/actions/content/LonglineDetailCompositionDeleteAllSectionsAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/LonglineDetailCompositionGenerateAllSectionsAction.java
- dto/src/main/java/fr/ird/observe/dto/referential/LengthLengthParameterDto.java
- dto/src/main/java/fr/ird/observe/dto/referential/LengthWeightParameterDto.java
- − dto/src/main/java/fr/ird/observe/dto/referential/WithLengthFormula.java
- − dto/src/main/java/fr/ird/observe/dto/referential/WithStartEndDate.java
- dto/src/main/models/Observe.model
- persistence/src/main/java/fr/ird/observe/entities/referentiel/FormulaSupportImpl.java
- persistence/src/main/models/Observe.model
- pom.xml
- + services/src/main/java/fr/ird/observe/services/gson/FloatingObjectModificationAdapter.java
- services/src/main/java/fr/ird/observe/services/gson/ObserveDtoGsonSupplier.java
Changes:
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/LonglineDetailCompositionDeleteAllSectionsAction.java
=====================================
@@ -1,5 +1,27 @@
package fr.ird.observe.client.ui.actions.content;
+/*-
+ * #%L
+ * ObServe :: Client
+ * %%
+ * Copyright (C) 2008 - 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 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 General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
import fr.ird.observe.client.ObserveSwingApplicationContext;
import fr.ird.observe.client.ui.ObserveKeyStrokes;
import fr.ird.observe.client.ui.ObserveMainUI;
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/LonglineDetailCompositionGenerateAllSectionsAction.java
=====================================
@@ -1,5 +1,27 @@
package fr.ird.observe.client.ui.actions.content;
+/*-
+ * #%L
+ * ObServe :: Client
+ * %%
+ * Copyright (C) 2008 - 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 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 General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
import com.google.common.collect.Lists;
import fr.ird.observe.client.ui.ObserveKeyStrokes;
import fr.ird.observe.client.ui.ObserveMainUI;
=====================================
dto/src/main/java/fr/ird/observe/dto/referential/LengthLengthParameterDto.java
=====================================
@@ -22,11 +22,6 @@ package fr.ird.observe.dto.referential;
* #L%
*/
-import io.ultreia.java4all.bean.definition.JavaBeanDefinition;
-import io.ultreia.java4all.bean.definition.JavaBeanDefinitionStore;
-import io.ultreia.java4all.bean.spi.GenerateJavaBeanDefinition;
-
-@GenerateJavaBeanDefinition
public class LengthLengthParameterDto extends GeneratedLengthLengthParameterDto {
private static final long serialVersionUID = 1L;
@@ -83,8 +78,4 @@ public class LengthLengthParameterDto extends GeneratedLengthLengthParameterDto
setOutputInputFormulaValid(formulaTwoValid);
}
- @Override
- public JavaBeanDefinition javaBeanDefinition() {
- return JavaBeanDefinitionStore.definition(LengthLengthParameterDtoJavaBeanDefinition.class);
- }
}
=====================================
dto/src/main/java/fr/ird/observe/dto/referential/LengthWeightParameterDto.java
=====================================
@@ -23,11 +23,7 @@ package fr.ird.observe.dto.referential;
*/
import io.ultreia.java4all.bean.JavaBean;
-import io.ultreia.java4all.bean.definition.JavaBeanDefinition;
-import io.ultreia.java4all.bean.definition.JavaBeanDefinitionStore;
-import io.ultreia.java4all.bean.spi.GenerateJavaBeanDefinition;
-@GenerateJavaBeanDefinition
public class LengthWeightParameterDto extends GeneratedLengthWeightParameterDto implements JavaBean {
private static final long serialVersionUID = 1L;
@@ -84,8 +80,4 @@ public class LengthWeightParameterDto extends GeneratedLengthWeightParameterDto
setWeightLengthFormulaValid(formulaTwoValid);
}
- @Override
- public JavaBeanDefinition javaBeanDefinition() {
- return JavaBeanDefinitionStore.definition(LengthWeightParameterDtoJavaBeanDefinition.class);
- }
}
=====================================
dto/src/main/java/fr/ird/observe/dto/referential/WithLengthFormula.java deleted
=====================================
@@ -1,103 +0,0 @@
-package fr.ird.observe.dto.referential;
-
-/*-
- * #%L
- * ObServe Toolkit :: Common Dto
- * %%
- * Copyright (C) 2017 - 2018 IRD, Ultreia.io
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/gpl-3.0.html>.
- * #L%
- */
-
-import java.util.Comparator;
-import java.util.Date;
-import java.util.List;
-import java.util.Set;
-
-/**
- * Created on 22/12/16.
- *
- * @author Tony Chemit - dev(a)tchemit.fr
- * @since 6.0
- */
-public interface WithLengthFormula extends WithFormula, WithStartEndDate {
-
- String PROPERTY_OCEAN = "ocean";
- String PROPERTY_SPECIES = "species";
- String PROPERTY_SEX = "sex";
- String PROPERTY_START_DATE = "startDate";
- String PROPERTY_END_DATE = "endDate";
- String PROPERTY_COEFFICIENTS = "coefficients";
- String PROPERTY_SOURCE = "source";
-
- Comparator<WithLengthFormula> FORMULA_SUPPORT_START_DATE_COMPARATOR = Comparator.comparing(WithStartEndDate::getStartDate, WithStartEndDate.START_DATE_COMPARATOR);
- Comparator<WithLengthFormula> FORMULA_SUPPORT_END_DATE_COMPARATOR = Comparator.comparing(WithStartEndDate::getEndDate, WithStartEndDate.END_DATE_COMPARATOR);
- Comparator<WithLengthFormula> FORMULA_SUPPORT_COMPARATOR = FORMULA_SUPPORT_START_DATE_COMPARATOR.thenComparing(FORMULA_SUPPORT_END_DATE_COMPARATOR);
-
- static <D extends WithLengthFormula> void sort(List<D> list) {
- list.sort(FORMULA_SUPPORT_COMPARATOR);
- }
-
-// static <D extends WithStartEndDate> List<D> filter(List<D> list, Date date) {
-// return list.stream()
-// .filter(f -> WithStartEndDate.START_DATE_COMPARATOR.compare(f.getStartDate(), date) <= 0 && WithStartEndDate.END_DATE_COMPARATOR.compare(date, f.getEndDate()) <= 0)
-// .collect(Collectors.toList());
-// }
-
- String getFormulaOneVariableName();
-
- String getFormulaTwoVariableName();
-
- void setStartDate(Date startDate);
-
- void setEndDate(Date endDate);
-
- void setCoefficients(String coefficients);
-
- String getSource();
-
- void setSource(String source);
-
- default Set<String> getCoefficientNames() {
- return getCoefficientValues().keySet();
- }
-
- String getFormulaOne();
-
- String getFormulaTwo();
-
- default void revalidateFormulaOne() {
- boolean result = FormulaHelper.validateRelation(this, getFormulaOne(), getFormulaOneVariableName());
- setFormulaOneValid(result);
- }
-
- boolean isFormulaOneValid();
-
- void setFormulaOneValid(boolean formulaOneValid);
-
- boolean isFormulaTwoValid();
-
- void setFormulaTwoValid(boolean formulaTwoValid);
-
- default void revalidateFormulaTwo() {
- boolean result = FormulaHelper.validateRelation(this, getFormulaTwo(), getFormulaTwoVariableName());
- setFormulaTwoValid(result);
- }
-
- default Double getCoefficientValue(String coefficientName) {
- return getCoefficientValues().get(coefficientName);
- }
-}
=====================================
dto/src/main/java/fr/ird/observe/dto/referential/WithStartEndDate.java deleted
=====================================
@@ -1,26 +0,0 @@
-package fr.ird.observe.dto.referential;
-
-import com.google.common.collect.Ordering;
-import fr.ird.observe.dto.reference.DtoReferenceAware;
-
-import java.util.Comparator;
-import java.util.Date;
-
-/**
- * Created by tchemit on 10/07/2018.
- *
- * @author Tony Chemit - dev(a)tchemit.fr
- */
-public interface WithStartEndDate extends DtoReferenceAware {
-
- Comparator<Date> START_DATE_COMPARATOR = Ordering.natural().nullsFirst();
- Comparator<Date> END_DATE_COMPARATOR = Ordering.natural().nullsLast();
-
- Comparator<WithStartEndDate> WITH_START_DATE_COMPARATOR = Comparator.comparing(WithStartEndDate::getStartDate, START_DATE_COMPARATOR);
- Comparator<WithStartEndDate> WITH_END_DATE_COMPARATOR = Comparator.comparing(WithStartEndDate::getEndDate, END_DATE_COMPARATOR);
-
- Date getStartDate();
-
- Date getEndDate();
-
-}
=====================================
dto/src/main/models/Observe.model
=====================================
@@ -12,19 +12,9 @@ package fr.ird.observe.dto.form
enum constants.ObserveDbRole
-enum data.seine.SetSeineConstants
-targetSampleCapture
-endSetDate
-endPursingDate
-endSetTime
-endPursingTime
-
-enum data.seine.TargetLengthConstants
-totalWeight
-
interface ObserveDto
-interface referential.WithLengthFormula
+interface referential.WithFormula
interface WithComment
getComment() String
@@ -70,7 +60,7 @@ label6 + {*:1} String
label7 + {*:1} String
label8 + {*:1} String
-abstract referential.LengthFormulaSupport > referential.Referential >> referential.WithLengthFormula
+abstract referential.LengthFormulaSupport > referential.Referential >> referential.WithFormula
startDate + {*:1} Date
endDate + {*:1} Date
coefficients + {*:1} String
@@ -750,7 +740,7 @@ totalWeight + {*:1} Integer
meanWeight + {*:1} Integer
species {*:1} fr.ird.observe.dto.referential.SpeciesReference
-data.seine.SetSeine > data.Commentable | references=comment
+data.seine.SetSeine > data.Commentable | references=comment constants=targetSampleCapture,endSetDate,endPursingDate,endSetTime,endPursingTime
startTime + {*:1} Date
endPursingTimeStamp + {*:1} Date
endSetTimeStamp + {*:1} Date
@@ -795,7 +785,7 @@ weightCategory {*:1} fr.ird.observe.dto.referential.seine.WeightCategoryReferenc
reasonForDiscard {*:0..1} fr.ird.observe.dto.referential.seine.ReasonForDiscardReference
species {*:1} fr.ird.observe.dto.referential.SpeciesReference
-data.seine.TargetLength > data.Data | references=speciesLabel,length,count
+data.seine.TargetLength > data.Data | references=speciesLabel,length,count constants=totalWeight
length + {*:1} Float
isLengthComputed + {*:1} boolean
count + {*:1} Integer
=====================================
persistence/src/main/java/fr/ird/observe/entities/referentiel/FormulaSupportImpl.java
=====================================
@@ -23,7 +23,6 @@ package fr.ird.observe.entities.referentiel;
*/
import fr.ird.observe.dto.referential.FormulaHelper;
-import fr.ird.observe.dto.referential.WithLengthFormula;
import org.apache.commons.lang3.BooleanUtils;
import java.util.Map;
@@ -34,7 +33,7 @@ import java.util.Map;
* @author Tony Chemit - dev(a)tchemit.fr
* @since 6.0
*/
-public abstract class FormulaSupportImpl extends FormulaSupportAbstract implements WithLengthFormula {
+public abstract class FormulaSupportImpl extends FormulaSupportAbstract {
private static final long serialVersionUID = 1L;
=====================================
persistence/src/main/models/Observe.model
=====================================
@@ -25,62 +25,6 @@ enum !fr.ird.observe.dto.data.seine.TypeTransmittingBuoyOperation
enum !fr.ird.observe.dto.data.seine.DcpComputedValue
-enum longline.ActivityLonglineConstants
-date
-time
-
-enum longline.BranchlineConstants
-timerTimeOnBoardDate
-timerTimeOnBoardTime
-
-enum longline.SetLonglineConstants
-settingStartDate
-settingStartTime
-settingStartQuadrant
-settingEndDate
-settingEndTime
-settingEndQuadrant
-haulingStartDate
-haulingStartTime
-haulingStartQuadrant
-haulingEndDate
-haulingEndTime
-haulingEndQuadrant
-floatlinesCompositionProportionSum
-branchlinesCompositionProportionSum
-hooksCompositionProportionSum
-baitsCompositionProportionSum
-
-enum longline.TdrConstants
-deployementStartDate
-deployementStartTime
-deployementEndDate
-deployementEndTime
-fishingStartDate
-fishingStartTime
-fishingEndDate
-fishingEndTime
-
-enum referentiel.FormulaSupportConstants
-formulaOneValid
-formulaTwoValid
-
-enum referentiel.HarbourConstants
-quadrant
-
-enum referentiel.ProgramConstants
-gearTypePrefix
-
-enum seine.SetConstants
-targetSampleCapture
-endSetDate
-endPursingDate
-endSetTime
-endPursingTime
-
-enum seine.TargetLengthConstants
-totalWeight
-
interface Activity
interface LengthWeightComputable
@@ -122,7 +66,7 @@ abstract ObserveDataEntity > ObserveEntity | entity
abstract ObserveEntity >> fr.ird.observe.dto.reference.DtoReferenceAware | entity
lastUpdateDate + {*:1} Date | notNull
-longline.ActivityLongline > CommentableEntity >> Activity | entity dbName=Activity
+longline.ActivityLongline > CommentableEntity >> Activity | entity dbName=Activity constants=date,time
timeStamp + {*:1} Date
latitude + {*:1} Float
longitude + {*:1} Float
@@ -156,7 +100,7 @@ catchLongline {*} longline.CatchLongline
tdr {*} longline.Tdr
setLongline {*:1} longline.SetLongline | dbName=set
-longline.Branchline > CommentableEntity >> longline.LonglineCompositionEntity | entity
+longline.Branchline > CommentableEntity >> longline.LonglineCompositionEntity | entity constants=timerTimeOnBoardDate,timerTimeOnBoardTime
settingIdentifier + {*:1} Integer | notNull
haulingIdentifier + {*:1} Integer
depthRecorder + {*:1} Boolean
@@ -265,7 +209,7 @@ sensorType {*:1} referentiel.longline.SensorType
sensorDataFormat {*:0..1} referentiel.longline.SensorDataFormat
sensorBrand {*:1} referentiel.longline.SensorBrand
-longline.SetLongline > CommentableEntity >> ObserveSet | entity dbName=Set
+longline.SetLongline > CommentableEntity >> ObserveSet | entity dbName=Set constants=settingStartTime,settingStartQuadrant,settingEndDate,settingEndTime,settingEndQuadrant,haulingStartDate,haulingStartTime,haulingStartQuadrant,haulingEndDate,haulingEndTime,haulingEndQuadrant,floatlinesCompositionProportionSum,branchlinesCompositionProportionSum,hooksCompositionProportionSum,baitsCompositionProportionSum
homeId + {*:1} String
number + {*:1} Integer
basketsPerSectionCount + {*:1} Integer
@@ -347,7 +291,7 @@ longline.SizeMeasure > ObserveDataEntity | entity
size + {*:1} Float | sqlType=numeric
sizeMeasureType {*:1} referentiel.SizeMeasureType
-longline.Tdr > ObserveDataEntity >> longline.LonglinePositionAware | entity
+longline.Tdr > ObserveDataEntity >> longline.LonglinePositionAware | entity constants=deployementStartDate,deployementStartTime,deployementEndDate,deployementEndTime,fishingStartDate,fishingStartTime,fishingEndDate,fishingEndTime
homeId + {*:1} String
floatline1Length + {*:1} Float | sqlType=numeric
floatline2Length + {*:1} Float | sqlType=numeric
@@ -427,7 +371,7 @@ iso3Code + {*:1} String
referentiel.DataQuality > referentiel.I18nReferentialEntity | entity
-abstract referentiel.FormulaSupport > referentiel.ObserveReferentialEntity >> fr.ird.observe.dto.referential.WithLengthFormula | entity
+abstract referentiel.FormulaSupport > referentiel.ObserveReferentialEntity >> fr.ird.observe.dto.referential.WithFormula | entity constants=formulaOneValid,formulaTwoValid
ocean {*:0..1} referentiel.Ocean | notNull lazy=false
species {*:1} referentiel.Species | notNull lazy=false
sex {*:1} referentiel.Sex | notNull lazy=false
@@ -451,7 +395,7 @@ gearCaracteristicType {*:1} referentiel.GearCaracteristicType | lazy=false
referentiel.GearCaracteristicType > referentiel.I18nReferentialEntity | entity
-referentiel.Harbour > referentiel.ObserveReferentialEntity | entity
+referentiel.Harbour > referentiel.ObserveReferentialEntity | entity constants=quadrant
country {*:1} referentiel.Country
locode + {*:1} String
name + {*:1} String
@@ -508,7 +452,7 @@ captain + {*:1} boolean
dataEntryOperator + {*:1} boolean
country {*:0..1} referentiel.Country
-referentiel.Program > referentiel.I18nReferentialEntity | entity
+referentiel.Program > referentiel.I18nReferentialEntity | entity constants=gearTypePrefix
organism {*:1} referentiel.Organism | lazy=false
nonTargetObservation + {*:1} int
targetDiscardsObservation + {*:1} int
@@ -827,7 +771,7 @@ meanWeight + {*:1} Integer
setSeine {*:1} seine.SetSeine | naturalId dbName=set
species {*:1} referentiel.Species | naturalId
-seine.SetSeine > CommentableEntity >> ObserveSet | entity dbName=Set
+seine.SetSeine > CommentableEntity >> ObserveSet | entity dbName=Set constants=targetSampleCapture,endSetDate,endPursingDate,endSetTime,endPursingTime
startTime + {*:1} Date | hibernateAttributeType.java.util.Date=time
endPursingTimeStamp + {*:1} Date
endSetTimeStamp + {*:1} Date
@@ -879,7 +823,7 @@ reasonForDiscard {*:0..1} referentiel.seine.ReasonForDiscard | naturalId notNull
getSpecies() referentiel.Species
setSpecies(species referentiel.Species)
-seine.TargetLength > ObserveDataEntity >> LengthWeightComputable | entity
+seine.TargetLength > ObserveDataEntity >> LengthWeightComputable | entity constants=totalWeight
length + {*:1} Float | sqlType=numeric
isLengthComputed + {*:1} boolean
count + {*:1} Integer
=====================================
pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>io.ultreia.maven</groupId>
<artifactId>pom</artifactId>
- <version>2018.36</version>
+ <version>2018.40</version>
</parent>
<groupId>fr.ird.observe</groupId>
@@ -152,8 +152,7 @@
<maven.build.timestamp.format>dd/MM/yyyy HH:mm z</maven.build.timestamp.format>
<buildDate>${maven.build.timestamp}</buildDate>
- <observeToolkitVersion>3.7.1</observeToolkitVersion>
-
+ <observeToolkitVersion>3.7.2</observeToolkitVersion>
<!--<lib.version.java4all.jaxx>3.0-alpha-31</lib.version.java4all.jaxx>-->
<!--<lib.version.nuiton.topia>3.4.2-SNAPSHOT</lib.version.nuiton.topia>-->
<lib.version.nuiton.validation>3.1</lib.version.nuiton.validation>
@@ -162,7 +161,8 @@
<!--<lib.version.hibernate>5.2.10.Final</lib.version.hibernate>-->
<!--can't use 1.4.197 (date has changed + blob also-->
<lib.version.h2>1.4.196</lib.version.h2>
- <lib.version.java4all.eugene>3.0-alpha-21</lib.version.java4all.eugene>
+ <!--<lib.version.java4all.eugene>3.0-alpha-21</lib.version.java4all.eugene>-->
+ <lib.version.java4all.eugene>3.0-alpha-23</lib.version.java4all.eugene>
<!--<lib.version.java4all.topia>1.1.2-SNAPSHOT</lib.version.java4all.topia>-->
<!-- license header configuration -->
<license.licenseName>gpl_v3</license.licenseName>
=====================================
services/src/main/java/fr/ird/observe/services/gson/FloatingObjectModificationAdapter.java
=====================================
@@ -0,0 +1,65 @@
+package fr.ird.observe.services.gson;
+
+/*-
+ * #%L
+ * ObServe :: Services API
+ * %%
+ * Copyright (C) 2008 - 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 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 General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import com.google.gson.JsonDeserializationContext;
+import com.google.gson.JsonDeserializer;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParseException;
+import com.google.gson.JsonSerializationContext;
+import com.google.gson.JsonSerializer;
+import fr.ird.observe.services.service.actions.consolidate.dcp.FloatingObjectModification;
+
+import java.io.Serializable;
+import java.lang.reflect.Type;
+
+/**
+ * Created by tchemit on 11/07/2018.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ */
+public class FloatingObjectModificationAdapter implements JsonDeserializer<FloatingObjectModification>, JsonSerializer<FloatingObjectModification> {
+
+ @Override
+ public FloatingObjectModification deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
+ JsonObject reportVariableJson = json.getAsJsonObject();
+
+ String dcpId = context.deserialize(reportVariableJson.get("dcpId"), String.class);
+ String propertyName = context.deserialize(reportVariableJson.get("propertyName"), String.class);
+ Class<?> type = context.deserialize(reportVariableJson.get("type"), Class.class);
+ Serializable newValue1 = context.deserialize(reportVariableJson.get("newValue"), type);
+ return new FloatingObjectModification(dcpId, propertyName, newValue1);
+ }
+
+ @Override
+ public JsonElement serialize(FloatingObjectModification src, Type typeOfSrc, JsonSerializationContext context) {
+ JsonObject element2 = new JsonObject();
+ element2.add("dcpId", context.serialize(src.getDcpId()));
+ element2.add("propertyName", context.serialize(src.getPropertyName()));
+ Serializable newValue = src.getNewValue();
+ element2.add("type", context.serialize(newValue == null ? String.class : newValue.getClass()));
+ element2.add("newValue", context.serialize(newValue));
+ return null;
+ }
+}
=====================================
services/src/main/java/fr/ird/observe/services/gson/ObserveDtoGsonSupplier.java
=====================================
@@ -23,6 +23,7 @@ package fr.ird.observe.services.gson;
*/
import com.google.gson.GsonBuilder;
+import fr.ird.observe.services.service.actions.consolidate.dcp.FloatingObjectModification;
import fr.ird.observe.services.service.actions.report.ReportVariable;
import io.ultreia.java4all.http.HResponseError;
import io.ultreia.java4all.http.HResponseErrorAdapter;
@@ -49,6 +50,7 @@ public class ObserveDtoGsonSupplier extends ObserveDtoGsonSupplierSupport {
if (create) {
gsonBuilder.registerTypeAdapter(ReportVariable.class, new ReportVariableAdapter());
gsonBuilder.registerTypeAdapter(HResponseError.class, new HResponseErrorAdapter());
+ gsonBuilder.registerTypeAdapter(FloatingObjectModification.class, new FloatingObjectModificationAdapter());
}
return gsonBuilder;
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/68981f3313ff61a2d1df9f4aef6…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/68981f3313ff61a2d1df9f4aef6…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop-7.x] [PS] Raccourcis F5 non fonctionnel - Closes #1022
by Tony CHEMIT 10 Jul '18
by Tony CHEMIT 10 Jul '18
10 Jul '18
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe
Commits:
2e34b2db by Tony CHEMIT at 2018-07-10T13:47:26Z
[PS] Raccourcis F5 non fonctionnel - Closes #1022
- - - - -
1 changed file:
- client/src/main/java/fr/ird/observe/client/ui/content/ContentUIInitializer.java
Changes:
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/ContentUIInitializer.java
=====================================
@@ -696,6 +696,8 @@ public class ContentUIInitializer<E extends IdDto, UI extends ContentUI<E, UI>>
protected void init(JXDatePicker picker) {
log.debug("init JXDatePicker editor" + picker.getName());
+ picker.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_F5, 0), "none");
+
picker.setLocale(ObserveSwingApplicationContext.get().getConfig().getLocale());
JFormattedTextField editor = picker.getEditor();
editor.setEditable(true);
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/2e34b2db2dc6e0aa534e0be7460…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/2e34b2db2dc6e0aa534e0be7460…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop-7.x] [LL] Ajout de 2 racourcis - closes #1027
by Tony CHEMIT 10 Jul '18
by Tony CHEMIT 10 Jul '18
10 Jul '18
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe
Commits:
fd9b4b6d by Tony CHEMIT at 2018-07-10T13:25:41Z
[LL] Ajout de 2 racourcis - closes #1027
- - - - -
9 changed files:
- + client/src/main/java/fr/ird/observe/client/ui/actions/content/LonglineDetailCompositionDeleteAllSectionsAction.java
- + client/src/main/java/fr/ird/observe/client/ui/actions/content/LonglineDetailCompositionGenerateAllSectionsAction.java
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/BasketsTableModel.java
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/BranchlinesTableModel.java
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/LonglineDetailCompositionUI.jaxx
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/LonglineDetailCompositionUI.jcss
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/LonglineDetailCompositionUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/LonglineDetailCompositionUIValidationHelper.java
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/SectionsTableModel.java
Changes:
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/LonglineDetailCompositionDeleteAllSectionsAction.java
=====================================
@@ -0,0 +1,104 @@
+package fr.ird.observe.client.ui.actions.content;
+
+import fr.ird.observe.client.ObserveSwingApplicationContext;
+import fr.ird.observe.client.ui.ObserveKeyStrokes;
+import fr.ird.observe.client.ui.ObserveMainUI;
+import fr.ird.observe.client.ui.content.ContentUI;
+import fr.ird.observe.client.ui.content.data.longline.LonglineDetailCompositionUI;
+import fr.ird.observe.client.ui.content.data.longline.LonglineDetailCompositionUIValidationHelper;
+import fr.ird.observe.client.ui.content.data.longline.SectionsTableModel;
+import fr.ird.observe.client.ui.util.UIHelper;
+import fr.ird.observe.dto.data.longline.SectionWithTemplate;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import javax.swing.JOptionPane;
+import java.util.ArrayList;
+
+import static org.nuiton.i18n.I18n.t;
+
+/**
+ * Created by tchemit on 10/07/2018.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ */
+public class LonglineDetailCompositionDeleteAllSectionsAction extends AbstractContentUIAction {
+
+ public static final String ACTION_NAME = LonglineDetailCompositionDeleteAllSectionsAction.class.getName();
+ private static final Log log = LogFactory.getLog(LonglineDetailCompositionDeleteAllSectionsAction.class);
+
+ public LonglineDetailCompositionDeleteAllSectionsAction(ObserveMainUI mainUI) {
+ super(mainUI, NAME, t("observe.common.LonglineDetailCompositionDto.action.deleteAllSections"), t("observe.common.LonglineDetailCompositionDto.action.deleteAllSections.tip"), "delete", ObserveKeyStrokes.KEY_STROKE_DELETE_DATA_GLOBAL);
+ }
+
+ @Override
+ protected void actionPerformed(ContentUI<?, ?> contentUI) {
+
+ LonglineDetailCompositionUI ui = (LonglineDetailCompositionUI) contentUI;
+
+ LonglineDetailCompositionUIValidationHelper validationHelper = ui.getHandler().getValidationHelper();
+
+ if (log.isInfoEnabled()) {
+ log.info("Generate all sections.");
+ }
+
+ SectionsTableModel sectionsTableModel = ui.getSectionsTableModel();
+ if (sectionsTableModel.isEmpty()) {
+
+ // no section
+ return;
+ }
+
+ boolean canDelete = true;
+ for (SectionWithTemplate sectionWithTemplate : sectionsTableModel.getNotEmptyData()) {
+
+ if (!ui.getHandler().canDeleteSection(sectionWithTemplate.getDelegate())) {
+ canDelete = false;
+ break;
+ }
+ }
+
+ if (!canDelete) {
+
+ // there is some references, can't delete
+ UIHelper.displayWarning(t("observe.common.LonglineDetailCompositionDto.section.cant.delete.title"), t("observe.common.LonglineDetailCompositionDto.section.cant.delete.message"));
+ return;
+
+ }
+
+ ObserveMainUI mainUI = ObserveSwingApplicationContext.get().getMainUI();
+ int response = UIHelper.askUser(mainUI,
+ t("observe.title.delete"),
+ t("observe.common.LonglineDetailCompositionDto.section.delete.message"),
+ JOptionPane.WARNING_MESSAGE,
+ new Object[]{t("observe.choice.confirm.delete"),
+ t("observe.choice.cancel")},
+ 1);
+
+ if (response != 0) {
+
+ // user cancel
+ return;
+ }
+
+ if (log.isInfoEnabled()) {
+ log.info("Remove all sections.");
+ }
+
+ validationHelper.setObjectValueAdjusting(true);
+
+ try {
+
+ sectionsTableModel.setData(new ArrayList<>());
+ ui.getBean().getSection().clear();
+ ui.getModel().setModified(true);
+
+ } finally {
+
+ validationHelper.setObjectValueAdjusting(false);
+ validationHelper.whenSectionChanged();
+
+ }
+ }
+
+}
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/LonglineDetailCompositionGenerateAllSectionsAction.java
=====================================
@@ -0,0 +1,155 @@
+package fr.ird.observe.client.ui.actions.content;
+
+import com.google.common.collect.Lists;
+import fr.ird.observe.client.ui.ObserveKeyStrokes;
+import fr.ird.observe.client.ui.ObserveMainUI;
+import fr.ird.observe.client.ui.content.ContentUI;
+import fr.ird.observe.client.ui.content.data.longline.BasketsTableModel;
+import fr.ird.observe.client.ui.content.data.longline.BranchlinesTableModel;
+import fr.ird.observe.client.ui.content.data.longline.LonglineDetailCompositionUI;
+import fr.ird.observe.client.ui.content.data.longline.LonglineDetailCompositionUIValidationHelper;
+import fr.ird.observe.client.ui.content.data.longline.SectionTemplatesTableModel;
+import fr.ird.observe.client.ui.content.data.longline.SectionsTableModel;
+import fr.ird.observe.client.ui.util.UIHelper;
+import fr.ird.observe.dto.data.longline.BasketDto;
+import fr.ird.observe.dto.data.longline.BranchlineDto;
+import fr.ird.observe.dto.data.longline.SectionDto;
+import fr.ird.observe.dto.data.longline.SectionTemplate;
+import fr.ird.observe.dto.data.longline.SectionWithTemplate;
+import fr.ird.observe.dto.data.longline.SetLonglineDetailCompositionDto;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import static org.nuiton.i18n.I18n.t;
+
+/**
+ * Created by tchemit on 10/07/2018.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ */
+public class LonglineDetailCompositionGenerateAllSectionsAction extends AbstractContentUIAction {
+
+ public static final String ACTION_NAME = LonglineDetailCompositionGenerateAllSectionsAction.class.getName();
+ private static final Log log = LogFactory.getLog(LonglineDetailCompositionGenerateAllSectionsAction.class);
+ public LonglineDetailCompositionGenerateAllSectionsAction(ObserveMainUI mainUI) {
+
+ super(mainUI, ACTION_NAME, t("observe.common.LonglineDetailCompositionDto.action.generateAllSections"), t("observe.common.LonglineDetailCompositionDto.action.generateAllSections.tip"), "generate", ObserveKeyStrokes.KEY_STROKE_NEW_NEXT_DATA);
+ }
+
+ @Override
+ protected void actionPerformed(ContentUI<?, ?> contentUI) {
+
+ LonglineDetailCompositionUI ui = (LonglineDetailCompositionUI) contentUI;
+
+ LonglineDetailCompositionUIValidationHelper validationHelper = ui.getHandler().getValidationHelper();
+
+ if (log.isInfoEnabled()) {
+ log.info("Generate all sections.");
+ }
+
+ SetLonglineDetailCompositionDto bean = ui.getBean();
+ Integer nbSections = bean.getTotalSectionsCount();
+ Integer basketsCount = bean.getBasketsPerSectionCount();
+ Integer nbBranchlines = bean.getBranchlinesPerBasketCount();
+
+ SectionTemplate template = null;
+
+ SectionTemplatesTableModel sectionTemplatesTableModel = ui.getSectionTemplatesTableModel();
+ List<SectionTemplate> sectionTemplates = sectionTemplatesTableModel.getNotEmptyData();
+ if (sectionTemplates.size() == 1) {
+
+ template = sectionTemplates.get(0);
+
+ boolean compliantWithBasketCount = template.isCompiliantWithBasketCount(basketsCount);
+ if (!compliantWithBasketCount) {
+
+ if (log.isWarnEnabled()) {
+ log.warn("sectionTemplate " + template + " is not compliant with basketCount: " + basketsCount);
+ }
+
+ UIHelper.displayWarning(t("observe.common.LonglineDetailCompositionDto.title.section.cant.use.firstTemplate"), t("observe.common.LonglineDetailCompositionDto.firstTemplate.template.notCompilant.basketCount", template.getFloatlineLengths(), basketsCount));
+
+ template = null;
+
+ }
+
+ }
+
+ boolean usingTemplate = template != null;
+
+ if (usingTemplate) {
+
+ if (log.isInfoEnabled()) {
+ log.info("Will use sectionTemplate: " + template);
+ }
+ }
+
+ validationHelper.setObjectValueAdjusting(true);
+
+ try {
+
+ SectionsTableModel sectionsTableModel = ui.getSectionsTableModel();
+ BasketsTableModel basketsTableModel = ui.getBasketsTableModel();
+ BranchlinesTableModel branchlinesTableModel = ui.getBranchlinesTableModel();
+
+ List<SectionWithTemplate> sections = new ArrayList<>(nbSections);
+
+ for (int sectionNumber = 0; sectionNumber < nbSections; sectionNumber++) {
+
+ SectionWithTemplate section = sectionsTableModel.createNewRow();
+ sections.add(section);
+
+ for (int basketNumber = 0; basketNumber < basketsCount; basketNumber++) {
+
+ BasketDto basket = basketsTableModel.createNewRow();
+ section.addBasket(basket);
+
+ for (int branchlineNumber = 0; branchlineNumber < nbBranchlines; branchlineNumber++) {
+
+ BranchlineDto branchline = branchlinesTableModel.createNewRow();
+ basket.addBranchline(branchline);
+
+ }
+
+ LinkedList<BranchlineDto> branchlines = Lists.newLinkedList(basket.getBranchline());
+ branchlinesTableModel.rearrangeIds(branchlines);
+
+ }
+
+ List<BasketDto> baskets = Lists.newLinkedList(section.getBasket());
+ basketsTableModel.rearrangeIds(baskets);
+
+ if (usingTemplate) {
+
+ section.setSectionTemplate(template);
+ template.applyToBaskets(baskets);
+
+ }
+
+ }
+
+ sectionsTableModel.rearrangeIds(sections);
+ sectionsTableModel.setData(sections);
+
+ List<SectionDto> sectionHelper = sections.stream()
+ .map(SectionWithTemplate::getDelegate)
+ .collect(Collectors.toList());
+
+ ui.getBean().addAllSection(sectionHelper);
+
+ ui.getModel().setModified(true);
+
+ } finally {
+
+ validationHelper.setObjectValueAdjusting(false);
+ validationHelper.whenSectionChanged();
+
+ }
+ }
+
+}
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/BasketsTableModel.java
=====================================
@@ -40,7 +40,7 @@ public class BasketsTableModel extends LonglineCompositionTableModelSupport<Bask
}
@Override
- protected BasketDto createNewRow() {
+ public BasketDto createNewRow() {
return new BasketDto();
}
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/BranchlinesTableModel.java
=====================================
@@ -49,7 +49,7 @@ public class BranchlinesTableModel extends LonglineCompositionTableModelSupport<
}
@Override
- protected BranchlineDto createNewRow() {
+ public BranchlineDto createNewRow() {
BranchlineDto branchline = new BranchlineDto();
branchline.setTimerTimeOnBoard(defaultDate);
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/LonglineDetailCompositionUI.jaxx
=====================================
@@ -26,6 +26,8 @@
<import>
fr.ird.observe.client.ObserveSwingApplicationContext
fr.ird.observe.dto.data.longline.SetLonglineDetailCompositionDto
+ fr.ird.observe.client.ui.actions.content.LonglineDetailCompositionDeleteAllSectionsAction
+ fr.ird.observe.client.ui.actions.content.LonglineDetailCompositionGenerateAllSectionsAction
fr.ird.observe.client.ui.actions.content.ResetEditUIAction
fr.ird.observe.client.ui.actions.content.SaveEditUIAction
fr.ird.observe.client.ui.actions.main.global.ResetDataGlobalUIAction
@@ -146,8 +148,8 @@
<JPanel layout='{new BorderLayout()}'>
<JPanel id="compositionActionPanel" constraints='BorderLayout.NORTH' layout='{new GridLayout()}'>
- <JButton id='generateAll' onActionPerformed='getHandler().generateAllSections()'/>
- <JButton id='deleteAll' onActionPerformed='getHandler().deleteAllSections()'/>
+ <JButton id='generateAll' />
+ <JButton id='deleteAll' />
</JPanel>
<JPanel id="compositionTablesPanel" constraints='BorderLayout.CENTER' layout='{new GridLayout(0,1)}'>
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/LonglineDetailCompositionUI.jcss
=====================================
@@ -81,17 +81,13 @@
}
#generateAll {
- text: "observe.common.LonglineDetailCompositionDto.action.generateAllSections";
- toolTipText: "observe.common.LonglineDetailCompositionDto.action.generateAllSections.tip";
- actionIcon: generate;
+ _observeAction:{LonglineDetailCompositionGenerateAllSectionsAction.ACTION_NAME};
visible: {model.isUpdatingMode()};
enabled: {model.isCanGenerate() && sectionsTableModel.isEmpty()};
}
#deleteAll {
- text: "observe.common.LonglineDetailCompositionDto.action.deleteAllSections";
- toolTipText: "observe.common.LonglineDetailCompositionDto.action.deleteAllSections.tip";
- actionIcon: delete;
+ _observeAction:{LonglineDetailCompositionDeleteAllSectionsAction.ACTION_NAME};
visible: {model.isUpdatingMode()};
enabled: {!sectionsTableModel.isEmpty()};
}
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/LonglineDetailCompositionUIHandler.java
=====================================
@@ -22,7 +22,6 @@ package fr.ird.observe.client.ui.content.data.longline;
* #L%
*/
-import com.google.common.collect.Lists;
import fr.ird.observe.client.ObserveSwingApplicationContext;
import fr.ird.observe.client.db.ClientDataContext;
import fr.ird.observe.client.db.ObserveSwingDataSource;
@@ -64,10 +63,8 @@ import javax.swing.event.TableModelListener;
import java.beans.PropertyChangeListener;
import java.util.ArrayList;
import java.util.LinkedHashSet;
-import java.util.LinkedList;
import java.util.List;
import java.util.Optional;
-import java.util.stream.Collectors;
import static com.google.common.collect.Lists.newArrayList;
import static org.nuiton.i18n.I18n.t;
@@ -490,174 +487,6 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong
return continueSave;
}
- public void generateAllSections() {
-
- if (log.isInfoEnabled()) {
- log.info("Generate all sections.");
- }
-
- SetLonglineDetailCompositionDto bean = getBean();
- Integer nbSections = bean.getTotalSectionsCount();
- Integer basketsCount = bean.getBasketsPerSectionCount();
- Integer nbBranchlines = bean.getBranchlinesPerBasketCount();
-
- SectionTemplate template = null;
-
- SectionTemplatesTableModel sectionTemplatesTableModel = getSectionTemplatesTableModel();
- List<SectionTemplate> sectionTemplates = sectionTemplatesTableModel.getNotEmptyData();
- if (sectionTemplates.size() == 1) {
-
- template = sectionTemplates.get(0);
-
- boolean compliantWithBasketCount = template.isCompiliantWithBasketCount(basketsCount);
- if (!compliantWithBasketCount) {
-
- if (log.isWarnEnabled()) {
- log.warn("sectionTemplate " + template + " is not compliant with basketCount: " + basketsCount);
- }
-
- UIHelper.displayWarning(t("observe.common.LonglineDetailCompositionDto.title.section.cant.use.firstTemplate"), t("observe.common.LonglineDetailCompositionDto.firstTemplate.template.notCompilant.basketCount", template.getFloatlineLengths(), basketsCount));
-
- template = null;
-
- }
-
- }
-
- boolean usingTemplate = template != null;
-
- if (usingTemplate) {
-
- if (log.isInfoEnabled()) {
- log.info("Will use sectionTemplate: " + template);
- }
- }
-
- validationHelper.setObjectValueAdjusting(true);
-
- try {
-
- SectionsTableModel sectionsTableModel = getSectionsTableModel();
- BasketsTableModel basketsTableModel = getBasketsTableModel();
- BranchlinesTableModel branchlinesTableModel = getBranchlinesTableModel();
-
- List<SectionWithTemplate> sections = new ArrayList<>(nbSections);
-
- for (int sectionNumber = 0; sectionNumber < nbSections; sectionNumber++) {
-
- SectionWithTemplate section = sectionsTableModel.createNewRow();
- sections.add(section);
-
- for (int basketNumber = 0; basketNumber < basketsCount; basketNumber++) {
-
- BasketDto basket = basketsTableModel.createNewRow();
- section.addBasket(basket);
-
- for (int branchlineNumber = 0; branchlineNumber < nbBranchlines; branchlineNumber++) {
-
- BranchlineDto branchline = branchlinesTableModel.createNewRow();
- basket.addBranchline(branchline);
-
- }
-
- LinkedList<BranchlineDto> branchlines = Lists.newLinkedList(basket.getBranchline());
- branchlinesTableModel.rearrangeIds(branchlines);
-
- }
-
- List<BasketDto> baskets = Lists.newLinkedList(section.getBasket());
- basketsTableModel.rearrangeIds(baskets);
-
- if (usingTemplate) {
-
- section.setSectionTemplate(template);
- template.applyToBaskets(baskets);
-
- }
-
- }
-
- sectionsTableModel.rearrangeIds(sections);
- sectionsTableModel.setData(sections);
-
- List<SectionDto> sectionHelper = sections.stream()
- .map(SectionWithTemplate::getDelegate)
- .collect(Collectors.toList());
-
- getBean().addAllSection(sectionHelper);
-
- getModel().setModified(true);
-
- } finally {
-
- validationHelper.setObjectValueAdjusting(false);
- validationHelper.whenSectionChanged();
-
- }
-
- }
-
- public void deleteAllSections() {
-
- if (getSectionsTableModel().isEmpty()) {
-
- // no section
- return;
- }
-
- boolean canDelete = true;
- for (SectionWithTemplate sectionWithTemplate : getSectionsTableModel().getNotEmptyData()) {
-
- if (!canDeleteSection(sectionWithTemplate.getDelegate())) {
- canDelete = false;
- break;
- }
- }
-
- if (!canDelete) {
-
- // there is some references, can't delete
- UIHelper.displayWarning(t("observe.common.LonglineDetailCompositionDto.section.cant.delete.title"), t("observe.common.LonglineDetailCompositionDto.section.cant.delete.message"));
- return;
-
- }
-
- ObserveMainUI mainUI = ObserveSwingApplicationContext.get().getMainUI();
- int response = UIHelper.askUser(mainUI,
- t("observe.title.delete"),
- t("observe.common.LonglineDetailCompositionDto.section.delete.message"),
- JOptionPane.WARNING_MESSAGE,
- new Object[]{t("observe.choice.confirm.delete"),
- t("observe.choice.cancel")},
- 1);
-
- if (response != 0) {
-
- // user cancel
- return;
- }
-
- if (log.isInfoEnabled()) {
- log.info("Remove all sections.");
- }
-
- validationHelper.setObjectValueAdjusting(true);
-
- try {
-
- getSectionsTableModel().setData(new ArrayList<>());
- getBean().getSection().clear();
- getModel().setModified(true);
-
- } finally {
-
- validationHelper.setObjectValueAdjusting(false);
- validationHelper.whenSectionChanged();
-
- }
-
- }
-
public void insertBeforeSelectedSectionTemplate() {
getSectionTemplatesTableModel().insertBeforeSelectedRow();
}
@@ -1367,7 +1196,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong
return getUi().getBranchlineDetailUIModel();
}
- private boolean canDeleteSection(SectionDto section) {
+ public boolean canDeleteSection(SectionDto section) {
return section.isNotPersisted() || getSetLonglineDetailCompositionService().canDeleteSection(section.getId());
@@ -1385,4 +1214,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong
}
+ public LonglineDetailCompositionUIValidationHelper getValidationHelper() {
+ return validationHelper;
+ }
}
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/LonglineDetailCompositionUIValidationHelper.java
=====================================
@@ -47,7 +47,7 @@ import java.util.Set;
* @author Tony Chemit - dev(a)tchemit.fr
* @since 3.15
*/
-class LonglineDetailCompositionUIValidationHelper {
+public class LonglineDetailCompositionUIValidationHelper {
/** Logger. */
private static final Log log = LogFactory.getLog(LonglineDetailCompositionUIValidationHelper.class);
@@ -89,7 +89,7 @@ class LonglineDetailCompositionUIValidationHelper {
);
}
- void whenSectionChanged() {
+ public void whenSectionChanged() {
if (!objectValueAdjusting) {
@@ -157,7 +157,7 @@ class LonglineDetailCompositionUIValidationHelper {
});
}
- void setObjectValueAdjusting(boolean objectValueAdjusting) {
+ public void setObjectValueAdjusting(boolean objectValueAdjusting) {
this.objectValueAdjusting = objectValueAdjusting;
}
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/SectionsTableModel.java
=====================================
@@ -47,7 +47,7 @@ public class SectionsTableModel extends LonglineCompositionTableModelSupport<Sec
}
@Override
- protected SectionWithTemplate createNewRow() {
+ public SectionWithTemplate createNewRow() {
return new SectionWithTemplate();
}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/fd9b4b6d5dcf54a367aacdf87ae…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/fd9b4b6d5dcf54a367aacdf87ae…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop-7.x] [LL] Plus de validation sur snap et émerillon - Closes #1028
by Tony CHEMIT 10 Jul '18
by Tony CHEMIT 10 Jul '18
10 Jul '18
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe
Commits:
91f26bf0 by Tony CHEMIT at 2018-07-10T12:50:15Z
[LL] Plus de validation sur snap et émerillon - Closes #1028
- - - - -
14 changed files:
- client/src/main/resources/i18n/client_en_GB.properties
- client/src/main/resources/i18n/client_es_ES.properties
- client/src/main/resources/i18n/client_fr_FR.properties
- dto/src/main/java/fr/ird/observe/dto/decoration/ObserveI18nLabelsBuilder.java
- dto/src/main/resources/i18n/dto_en_GB.properties
- dto/src/main/resources/i18n/dto_es_ES.properties
- dto/src/main/resources/i18n/dto_fr_FR.properties
- validation/src/main/resources/fr/ird/observe/dto/data/longline/BranchlineDto-update-error-validation.xml
- validation/src/main/resources/fr/ird/observe/dto/data/longline/BranchlineDto-update-table-error-validation.xml
- validation/src/main/resources/fr/ird/observe/dto/data/longline/SetLonglineDto-create-error-validation.xml
- validation/src/main/resources/fr/ird/observe/dto/data/longline/SetLonglineDto-update-error-validation.xml
- validation/src/main/resources/i18n/validation_en_GB.properties
- validation/src/main/resources/i18n/validation_es_ES.properties
- validation/src/main/resources/i18n/validation_fr_FR.properties
Changes:
=====================================
client/src/main/resources/i18n/client_en_GB.properties
=====================================
@@ -410,8 +410,6 @@ observe.common.BranchlineDto.hookLost=Hook lost
observe.common.BranchlineDto.hookOffset=Hook offset
observe.common.BranchlineDto.message.modified=Branchline was modified and is valid.
observe.common.BranchlineDto.message.modified.but.invalid=Branchline was modified but is not valid.
-observe.common.BranchlineDto.snapWeight=Snap weight (kg)
-observe.common.BranchlineDto.swivelWeight=Swivel weight (kg)
observe.common.BranchlineDto.timeSinceContact=Time since contact
observe.common.BranchlineDto.timer=Timer
observe.common.BranchlineDto.timerTimeOnBoard=Time on board
=====================================
client/src/main/resources/i18n/client_es_ES.properties
=====================================
@@ -410,8 +410,6 @@ observe.common.BranchlineDto.hookLost=Anzuelo erdido
observe.common.BranchlineDto.hookOffset=Offset anzuelo (°)
observe.common.BranchlineDto.message.modified=El arponcillo que se está modificando actualmente ha sido modificado y es valido.
observe.common.BranchlineDto.message.modified.but.invalid=El arponcillo que se está modificando actualmente ha sido modificado, pero no es valido.
-observe.common.BranchlineDto.snapWeight=Peso snap (kg)
-observe.common.BranchlineDto.swivelWeight=Peso destorcedor (kg)
observe.common.BranchlineDto.timeSinceContact=Tiempo desde el estallido
observe.common.BranchlineDto.timer=Reloj
observe.common.BranchlineDto.timerTimeOnBoard=Timestamp de subida a bordo
=====================================
client/src/main/resources/i18n/client_fr_FR.properties
=====================================
@@ -410,8 +410,6 @@ observe.common.BranchlineDto.hookLost=Hameçon perdu
observe.common.BranchlineDto.hookOffset=Offset hameçon (°)
observe.common.BranchlineDto.message.modified=L'avançon en cours d'édition a été modifié et est valide.
observe.common.BranchlineDto.message.modified.but.invalid=L'avançon en cours d'édition a été modifié, mais n'est pas valide.
-observe.common.BranchlineDto.snapWeight=Poids snap (kg)
-observe.common.BranchlineDto.swivelWeight=Poids émerillon (kg)
observe.common.BranchlineDto.timeSinceContact=Temps depuis déclenchement
observe.common.BranchlineDto.timer=Horloge
observe.common.BranchlineDto.timerTimeOnBoard=Horodatage de montée à bord
=====================================
dto/src/main/java/fr/ird/observe/dto/decoration/ObserveI18nLabelsBuilder.java
=====================================
@@ -47,6 +47,7 @@ public class ObserveI18nLabelsBuilder extends I18nLabelsBuilder {
static {
n("observe.common.I18nReferentialDto.label");
n("observe.common.SetLonglineGlobalCompositionDto.type");
+ n("observe.common.SetLonglineDetailCompositionDto.type");
}
private static final ObserveI18nLabelsBuilder INSTANCE = new ObserveI18nLabelsBuilder(null);
=====================================
dto/src/main/resources/i18n/dto_en_GB.properties
=====================================
@@ -159,6 +159,7 @@ observe.common.SensorTypeDto.types=Sensors type
observe.common.SensorUsedDto.title=Sensors ursed
observe.common.SensorUsedDto.type=Sensor used
observe.common.SensorUsedDto.types=Sensors used
+observe.common.SetLonglineDetailCompositionDto.type=Detailed composition
observe.common.SetLonglineDto.title=Fishing operation
observe.common.SetLonglineDto.type=Set
observe.common.SetLonglineDto.types=Sets
=====================================
dto/src/main/resources/i18n/dto_es_ES.properties
=====================================
@@ -157,6 +157,7 @@ observe.common.SensorTypeDto.types=Tipos de sensor
observe.common.SensorUsedDto.title=Sensores
observe.common.SensorUsedDto.type=Sensor utilizado
observe.common.SensorUsedDto.types=Sensores utilizados
+observe.common.SetLonglineDetailCompositionDto.type=Esquema del palangre
observe.common.SetLonglineDto.title=Operación de pesca
observe.common.SetLonglineDto.type=Operación de pesca
observe.common.SetLonglineDto.types=Operaciones de pesca
=====================================
dto/src/main/resources/i18n/dto_fr_FR.properties
=====================================
@@ -159,6 +159,7 @@ observe.common.SensorTypeDto.types=Types de capteur
observe.common.SensorUsedDto.title=Capteurs
observe.common.SensorUsedDto.type=Capteur utilisé
observe.common.SensorUsedDto.types=Capteurs utilisés
+observe.common.SetLonglineDetailCompositionDto.type=Schéma de palangre
observe.common.SetLonglineDto.title=Opération de pêche
observe.common.SetLonglineDto.type=Opération de pêche
observe.common.SetLonglineDto.types=Opérations de pêche
=====================================
validation/src/main/resources/fr/ird/observe/dto/data/longline/BranchlineDto-update-error-validation.xml
=====================================
@@ -108,4 +108,30 @@
</field>
+ <field name="swivelWeight">
+
+ <!-- 0.0 <= swivelWeight <= 0.2 -->
+ <field-validator type="fieldexpressionwithparams" short-circuit="true">
+ <param name="doubleParams">min:0.0|max:0.2</param>
+ <param name="expression"><![CDATA[ !weightedSwivel || swivelWeight == null || (doubles.min < swivelWeight && (swivelWeight - doubles.max) * 1000 < 1)]]></param>
+ <message>
+ observe.validation.setLongline.bound.swivelWeight##${doubles.min}##${doubles.max}
+ </message>
+ </field-validator>
+
+ </field>
+
+ <field name="snapWeight">
+
+ <!-- 0.0 <= snapWeight <= 0.2 -->
+ <field-validator type="fieldexpressionwithparams" short-circuit="true">
+ <param name="doubleParams">min:0.0|max:0.2</param>
+ <param name="expression"><![CDATA[ !weightedSnap || snapWeight == null || (doubles.min < snapWeight && (snapWeight - doubles.max) * 1000 < 1)]]></param>
+ <message>
+ observe.validation.setLongline.bound.snapWeight##${doubles.min}##${doubles.max}
+ </message>
+ </field-validator>
+
+ </field>
+
</validators>
=====================================
validation/src/main/resources/fr/ird/observe/dto/data/longline/BranchlineDto-update-table-error-validation.xml
=====================================
@@ -39,7 +39,7 @@
<field-validator type="fieldexpressionwithparams" short-circuit="true">
<param name="doubleParams">min:0.0|max:50.0</param>
<param name="expression">
- <![CDATA[ branchlineLength == null || (doubles.min <= branchlineLength && branchlineLength <= doubles.max)]]>
+ <![CDATA[ branchlineLength == null || (doubles.min < branchlineLength && (branchlineLength - doubles.max) * 1000 < 1)]]>
</param>
<message>
observe.validation.branchline.bound.branchlineLength##${doubles.min}##${doubles.max}
@@ -54,7 +54,7 @@
<field-validator type="fieldexpressionwithparams" short-circuit="true">
<param name="doubleParams">min:0.0|max:50.0</param>
<param name="expression">
- <![CDATA[ tracelineLength == null || (doubles.min <= tracelineLength && tracelineLength <= doubles.max)]]>
+ <![CDATA[ tracelineLength == null || (doubles.min <= tracelineLength && (tracelineLength - doubles.max) * 1000 < 1)]]>
</param>
<message>
observe.validation.branchline.bound.tracelineLength##${doubles.min}##${doubles.max}
=====================================
validation/src/main/resources/fr/ird/observe/dto/data/longline/SetLonglineDto-create-error-validation.xml
=====================================
@@ -113,11 +113,8 @@
<!-- 0.0 <= swivelWeight <= 0.2 -->
<field-validator type="fieldexpressionwithparams" short-circuit="true">
- <param name="doubleParams">min:0.0|max:0.2001</param>
- <param name="expression"><![CDATA[
- swivelWeight == null || (doubles.min < swivelWeight && swivelWeight <= doubles.max)
- ]]>
- </param>
+ <param name="doubleParams">min:0.0|max:0.2</param>
+ <param name="expression"><![CDATA[ !weightedSwivel || swivelWeight == null || (doubles.min < swivelWeight && (swivelWeight - doubles.max) * 1000 < 1)]]></param>
<message>
observe.validation.setLongline.bound.swivelWeight##${doubles.min}##${doubles.max}
</message>
@@ -129,11 +126,8 @@
<!-- 0.0 <= snapWeight <= 0.2 -->
<field-validator type="fieldexpressionwithparams" short-circuit="true">
- <param name="doubleParams">min:0.0|max:0.2001</param>
- <param name="expression"><![CDATA[
- snapWeight == null || (doubles.min < snapWeight && snapWeight <= doubles.max)
- ]]>
- </param>
+ <param name="doubleParams">min:0.0|max:0.2</param>
+ <param name="expression"><![CDATA[ !weightedSnap || snapWeight == null || (doubles.min < snapWeight && (snapWeight - doubles.max) * 1000 < 1)]]></param>
<message>
observe.validation.setLongline.bound.snapWeight##${doubles.min}##${doubles.max}
</message>
=====================================
validation/src/main/resources/fr/ird/observe/dto/data/longline/SetLonglineDto-update-error-validation.xml
=====================================
@@ -147,11 +147,8 @@
<!-- 0.0 <= swivelWeight <= 0.2 -->
<field-validator type="fieldexpressionwithparams" short-circuit="true">
- <param name="doubleParams">min:0.0|max:0.20001</param>
- <param name="expression"><![CDATA[
- swivelWeight == null || (doubles.min < swivelWeight && swivelWeight <= doubles.max)
- ]]>
- </param>
+ <param name="doubleParams">min:0.0|max:0.2</param>
+ <param name="expression"><![CDATA[ !weightedSwivel || swivelWeight == null || (doubles.min < swivelWeight && (swivelWeight - doubles.max) * 1000 < 1)]]></param>
<message>
observe.validation.setLongline.bound.swivelWeight##${doubles.min}##${doubles.max}
</message>
@@ -163,11 +160,8 @@
<!-- 0.0 <= snapWeight <= 0.2 -->
<field-validator type="fieldexpressionwithparams" short-circuit="true">
- <param name="doubleParams">min:0.0|max:0.200001</param>
- <param name="expression"><![CDATA[
- snapWeight == null || (doubles.min < snapWeight && snapWeight <= doubles.max)
- ]]>
- </param>
+ <param name="doubleParams">min:0.0|max:0.2</param>
+ <param name="expression"><![CDATA[ !weightedSnap || snapWeight == null || (doubles.min < snapWeight && (snapWeight - doubles.max) * 1000 < 1)]]></param>
<message>
observe.validation.setLongline.bound.snapWeight##${doubles.min}##${doubles.max}
</message>
=====================================
validation/src/main/resources/i18n/validation_en_GB.properties
=====================================
@@ -44,6 +44,8 @@ observe.common.BranchlineDto.branchlineLength=Branchline length
observe.common.BranchlineDto.hookSize=Hook size
observe.common.BranchlineDto.hookType=Hook type
observe.common.BranchlineDto.settingIdentifier=Setting
+observe.common.BranchlineDto.snapWeight=Snap weight (kg)
+observe.common.BranchlineDto.swivelWeight=Swivel weight (kg)
observe.common.BranchlineDto.topType=Top part type
observe.common.BranchlineDto.tracelineLength=Traceline length
observe.common.BranchlineDto.tracelineType=Traceline type
=====================================
validation/src/main/resources/i18n/validation_es_ES.properties
=====================================
@@ -44,6 +44,8 @@ observe.common.BranchlineDto.branchlineLength=Arponcillo (m)
observe.common.BranchlineDto.hookSize=Tamaño del anzuelo
observe.common.BranchlineDto.hookType=Tipo de anzuelo
observe.common.BranchlineDto.settingIdentifier=Calada
+observe.common.BranchlineDto.snapWeight=Peso snap (kg)
+observe.common.BranchlineDto.swivelWeight=Peso de el destorcedor (kg)
observe.common.BranchlineDto.topType=Tipo parte superior
observe.common.BranchlineDto.tracelineLength=Parte baja (m)
observe.common.BranchlineDto.tracelineType=Tipo bajo de línea
@@ -457,7 +459,7 @@ observe.validation.lengthFormula.endDate.before.startDate=End date must be after
observe.validation.lengthLengthParameter.disabled.inputSizeMeasureType=Le type de mensuration d'entrée sélectionné est désactivé. \#TODO
observe.validation.lengthLengthParameter.invalid.inputOutputFormula=La formule n'est pas valide. \#TODO
observe.validation.lengthLengthParameter.invalid.outputInputFormula=La formule n'est pas valide. \#TODO
-observe.validation.lengthLengthParameter.invalid.uniqueKey=Tupla (especiesexo/océano/input size measure/ output size measure/startDate) debe ser única, la tupla ya se ha usado. #TODO
+observe.validation.lengthLengthParameter.invalid.uniqueKey=Tupla (especiesexo/océano/input size measure/ output size measure/startDate) debe ser única, la tupla ya se ha usado. \#TODO
observe.validation.lengthLengthParameter.null.inputSizeMeasureType=Le type de mensuration d'entrée n'est pas renseigné. \#TODO
observe.validation.lengthLengthParameter.null.ocean=No se ha seleccionado oceano.
observe.validation.lengthLengthParameter.null.outputSizeMeasureType=Le type de mensuration de sortie n'est pas renseigné. \#TODO
@@ -470,7 +472,7 @@ observe.validation.lengthLengthParameter.required.species=Especie no especificad
observe.validation.lengthLengthParameter.required.startDate=fecha de comienzo de validez no especificada.
observe.validation.lengthWeightParameter.disabled.sizeMeasureType=Le type de mensuration sélectionné est désactivé. \#TODO
observe.validation.lengthWeightParameter.invalid.lengthWeightFormula=Relación de peso introducida no es coherente.
-observe.validation.lengthWeightParameter.invalid.uniqueKey=Tupla (especie/sexo/océano/sizeMeasureType/startDate) debe ser única, la tupla ya se ha usado. #TODO
+observe.validation.lengthWeightParameter.invalid.uniqueKey=Tupla (especie/sexo/océano/sizeMeasureType/startDate) debe ser única, la tupla ya se ha usado. \#TODO
observe.validation.lengthWeightParameter.invalid.weightLengthFormula=Relación de talla introducida no es coherente.
observe.validation.lengthWeightParameter.null.ocean=No se ha seleccionado oceano.
observe.validation.lengthWeightParameter.null.sizeMeasureType=Type de mensuration non renseigné. \#TODO
=====================================
validation/src/main/resources/i18n/validation_fr_FR.properties
=====================================
@@ -44,6 +44,8 @@ observe.common.BranchlineDto.branchlineLength=Longueur Avançon (m)
observe.common.BranchlineDto.hookSize=Taille d'hameçon
observe.common.BranchlineDto.hookType=Type d'hameçon
observe.common.BranchlineDto.settingIdentifier=Filage
+observe.common.BranchlineDto.snapWeight=Poids snap (kg)
+observe.common.BranchlineDto.swivelWeight=Poids de l'émerillon (kg)
observe.common.BranchlineDto.topType=Type partie supérieure
observe.common.BranchlineDto.tracelineLength=Partie basse (m)
observe.common.BranchlineDto.tracelineType=Type bas de ligne
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/91f26bf075775a04ce7e4836b1d…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/91f26bf075775a04ce7e4836b1d…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop-7.x] [LL] Plus de validation sur snap et émerillon - Closes #1028
by Tony CHEMIT 10 Jul '18
by Tony CHEMIT 10 Jul '18
10 Jul '18
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe
Commits:
88d65a50 by Tony CHEMIT at 2018-07-10T12:39:49Z
[LL] Plus de validation sur snap et émerillon - Closes #1028
- - - - -
10 changed files:
- client/src/main/resources/i18n/client_en_GB.properties
- client/src/main/resources/i18n/client_es_ES.properties
- client/src/main/resources/i18n/client_fr_FR.properties
- validation/src/main/resources/fr/ird/observe/dto/data/longline/BranchlineDto-update-error-validation.xml
- validation/src/main/resources/fr/ird/observe/dto/data/longline/BranchlineDto-update-table-error-validation.xml
- validation/src/main/resources/fr/ird/observe/dto/data/longline/SetLonglineDto-create-error-validation.xml
- validation/src/main/resources/fr/ird/observe/dto/data/longline/SetLonglineDto-update-error-validation.xml
- validation/src/main/resources/i18n/validation_en_GB.properties
- validation/src/main/resources/i18n/validation_es_ES.properties
- validation/src/main/resources/i18n/validation_fr_FR.properties
Changes:
=====================================
client/src/main/resources/i18n/client_en_GB.properties
=====================================
@@ -410,8 +410,6 @@ observe.common.BranchlineDto.hookLost=Hook lost
observe.common.BranchlineDto.hookOffset=Hook offset
observe.common.BranchlineDto.message.modified=Branchline was modified and is valid.
observe.common.BranchlineDto.message.modified.but.invalid=Branchline was modified but is not valid.
-observe.common.BranchlineDto.snapWeight=Snap weight (kg)
-observe.common.BranchlineDto.swivelWeight=Swivel weight (kg)
observe.common.BranchlineDto.timeSinceContact=Time since contact
observe.common.BranchlineDto.timer=Timer
observe.common.BranchlineDto.timerTimeOnBoard=Time on board
=====================================
client/src/main/resources/i18n/client_es_ES.properties
=====================================
@@ -410,8 +410,6 @@ observe.common.BranchlineDto.hookLost=Anzuelo erdido
observe.common.BranchlineDto.hookOffset=Offset anzuelo (°)
observe.common.BranchlineDto.message.modified=El arponcillo que se está modificando actualmente ha sido modificado y es valido.
observe.common.BranchlineDto.message.modified.but.invalid=El arponcillo que se está modificando actualmente ha sido modificado, pero no es valido.
-observe.common.BranchlineDto.snapWeight=Peso snap (kg)
-observe.common.BranchlineDto.swivelWeight=Peso destorcedor (kg)
observe.common.BranchlineDto.timeSinceContact=Tiempo desde el estallido
observe.common.BranchlineDto.timer=Reloj
observe.common.BranchlineDto.timerTimeOnBoard=Timestamp de subida a bordo
=====================================
client/src/main/resources/i18n/client_fr_FR.properties
=====================================
@@ -410,8 +410,6 @@ observe.common.BranchlineDto.hookLost=Hameçon perdu
observe.common.BranchlineDto.hookOffset=Offset hameçon (°)
observe.common.BranchlineDto.message.modified=L'avançon en cours d'édition a été modifié et est valide.
observe.common.BranchlineDto.message.modified.but.invalid=L'avançon en cours d'édition a été modifié, mais n'est pas valide.
-observe.common.BranchlineDto.snapWeight=Poids snap (kg)
-observe.common.BranchlineDto.swivelWeight=Poids émerillon (kg)
observe.common.BranchlineDto.timeSinceContact=Temps depuis déclenchement
observe.common.BranchlineDto.timer=Horloge
observe.common.BranchlineDto.timerTimeOnBoard=Horodatage de montée à bord
=====================================
validation/src/main/resources/fr/ird/observe/dto/data/longline/BranchlineDto-update-error-validation.xml
=====================================
@@ -108,4 +108,30 @@
</field>
+ <field name="swivelWeight">
+
+ <!-- 0.0 <= swivelWeight <= 0.2 -->
+ <field-validator type="fieldexpressionwithparams" short-circuit="true">
+ <param name="doubleParams">min:0.0|max:0.2</param>
+ <param name="expression"><![CDATA[ !weightedSwivel || swivelWeight == null || (doubles.min < swivelWeight && (swivelWeight - doubles.max) * 1000 < 1)]]></param>
+ <message>
+ observe.validation.setLongline.bound.swivelWeight##${doubles.min}##${doubles.max}
+ </message>
+ </field-validator>
+
+ </field>
+
+ <field name="snapWeight">
+
+ <!-- 0.0 <= snapWeight <= 0.2 -->
+ <field-validator type="fieldexpressionwithparams" short-circuit="true">
+ <param name="doubleParams">min:0.0|max:0.2</param>
+ <param name="expression"><![CDATA[ !weightedSnap || snapWeight == null || (doubles.min < snapWeight && (snapWeight - doubles.max) * 1000 < 1)]]></param>
+ <message>
+ observe.validation.setLongline.bound.snapWeight##${doubles.min}##${doubles.max}
+ </message>
+ </field-validator>
+
+ </field>
+
</validators>
=====================================
validation/src/main/resources/fr/ird/observe/dto/data/longline/BranchlineDto-update-table-error-validation.xml
=====================================
@@ -39,7 +39,7 @@
<field-validator type="fieldexpressionwithparams" short-circuit="true">
<param name="doubleParams">min:0.0|max:50.0</param>
<param name="expression">
- <![CDATA[ branchlineLength == null || (doubles.min <= branchlineLength && branchlineLength <= doubles.max)]]>
+ <![CDATA[ branchlineLength == null || (doubles.min < branchlineLength && (branchlineLength - doubles.max) * 1000 < 1)]]>
</param>
<message>
observe.validation.branchline.bound.branchlineLength##${doubles.min}##${doubles.max}
@@ -54,7 +54,7 @@
<field-validator type="fieldexpressionwithparams" short-circuit="true">
<param name="doubleParams">min:0.0|max:50.0</param>
<param name="expression">
- <![CDATA[ tracelineLength == null || (doubles.min <= tracelineLength && tracelineLength <= doubles.max)]]>
+ <![CDATA[ tracelineLength == null || (doubles.min <= tracelineLength && (tracelineLength - doubles.max) * 1000 < 1)]]>
</param>
<message>
observe.validation.branchline.bound.tracelineLength##${doubles.min}##${doubles.max}
=====================================
validation/src/main/resources/fr/ird/observe/dto/data/longline/SetLonglineDto-create-error-validation.xml
=====================================
@@ -113,11 +113,8 @@
<!-- 0.0 <= swivelWeight <= 0.2 -->
<field-validator type="fieldexpressionwithparams" short-circuit="true">
- <param name="doubleParams">min:0.0|max:0.2001</param>
- <param name="expression"><![CDATA[
- swivelWeight == null || (doubles.min < swivelWeight && swivelWeight <= doubles.max)
- ]]>
- </param>
+ <param name="doubleParams">min:0.0|max:0.2</param>
+ <param name="expression"><![CDATA[ !weightedSwivel || swivelWeight == null || (doubles.min < swivelWeight && (swivelWeight - doubles.max) * 1000 < 1)]]></param>
<message>
observe.validation.setLongline.bound.swivelWeight##${doubles.min}##${doubles.max}
</message>
@@ -129,11 +126,8 @@
<!-- 0.0 <= snapWeight <= 0.2 -->
<field-validator type="fieldexpressionwithparams" short-circuit="true">
- <param name="doubleParams">min:0.0|max:0.2001</param>
- <param name="expression"><![CDATA[
- snapWeight == null || (doubles.min < snapWeight && snapWeight <= doubles.max)
- ]]>
- </param>
+ <param name="doubleParams">min:0.0|max:0.2</param>
+ <param name="expression"><![CDATA[ !weightedSnap || snapWeight == null || (doubles.min < snapWeight && (snapWeight - doubles.max) * 1000 < 1)]]></param>
<message>
observe.validation.setLongline.bound.snapWeight##${doubles.min}##${doubles.max}
</message>
=====================================
validation/src/main/resources/fr/ird/observe/dto/data/longline/SetLonglineDto-update-error-validation.xml
=====================================
@@ -147,11 +147,8 @@
<!-- 0.0 <= swivelWeight <= 0.2 -->
<field-validator type="fieldexpressionwithparams" short-circuit="true">
- <param name="doubleParams">min:0.0|max:0.20001</param>
- <param name="expression"><![CDATA[
- swivelWeight == null || (doubles.min < swivelWeight && swivelWeight <= doubles.max)
- ]]>
- </param>
+ <param name="doubleParams">min:0.0|max:0.2</param>
+ <param name="expression"><![CDATA[ !weightedSwivel || swivelWeight == null || (doubles.min < swivelWeight && (swivelWeight - doubles.max) * 1000 < 1)]]></param>
<message>
observe.validation.setLongline.bound.swivelWeight##${doubles.min}##${doubles.max}
</message>
@@ -163,11 +160,8 @@
<!-- 0.0 <= snapWeight <= 0.2 -->
<field-validator type="fieldexpressionwithparams" short-circuit="true">
- <param name="doubleParams">min:0.0|max:0.200001</param>
- <param name="expression"><![CDATA[
- snapWeight == null || (doubles.min < snapWeight && snapWeight <= doubles.max)
- ]]>
- </param>
+ <param name="doubleParams">min:0.0|max:0.2</param>
+ <param name="expression"><![CDATA[ !weightedSnap || snapWeight == null || (doubles.min < snapWeight && (snapWeight - doubles.max) * 1000 < 1)]]></param>
<message>
observe.validation.setLongline.bound.snapWeight##${doubles.min}##${doubles.max}
</message>
=====================================
validation/src/main/resources/i18n/validation_en_GB.properties
=====================================
@@ -44,6 +44,8 @@ observe.common.BranchlineDto.branchlineLength=Branchline length
observe.common.BranchlineDto.hookSize=Hook size
observe.common.BranchlineDto.hookType=Hook type
observe.common.BranchlineDto.settingIdentifier=Setting
+observe.common.BranchlineDto.snapWeight=Snap weight (kg)
+observe.common.BranchlineDto.swivelWeight=Swivel weight (kg)
observe.common.BranchlineDto.topType=Top part type
observe.common.BranchlineDto.tracelineLength=Traceline length
observe.common.BranchlineDto.tracelineType=Traceline type
=====================================
validation/src/main/resources/i18n/validation_es_ES.properties
=====================================
@@ -44,6 +44,8 @@ observe.common.BranchlineDto.branchlineLength=Arponcillo (m)
observe.common.BranchlineDto.hookSize=Tamaño del anzuelo
observe.common.BranchlineDto.hookType=Tipo de anzuelo
observe.common.BranchlineDto.settingIdentifier=Calada
+observe.common.BranchlineDto.snapWeight=Peso snap (kg)
+observe.common.BranchlineDto.swivelWeight=Peso de el destorcedor (kg)
observe.common.BranchlineDto.topType=Tipo parte superior
observe.common.BranchlineDto.tracelineLength=Parte baja (m)
observe.common.BranchlineDto.tracelineType=Tipo bajo de línea
@@ -457,7 +459,7 @@ observe.validation.lengthFormula.endDate.before.startDate=End date must be after
observe.validation.lengthLengthParameter.disabled.inputSizeMeasureType=Le type de mensuration d'entrée sélectionné est désactivé. \#TODO
observe.validation.lengthLengthParameter.invalid.inputOutputFormula=La formule n'est pas valide. \#TODO
observe.validation.lengthLengthParameter.invalid.outputInputFormula=La formule n'est pas valide. \#TODO
-observe.validation.lengthLengthParameter.invalid.uniqueKey=Tupla (especiesexo/océano/input size measure/ output size measure/startDate) debe ser única, la tupla ya se ha usado. #TODO
+observe.validation.lengthLengthParameter.invalid.uniqueKey=Tupla (especiesexo/océano/input size measure/ output size measure/startDate) debe ser única, la tupla ya se ha usado. \#TODO
observe.validation.lengthLengthParameter.null.inputSizeMeasureType=Le type de mensuration d'entrée n'est pas renseigné. \#TODO
observe.validation.lengthLengthParameter.null.ocean=No se ha seleccionado oceano.
observe.validation.lengthLengthParameter.null.outputSizeMeasureType=Le type de mensuration de sortie n'est pas renseigné. \#TODO
@@ -470,7 +472,7 @@ observe.validation.lengthLengthParameter.required.species=Especie no especificad
observe.validation.lengthLengthParameter.required.startDate=fecha de comienzo de validez no especificada.
observe.validation.lengthWeightParameter.disabled.sizeMeasureType=Le type de mensuration sélectionné est désactivé. \#TODO
observe.validation.lengthWeightParameter.invalid.lengthWeightFormula=Relación de peso introducida no es coherente.
-observe.validation.lengthWeightParameter.invalid.uniqueKey=Tupla (especie/sexo/océano/sizeMeasureType/startDate) debe ser única, la tupla ya se ha usado. #TODO
+observe.validation.lengthWeightParameter.invalid.uniqueKey=Tupla (especie/sexo/océano/sizeMeasureType/startDate) debe ser única, la tupla ya se ha usado. \#TODO
observe.validation.lengthWeightParameter.invalid.weightLengthFormula=Relación de talla introducida no es coherente.
observe.validation.lengthWeightParameter.null.ocean=No se ha seleccionado oceano.
observe.validation.lengthWeightParameter.null.sizeMeasureType=Type de mensuration non renseigné. \#TODO
=====================================
validation/src/main/resources/i18n/validation_fr_FR.properties
=====================================
@@ -44,6 +44,8 @@ observe.common.BranchlineDto.branchlineLength=Longueur Avançon (m)
observe.common.BranchlineDto.hookSize=Taille d'hameçon
observe.common.BranchlineDto.hookType=Type d'hameçon
observe.common.BranchlineDto.settingIdentifier=Filage
+observe.common.BranchlineDto.snapWeight=Poids snap (kg)
+observe.common.BranchlineDto.swivelWeight=Poids de l'émerillon (kg)
observe.common.BranchlineDto.topType=Type partie supérieure
observe.common.BranchlineDto.tracelineLength=Partie basse (m)
observe.common.BranchlineDto.tracelineType=Type bas de ligne
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/88d65a5006f501d9cad40e4eaaa…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/88d65a5006f501d9cad40e4eaaa…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop-7.x] Revoir la clé d'unicité sur le référentiel taille-taille - Closes #992
by Tony CHEMIT 10 Jul '18
by Tony CHEMIT 10 Jul '18
10 Jul '18
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe
Commits:
4575713f by Tony CHEMIT at 2018-07-10T10:40:21Z
Revoir la clé d'unicité sur le référentiel taille-taille - Closes #992
- - - - -
15 changed files:
- + dto/src/main/java/fr/ird/observe/dto/referential/LengthLengthParameterReference.java
- + dto/src/main/java/fr/ird/observe/dto/referential/LengthWeightParameterReference.java
- dto/src/main/java/fr/ird/observe/dto/referential/WithLengthFormula.java
- + dto/src/main/java/fr/ird/observe/dto/referential/WithStartEndDate.java
- persistence/src/main/java/fr/ird/observe/entities/referentiel/AbstractFormulaSupportTopiaDao.java
- services/src/main/java/fr/ird/observe/services/validation/ValidationContext.java
- services/src/main/java/fr/ird/observe/services/validation/validators/ObserveReferentialCollectionUniqueKeyDtoValidator.java → services/src/main/java/fr/ird/observe/services/validation/validators/ObserveLengthFormulaCollectionUniqueKeyDtoValidator.java
- validation/src/main/resources/fr/ird/observe/dto/referential/LengthLengthParameterDto-create-error-validation.xml
- validation/src/main/resources/fr/ird/observe/dto/referential/LengthLengthParameterDto-update-error-validation.xml
- validation/src/main/resources/fr/ird/observe/dto/referential/LengthWeightParameterDto-create-error-validation.xml
- validation/src/main/resources/fr/ird/observe/dto/referential/LengthWeightParameterDto-update-error-validation.xml
- validation/src/main/resources/i18n/validation_en_GB.properties
- validation/src/main/resources/i18n/validation_es_ES.properties
- validation/src/main/resources/i18n/validation_fr_FR.properties
- validation/src/main/resources/validators.xml
Changes:
=====================================
dto/src/main/java/fr/ird/observe/dto/referential/LengthLengthParameterReference.java
=====================================
@@ -0,0 +1,35 @@
+package fr.ird.observe.dto.referential;
+
+/*-
+ * #%L
+ * ObServe :: Dto
+ * %%
+ * Copyright (C) 2008 - 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 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 General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ird.observe.dto.reference.ReferentialDtoReferenceAware;
+
+import java.util.Date;
+
+public class LengthLengthParameterReference extends GeneratedLengthLengthParameterReference implements WithStartEndDate {
+
+ public LengthLengthParameterReference(ReferentialDtoReferenceAware dto, String oceanLabel, String speciesLabel, String sexLabel, Date startDate, Date endDate, String inputSizeMeasureTypeCode, String inputSizeMeasureTypeLabel, String outputSizeMeasureTypeCode, String outputSizeMeasureTypeLabel, String inputOutputFormula, String outputInputFormula) {
+ super(dto, oceanLabel, speciesLabel, sexLabel, startDate, endDate, inputSizeMeasureTypeCode, inputSizeMeasureTypeLabel, outputSizeMeasureTypeCode, outputSizeMeasureTypeLabel, inputOutputFormula, outputInputFormula);
+ }
+
+}
=====================================
dto/src/main/java/fr/ird/observe/dto/referential/LengthWeightParameterReference.java
=====================================
@@ -0,0 +1,35 @@
+package fr.ird.observe.dto.referential;
+
+/*-
+ * #%L
+ * ObServe :: Dto
+ * %%
+ * Copyright (C) 2008 - 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 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 General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ird.observe.dto.reference.ReferentialDtoReferenceAware;
+
+import java.util.Date;
+
+public class LengthWeightParameterReference extends GeneratedLengthWeightParameterReference implements WithStartEndDate {
+
+ public LengthWeightParameterReference(ReferentialDtoReferenceAware dto, String oceanLabel, String speciesLabel, String sexLabel, Date startDate, Date endDate, String lengthWeightFormula, String weightLengthFormula, String sizeMeasureTypeCode) {
+ super(dto, oceanLabel, speciesLabel, sexLabel, startDate, endDate, lengthWeightFormula, weightLengthFormula, sizeMeasureTypeCode);
+}
+
+}
=====================================
dto/src/main/java/fr/ird/observe/dto/referential/WithLengthFormula.java
=====================================
@@ -22,14 +22,10 @@ package fr.ird.observe.dto.referential;
* #L%
*/
-import com.google.common.collect.Ordering;
-import org.apache.commons.lang3.BooleanUtils;
-
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.Set;
-import java.util.stream.Collectors;
/**
* Created on 22/12/16.
@@ -37,7 +33,7 @@ import java.util.stream.Collectors;
* @author Tony Chemit - dev(a)tchemit.fr
* @since 6.0
*/
-public interface WithLengthFormula extends WithFormula {
+public interface WithLengthFormula extends WithFormula, WithStartEndDate {
String PROPERTY_OCEAN = "ocean";
String PROPERTY_SPECIES = "species";
@@ -47,32 +43,26 @@ public interface WithLengthFormula extends WithFormula {
String PROPERTY_COEFFICIENTS = "coefficients";
String PROPERTY_SOURCE = "source";
- Comparator<Date> START_DATE_COMPARATOR = Ordering.natural().nullsFirst();
- Comparator<Date> END_DATE_COMPARATOR = Ordering.natural().nullsLast();
- Comparator<WithLengthFormula> FORMULA_SUPPORT_START_DATE_COMPARATOR = Comparator.comparing(WithLengthFormula::getStartDate, WithLengthFormula.START_DATE_COMPARATOR);
- Comparator<WithLengthFormula> FORMULA_SUPPORT_END_DATE_COMPARATOR = Comparator.comparing(WithLengthFormula::getEndDate, WithLengthFormula.END_DATE_COMPARATOR);
+ Comparator<WithLengthFormula> FORMULA_SUPPORT_START_DATE_COMPARATOR = Comparator.comparing(WithStartEndDate::getStartDate, WithStartEndDate.START_DATE_COMPARATOR);
+ Comparator<WithLengthFormula> FORMULA_SUPPORT_END_DATE_COMPARATOR = Comparator.comparing(WithStartEndDate::getEndDate, WithStartEndDate.END_DATE_COMPARATOR);
Comparator<WithLengthFormula> FORMULA_SUPPORT_COMPARATOR = FORMULA_SUPPORT_START_DATE_COMPARATOR.thenComparing(FORMULA_SUPPORT_END_DATE_COMPARATOR);
static <D extends WithLengthFormula> void sort(List<D> list) {
list.sort(FORMULA_SUPPORT_COMPARATOR);
}
- static <D extends WithLengthFormula> List<D> filter(List<D> list, Date date) {
- return list.stream()
- .filter(f -> WithLengthFormula.START_DATE_COMPARATOR.compare(f.getStartDate(), date) <= 0 && WithLengthFormula.END_DATE_COMPARATOR.compare(date, f.getEndDate()) <= 0)
- .collect(Collectors.toList());
- }
+// static <D extends WithStartEndDate> List<D> filter(List<D> list, Date date) {
+// return list.stream()
+// .filter(f -> WithStartEndDate.START_DATE_COMPARATOR.compare(f.getStartDate(), date) <= 0 && WithStartEndDate.END_DATE_COMPARATOR.compare(date, f.getEndDate()) <= 0)
+// .collect(Collectors.toList());
+// }
String getFormulaOneVariableName();
String getFormulaTwoVariableName();
- Date getStartDate();
-
void setStartDate(Date startDate);
- Date getEndDate();
-
void setEndDate(Date endDate);
void setCoefficients(String coefficients);
@@ -96,10 +86,10 @@ public interface WithLengthFormula extends WithFormula {
boolean isFormulaOneValid();
- boolean isFormulaTwoValid();
-
void setFormulaOneValid(boolean formulaOneValid);
+ boolean isFormulaTwoValid();
+
void setFormulaTwoValid(boolean formulaTwoValid);
default void revalidateFormulaTwo() {
=====================================
dto/src/main/java/fr/ird/observe/dto/referential/WithStartEndDate.java
=====================================
@@ -0,0 +1,26 @@
+package fr.ird.observe.dto.referential;
+
+import com.google.common.collect.Ordering;
+import fr.ird.observe.dto.reference.DtoReferenceAware;
+
+import java.util.Comparator;
+import java.util.Date;
+
+/**
+ * Created by tchemit on 10/07/2018.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ */
+public interface WithStartEndDate extends DtoReferenceAware {
+
+ Comparator<Date> START_DATE_COMPARATOR = Ordering.natural().nullsFirst();
+ Comparator<Date> END_DATE_COMPARATOR = Ordering.natural().nullsLast();
+
+ Comparator<WithStartEndDate> WITH_START_DATE_COMPARATOR = Comparator.comparing(WithStartEndDate::getStartDate, START_DATE_COMPARATOR);
+ Comparator<WithStartEndDate> WITH_END_DATE_COMPARATOR = Comparator.comparing(WithStartEndDate::getEndDate, END_DATE_COMPARATOR);
+
+ Date getStartDate();
+
+ Date getEndDate();
+
+}
=====================================
persistence/src/main/java/fr/ird/observe/entities/referentiel/AbstractFormulaSupportTopiaDao.java
=====================================
@@ -22,7 +22,7 @@ package fr.ird.observe.entities.referentiel;
* #L%
*/
-import fr.ird.observe.dto.referential.LengthFormulaSupportDto;
+import fr.ird.observe.dto.referential.WithStartEndDate;
import java.util.Comparator;
import java.util.Date;
@@ -32,13 +32,13 @@ import java.util.stream.Stream;
public class AbstractFormulaSupportTopiaDao<E extends FormulaSupport> extends GeneratedFormulaSupportTopiaDao<E> {
- public static final Comparator<FormulaSupport> FORMULA_SUPPORT_START_DATE_COMPARATOR = Comparator.comparing(FormulaSupport::getStartDate, LengthFormulaSupportDto.START_DATE_COMPARATOR);
- public static final Comparator<FormulaSupport> FORMULA_SUPPORT_END_DATE_COMPARATOR = Comparator.comparing(FormulaSupport::getEndDate, LengthFormulaSupportDto.END_DATE_COMPARATOR);
+ public static final Comparator<FormulaSupport> FORMULA_SUPPORT_START_DATE_COMPARATOR = Comparator.comparing(FormulaSupport::getStartDate, WithStartEndDate.START_DATE_COMPARATOR);
+ public static final Comparator<FormulaSupport> FORMULA_SUPPORT_END_DATE_COMPARATOR = Comparator.comparing(FormulaSupport::getEndDate, WithStartEndDate.END_DATE_COMPARATOR);
public static final Comparator<FormulaSupport> FORMULA_SUPPORT_COMPARATOR = FORMULA_SUPPORT_START_DATE_COMPARATOR.thenComparing(FORMULA_SUPPORT_END_DATE_COMPARATOR);
public static <E extends FormulaSupport> List<E> sortAndFilter(Stream<E> list, Date date) {
return list.sorted(FORMULA_SUPPORT_COMPARATOR)
- .filter(f -> LengthFormulaSupportDto.START_DATE_COMPARATOR.compare(f.getStartDate(), date) <= 0 && LengthFormulaSupportDto.END_DATE_COMPARATOR.compare(date, f.getEndDate()) <= 0)
+ .filter(f -> WithStartEndDate.START_DATE_COMPARATOR.compare(f.getStartDate(), date) <= 0 && WithStartEndDate.END_DATE_COMPARATOR.compare(date, f.getEndDate()) <= 0)
.collect(Collectors.toList());
}
=====================================
services/src/main/java/fr/ird/observe/services/validation/ValidationContext.java
=====================================
@@ -193,6 +193,7 @@ public abstract class ValidationContext extends AbstractSerializableBean {
return validationSpeedMaxValue;
}
+ @SuppressWarnings("unused")
public Function<ReferentialDto, ReferentialDtoReference> getReferentialReferenceFunction() {
return this::toReferentialReference;
}
=====================================
services/src/main/java/fr/ird/observe/services/validation/validators/ObserveReferentialCollectionUniqueKeyDtoValidator.java → services/src/main/java/fr/ird/observe/services/validation/validators/ObserveLengthFormulaCollectionUniqueKeyDtoValidator.java
=====================================
@@ -24,18 +24,18 @@ package fr.ird.observe.services.validation.validators;
import com.opensymphony.xwork2.validator.ValidationException;
import fr.ird.observe.dto.IdDto;
-import fr.ird.observe.dto.reference.ReferentialDtoReference;
+import fr.ird.observe.dto.referential.WithStartEndDate;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.validator.xwork2.field.NuitonFieldValidatorSupport;
import java.util.Collection;
import java.util.Collections;
-import java.util.Comparator;
import java.util.Date;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
import java.util.Objects;
-import java.util.Set;
-import java.util.TreeSet;
import java.util.function.Function;
/**
@@ -44,9 +44,10 @@ import java.util.function.Function;
* @author Tony Chemit - dev(a)tchemit.fr
* @since 4.0.1
*/
-public class ObserveReferentialCollectionUniqueKeyDtoValidator extends NuitonFieldValidatorSupport {
+public class ObserveLengthFormulaCollectionUniqueKeyDtoValidator extends NuitonFieldValidatorSupport {
+
+ private static final Log log = LogFactory.getLog(ObserveLengthFormulaCollectionUniqueKeyDtoValidator.class);
- private static final Log log = LogFactory.getLog(ObserveReferentialCollectionUniqueKeyDtoValidator.class);
/**
* pour indiquer la propriété qui contient la liste à valider.
* <p>
@@ -65,7 +66,6 @@ public class ObserveReferentialCollectionUniqueKeyDtoValidator extends NuitonFie
* clef unique.
*/
protected String[] keys;
- private Comparator<?> comparator;
public String getCollectionFieldName() {
return collectionFieldName;
@@ -103,70 +103,72 @@ public class ObserveReferentialCollectionUniqueKeyDtoValidator extends NuitonFie
throw new ValidationException("keys not defined");
}
- Collection<?> col = getCollection(object);
- if (log.isDebugEnabled()) {
- log.debug("collection found : " + col);
- }
+ Collection<? super WithStartEndDate> col = getCollection(object);
- if (log.isDebugEnabled()) {
- log.debug("againtBean = " + object);
- }
+ log.debug("collection found : " + col);
+ log.debug("againstBean = " + object);
boolean answer = true;
@SuppressWarnings("unchecked")
- Set<Object> hashCodes = new TreeSet<>((Comparator<? super Object>) getComparator());
- Function decoratorService = (Function) getFieldValue("referentialReferenceFunction", object);
- ReferentialDtoReference referentialDtoReference = (ReferentialDtoReference) decoratorService.apply(object);
- hashCodes.add(referentialDtoReference);
+ Function<Object, WithStartEndDate> decoratorService = (Function) getFieldValue("referentialReferenceFunction", object);
+ WithStartEndDate referentialDtoReference = decoratorService.apply(object);
+
+ Date startDate = referentialDtoReference.getStartDate();
+ Date endDate = referentialDtoReference.getEndDate();
String idToExclude = ((IdDto) object).getId();
- int index = -1;
+ List<WithStartEndDate> challenges = new LinkedList<>();
for (Object o : col) {
- index++;
-
String id = ((IdDto) o).getId();
if (Objects.equals(idToExclude, id)) {
-
// Do not treat again object
continue;
-
}
- boolean wasAdded = hashCodes.add(o);
- if (!wasAdded) {
- answer = false;
- if (log.isDebugEnabled()) {
- log.debug("duplicated unique entry at " + index);
- }
+ if (equals(referentialDtoReference, o)) {
+ // same common key
+ challenges.add((WithStartEndDate) o);
break;
}
+ }
+ if (challenges.isEmpty()) {
+ // no other entries with same common key
+ return;
}
- if (!answer) {
+ Iterator<WithStartEndDate> iterator = challenges.iterator();
+ while (answer && iterator.hasNext()) {
+ WithStartEndDate challenge = iterator.next();
+ Date challengeStartDate = challenge.getStartDate();
+ Date challengeEndDate = challenge.getEndDate();
+ int min = WithStartEndDate.START_DATE_COMPARATOR.compare(startDate, challengeStartDate);
+ if (min == 0) {
+ // same lower bound
+ answer = false;
+ continue;
+ }
+ if (min < 0) {
+ // only valid if check upper bound is lower than chanllenge min bound
+ answer = WithStartEndDate.END_DATE_COMPARATOR.compare(endDate, challengeStartDate) < 0;
+ continue;
+ }
+ // check min is after challenge min
+ answer = WithStartEndDate.END_DATE_COMPARATOR.compare(startDate, challengeEndDate) > 0;
+ }
+
+ if (!answer) {
String fieldName = getFieldName();
addFieldError(fieldName, object);
-
}
}
- @Override
- public String getValidatorType() {
- return "observeReferentialCollectionUniqueKeyDto";
- }
- private Comparator<?> getComparator() {
- if (comparator == null) {
- comparator = new MyComparator<>(keys);
- }
- return comparator;
- }
-
- private Object getPropertyValue(String key, Object o) {
+ Object getPropertyValue(String key, Object o) {
Object result;
@@ -193,7 +195,7 @@ public class ObserveReferentialCollectionUniqueKeyDtoValidator extends NuitonFie
* property
* @throws ValidationException if any pb to retreave the collection
*/
- private Collection<?> getCollection(Object object) throws ValidationException {
+ Collection<? super WithStartEndDate> getCollection(Object object) throws ValidationException {
String fieldName = getCollectionFieldName();
@@ -227,53 +229,38 @@ public class ObserveReferentialCollectionUniqueKeyDtoValidator extends NuitonFie
}
- return (Collection<?>) obj;
+ return (Collection) obj;
}
- @SuppressWarnings("ComparatorNotSerializable")
- private class MyComparator<O> implements Comparator<O> {
-
- private final String[] comparatorKeys;
-
- MyComparator(String... comparatorKeys) {
-
- this.comparatorKeys = comparatorKeys;
- }
-
- @Override
- public int compare(O o1, O o2) {
-
- boolean equals = true;
- for (String key : comparatorKeys) {
+ protected boolean equals(Object o1, Object o2) {
+ boolean equals = true;
- Object property1 = getPropertyValue(key, o1);
- Object property2 = getPropertyValue(key, o2);
+ for (String key : keys) {
- equals = equals(property1, property2);
+ Object property1 = getPropertyValue(key, o1);
+ Object property2 = getPropertyValue(key, o2);
- if (!equals) {
- break;
- }
+ if (property1 instanceof Date) {
+ property1 = ((Date) property1).getTime();
}
-
- return equals ? 0 : -1;
- }
-
- protected boolean equals(Object o1, Object o2) {
-
- if (o1 instanceof Date) {
- o1 = ((Date) o1).getTime();
- }
- if (o2 instanceof Date) {
- o2 = ((Date) o2).getTime();
+ if (property2 instanceof Date) {
+ property2 = ((Date) property2).getTime();
}
- return Objects.equals(o1, o2);
+ equals = Objects.equals(property1, property2);
+ if (!equals) {
+ break;
+ }
}
+ return equals;
+ }
+ @Override
+ public String getValidatorType() {
+ return "observeLengthFormulaCollectionUniqueKeyDto";
}
}
=====================================
validation/src/main/resources/fr/ird/observe/dto/referential/LengthLengthParameterDto-create-error-validation.xml
=====================================
@@ -32,10 +32,10 @@
<message>observe.validation.lengthLengthParameter.required.species</message>
</field-validator>
- <!-- clef unique species - gender - ocean - startDate -->
- <field-validator type="observeReferentialCollectionUniqueKeyDto" short-circuit="true">
+ <!-- clef unique species - gender - ocean - inputSizeMeasureTypeCode - outputSizeMeasureTypeCode -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
<param name="collectionFieldName">editingReferentielList</param>
- <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,inputSizeMeasureTypeCode,outputSizeMeasureTypeCode</param>
<!--<param name="againstMe">true</param>-->
<message>observe.validation.lengthLengthParameter.invalid.uniqueKey</message>
</field-validator>
@@ -47,10 +47,10 @@
<message>observe.validation.lengthLengthParameter.null.ocean</message>
</field-validator>
- <!-- clef unique species - gender - ocean - startDate -->
- <field-validator type="observeReferentialCollectionUniqueKeyDto" short-circuit="true">
+ <!-- clef unique species - gender - ocean - inputSizeMeasureTypeCode - outputSizeMeasureTypeCode -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
<param name="collectionFieldName">editingReferentielList</param>
- <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,inputSizeMeasureTypeCode,outputSizeMeasureTypeCode</param>
<!--<param name="againstMe">true</param>-->
<message>observe.validation.lengthLengthParameter.invalid.uniqueKey</message>
</field-validator>
@@ -62,25 +62,38 @@
<message>observe.validation.lengthLengthParameter.null.sex</message>
</field-validator>
- <!-- clef unique species - gender - ocean - startDate -->
- <field-validator type="observeReferentialCollectionUniqueKeyDto" short-circuit="true">
+ <!-- clef unique species - gender - ocean - inputSizeMeasureTypeCode - outputSizeMeasureTypeCode -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
<param name="collectionFieldName">editingReferentielList</param>
- <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,inputSizeMeasureTypeCode,outputSizeMeasureTypeCode</param>
<!--<param name="againstMe">true</param>-->
<message>observe.validation.lengthLengthParameter.invalid.uniqueKey</message>
</field-validator>
</field>
<field name="startDate">
- <!-- clef unique species - gender - ocean - startDate -->
- <field-validator type="observeReferentialCollectionUniqueKeyDto" short-circuit="true">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ endDate == null || startDate == null || endDate.after(startDate) ]]>
+ </param>
+ <message>observe.validation.lengthFormula.endDate.before.startDate</message>
+ </field-validator>
+ <!-- clef unique species - gender - ocean - inputSizeMeasureTypeCode - outputSizeMeasureTypeCode -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
<param name="collectionFieldName">editingReferentielList</param>
- <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,inputSizeMeasureTypeCode,outputSizeMeasureTypeCode</param>
<!--<param name="againstMe">true</param>-->
<message>observe.validation.lengthLengthParameter.invalid.uniqueKey</message>
</field-validator>
</field>
-
+ <field name="endDate">
+ <field-validator type="fieldexpression">
+ <param name="expression">
+ <![CDATA[ endDate == null || startDate == null || endDate.after(startDate) ]]>
+ </param>
+ <message>observe.validation.lengthFormula.endDate.before.startDate</message>
+ </field-validator>
+ </field>
<field name="inputSizeMeasureType">
<!-- pas de inputSizeMeasureType selectionne -->
@@ -95,6 +108,14 @@
</param>
<message>observe.validation.lengthLengthParameter.disabled.inputSizeMeasureType</message>
</field-validator>
+
+ <!-- clef unique species - gender - ocean - inputSizeMeasureTypeCode - outputSizeMeasureTypeCode -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
+ <param name="collectionFieldName">editingReferentielList</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,inputSizeMeasureTypeCode,outputSizeMeasureTypeCode</param>
+ <!--<param name="againstMe">true</param>-->
+ <message>observe.validation.lengthLengthParameter.invalid.uniqueKey</message>
+ </field-validator>
</field>
@@ -112,6 +133,14 @@
</param>
<message>observe.validation.lengthLengthParameter.disabled.inputSizeMeasureType</message>
</field-validator>
+
+ <!-- clef unique species - gender - ocean - inputSizeMeasureTypeCode - outputSizeMeasureTypeCode -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
+ <param name="collectionFieldName">editingReferentielList</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,inputSizeMeasureTypeCode,outputSizeMeasureTypeCode</param>
+ <!--<param name="againstMe">true</param>-->
+ <message>observe.validation.lengthLengthParameter.invalid.uniqueKey</message>
+ </field-validator>
</field>
<field name="inputOutputFormula">
=====================================
validation/src/main/resources/fr/ird/observe/dto/referential/LengthLengthParameterDto-update-error-validation.xml
=====================================
@@ -32,10 +32,11 @@
<message>observe.validation.lengthLengthParameter.required.species</message>
</field-validator>
- <!-- clef unique species - gender - ocean - startDate -->
- <field-validator type="observeReferentialCollectionUniqueKeyDto" short-circuit="true">
+ <!-- clef unique species - gender - ocean - inputSizeMeasureTypeCode - outputSizeMeasureTypeCode -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
<param name="collectionFieldName">editingReferentielList</param>
- <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,inputSizeMeasureTypeCode,outputSizeMeasureTypeCode</param>
+ <!--<param name="againstMe">true</param>-->
<message>observe.validation.lengthLengthParameter.invalid.uniqueKey</message>
</field-validator>
</field>
@@ -46,12 +47,12 @@
<message>observe.validation.lengthLengthParameter.null.ocean</message>
</field-validator>
- <!-- clef unique species - gender - ocean - startDate -->
- <field-validator type="observeReferentialCollectionUniqueKeyDto" short-circuit="true">
+ <!-- clef unique species - gender - ocean - inputSizeMeasureTypeCode - outputSizeMeasureTypeCode -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
<param name="collectionFieldName">editingReferentielList</param>
- <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,inputSizeMeasureTypeCode,outputSizeMeasureTypeCode</param>
<!--<param name="againstMe">true</param>-->
- <message>observe.validation.lengthWeightParameter.invalid.uniqueKey</message>
+ <message>observe.validation.lengthLengthParameter.invalid.uniqueKey</message>
</field-validator>
</field>
@@ -61,24 +62,38 @@
<message>observe.validation.lengthLengthParameter.null.sex</message>
</field-validator>
- <!-- clef unique species - gender - ocean - startDate -->
- <field-validator type="observeReferentialCollectionUniqueKeyDto" short-circuit="true">
+ <!-- clef unique species - gender - ocean - inputSizeMeasureTypeCode - outputSizeMeasureTypeCode -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
<param name="collectionFieldName">editingReferentielList</param>
- <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,inputSizeMeasureTypeCode,outputSizeMeasureTypeCode</param>
<!--<param name="againstMe">true</param>-->
- <message>observe.validation.lengthWeightParameter.invalid.uniqueKey</message>
+ <message>observe.validation.lengthLengthParameter.invalid.uniqueKey</message>
</field-validator>
</field>
+
<field name="startDate">
- <!-- clef unique species - gender - ocean - startDate -->
- <field-validator type="observeReferentialCollectionUniqueKeyDto" short-circuit="true">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ endDate == null || startDate == null || endDate.after(startDate) ]]>
+ </param>
+ <message>observe.validation.lengthFormula.endDate.before.startDate</message>
+ </field-validator>
+ <!-- clef unique species - gender - ocean - inputSizeMeasureTypeCode - outputSizeMeasureTypeCode -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
<param name="collectionFieldName">editingReferentielList</param>
- <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,inputSizeMeasureTypeCode,outputSizeMeasureTypeCode</param>
<!--<param name="againstMe">true</param>-->
- <message>observe.validation.lengthWeightParameter.invalid.uniqueKey</message>
+ <message>observe.validation.lengthLengthParameter.invalid.uniqueKey</message>
+ </field-validator>
+ </field>
+ <field name="endDate">
+ <field-validator type="fieldexpression">
+ <param name="expression">
+ <![CDATA[ endDate == null || startDate == null || endDate.after(startDate) ]]>
+ </param>
+ <message>observe.validation.lengthFormula.endDate.before.startDate</message>
</field-validator>
</field>
-
<field name="inputSizeMeasureType">
<!-- pas de inputSizeMeasureType selectionne -->
@@ -93,6 +108,14 @@
</param>
<message>observe.validation.lengthLengthParameter.disabled.inputSizeMeasureType</message>
</field-validator>
+
+ <!-- clef unique species - gender - ocean - inputSizeMeasureTypeCode - outputSizeMeasureTypeCode -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
+ <param name="collectionFieldName">editingReferentielList</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,inputSizeMeasureTypeCode,outputSizeMeasureTypeCode</param>
+ <!--<param name="againstMe">true</param>-->
+ <message>observe.validation.lengthLengthParameter.invalid.uniqueKey</message>
+ </field-validator>
</field>
@@ -110,6 +133,14 @@
</param>
<message>observe.validation.lengthLengthParameter.disabled.inputSizeMeasureType</message>
</field-validator>
+
+ <!-- clef unique species - gender - ocean - inputSizeMeasureTypeCode - outputSizeMeasureTypeCode -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
+ <param name="collectionFieldName">editingReferentielList</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,inputSizeMeasureTypeCode,outputSizeMeasureTypeCode</param>
+ <!--<param name="againstMe">true</param>-->
+ <message>observe.validation.lengthLengthParameter.invalid.uniqueKey</message>
+ </field-validator>
</field>
<field name="inputOutputFormula">
=====================================
validation/src/main/resources/fr/ird/observe/dto/referential/LengthWeightParameterDto-create-error-validation.xml
=====================================
@@ -32,10 +32,10 @@
<message>observe.validation.lengthWeightParameter.required.species</message>
</field-validator>
- <!-- clef unique species - gender - ocean - startDate -->
- <field-validator type="observeReferentialCollectionUniqueKeyDto" short-circuit="true">
+ <!-- clef unique species - gender - ocean - startDate - sizeMeasureType -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
<param name="collectionFieldName">editingReferentielList</param>
- <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate,sizeMeasureTypeCode</param>
<!--<param name="againstMe">true</param>-->
<message>observe.validation.lengthWeightParameter.invalid.uniqueKey</message>
</field-validator>
@@ -47,10 +47,10 @@
<message>observe.validation.lengthWeightParameter.null.ocean</message>
</field-validator>
- <!-- clef unique species - gender - ocean - startDate -->
- <field-validator type="observeReferentialCollectionUniqueKeyDto" short-circuit="true">
+ <!-- clef unique species - gender - ocean - startDate - sizeMeasureType -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
<param name="collectionFieldName">editingReferentielList</param>
- <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate,sizeMeasureTypeCode</param>
<!--<param name="againstMe">true</param>-->
<message>observe.validation.lengthWeightParameter.invalid.uniqueKey</message>
</field-validator>
@@ -62,25 +62,40 @@
<message>observe.validation.lengthWeightParameter.null.sex</message>
</field-validator>
- <!-- clef unique species - gender - ocean - startDate -->
- <field-validator type="observeReferentialCollectionUniqueKeyDto" short-circuit="true">
+ <!-- clef unique species - gender - ocean - startDate - sizeMeasureType -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
<param name="collectionFieldName">editingReferentielList</param>
- <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate,sizeMeasureTypeCode</param>
<!--<param name="againstMe">true</param>-->
<message>observe.validation.lengthWeightParameter.invalid.uniqueKey</message>
</field-validator>
</field>
<field name="startDate">
- <!-- clef unique species - gender - ocean - startDate -->
- <field-validator type="observeReferentialCollectionUniqueKeyDto" short-circuit="true">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ endDate == null || startDate == null || endDate.after(startDate) ]]>
+ </param>
+ <message>observe.validation.lengthFormula.endDate.before.startDate</message>
+ </field-validator>
+ <!-- clef unique species - gender - ocean - startDate - sizeMeasureType -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
<param name="collectionFieldName">editingReferentielList</param>
- <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate,sizeMeasureTypeCode</param>
<!--<param name="againstMe">true</param>-->
<message>observe.validation.lengthWeightParameter.invalid.uniqueKey</message>
</field-validator>
</field>
+ <field name="endDate">
+ <field-validator type="fieldexpression">
+ <param name="expression">
+ <![CDATA[ endDate == null || startDate == null || endDate.after(startDate) ]]>
+ </param>
+ <message>observe.validation.lengthFormula.endDate.before.startDate</message>
+ </field-validator>
+ </field>
+
<field name="sizeMeasureType">
<!-- pas de sizeMeasureType renseigne -->
<field-validator type="required">
@@ -94,6 +109,14 @@
</param>
<message>observe.validation.lengthWeightParameter.disabled.sizeMeasureType</message>
</field-validator>
+ <!-- clef unique species - gender - ocean - startDate - sizeMeasureType -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
+ <param name="collectionFieldName">editingReferentielList</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate,sizeMeasureTypeCode</param>
+ <!--<param name="againstMe">true</param>-->
+ <message>observe.validation.lengthWeightParameter.invalid.uniqueKey</message>
+ </field-validator>
+
</field>
<field name="lengthWeightFormula">
=====================================
validation/src/main/resources/fr/ird/observe/dto/referential/LengthWeightParameterDto-update-error-validation.xml
=====================================
@@ -26,43 +26,36 @@
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
- <!--<field name="code">-->
-
- <!--<!– clef unique sur le code –>-->
- <!--<field-validator type="referentialCode" short-circuit="true">-->
- <!--<message>observe.validation.referentiel.invalid.code.uniqueKey##${code}</message>-->
- <!--</field-validator>-->
-
- <!--</field>-->
-
<field name="species">
<!-- pas de species selectionne -->
<field-validator type="required" short-circuit="true">
<message>observe.validation.lengthWeightParameter.required.species</message>
</field-validator>
- <!-- clef unique species - gender - ocean - startDate -->
- <field-validator type="observeReferentialCollectionUniqueKeyDto" short-circuit="true">
+ <!-- clef unique species - gender - ocean - startDate - sizeMeasureType -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
<param name="collectionFieldName">editingReferentielList</param>
- <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate,sizeMeasureTypeCode</param>
<!--<param name="againstMe">true</param>-->
<message>observe.validation.lengthWeightParameter.invalid.uniqueKey</message>
</field-validator>
+
</field>
<field name="ocean">
<!-- pas de ocean renseigne -->
- <field-validator type="required">
+ <field-validator type="required" short-circuit="true">
<message>observe.validation.lengthWeightParameter.null.ocean</message>
</field-validator>
- <!-- clef unique species - gender - ocean - startDate -->
- <field-validator type="observeReferentialCollectionUniqueKeyDto" short-circuit="true">
+ <!-- clef unique species - gender - ocean - startDate - sizeMeasureType -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
<param name="collectionFieldName">editingReferentielList</param>
- <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate,sizeMeasureTypeCode</param>
<!--<param name="againstMe">true</param>-->
<message>observe.validation.lengthWeightParameter.invalid.uniqueKey</message>
</field-validator>
+
</field>
<field name="sex">
@@ -71,38 +64,62 @@
<message>observe.validation.lengthWeightParameter.null.sex</message>
</field-validator>
- <!-- clef unique species - gender - ocean - startDate -->
- <field-validator type="observeReferentialCollectionUniqueKeyDto" short-circuit="true">
+ <!-- clef unique species - gender - ocean - startDate - sizeMeasureType -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
<param name="collectionFieldName">editingReferentielList</param>
- <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate,sizeMeasureTypeCode</param>
<!--<param name="againstMe">true</param>-->
<message>observe.validation.lengthWeightParameter.invalid.uniqueKey</message>
</field-validator>
+
</field>
<field name="startDate">
- <!-- clef unique species - gender - ocean - startDate -->
- <field-validator type="observeReferentialCollectionUniqueKeyDto" short-circuit="true">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ endDate == null || startDate == null || endDate.after(startDate) ]]>
+ </param>
+ <message>observe.validation.lengthFormula.endDate.before.startDate</message>
+ </field-validator>
+ <!-- clef unique species - gender - ocean - startDate - sizeMeasureType -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
<param name="collectionFieldName">editingReferentielList</param>
- <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate,sizeMeasureTypeCode</param>
<!--<param name="againstMe">true</param>-->
<message>observe.validation.lengthWeightParameter.invalid.uniqueKey</message>
</field-validator>
</field>
+ <field name="endDate">
+ <field-validator type="fieldexpression">
+ <param name="expression">
+ <![CDATA[ endDate == null || startDate == null || endDate.after(startDate) ]]>
+ </param>
+ <message>observe.validation.lengthFormula.endDate.before.startDate</message>
+ </field-validator>
+ </field>
+
<field name="sizeMeasureType">
<!-- pas de sizeMeasureType renseigne -->
- <field-validator type="required">
+ <field-validator type="required" short-circuit="true">
<message>observe.validation.lengthWeightParameter.null.sizeMeasureType</message>
</field-validator>
<!-- sizeMeasureType desactive -->
- <field-validator type="fieldexpression">
+ <field-validator type="fieldexpression" short-circuit="true">
<param name="expression">
<![CDATA[ sizeMeasureType == null || sizeMeasureType.enabled ]]>
</param>
<message>observe.validation.lengthWeightParameter.disabled.sizeMeasureType</message>
</field-validator>
+ <!-- clef unique species - gender - ocean - startDate - sizeMeasureType -->
+ <field-validator type="observeLengthFormulaCollectionUniqueKeyDto" short-circuit="true">
+ <param name="collectionFieldName">editingReferentielList</param>
+ <param name="keys">speciesLabel,sexLabel,oceanLabel,startDate,sizeMeasureTypeCode</param>
+ <!--<param name="againstMe">true</param>-->
+ <message>observe.validation.lengthWeightParameter.invalid.uniqueKey</message>
+ </field-validator>
+
</field>
<field name="lengthWeightFormula">
=====================================
validation/src/main/resources/i18n/validation_en_GB.properties
=====================================
@@ -451,10 +451,11 @@ observe.validation.hooksComposition.desactivated.hookSize=Selected hook size is
observe.validation.hooksComposition.desactivated.hookType=Selected hook type is disabled.
observe.validation.hooksComposition.required.hookType=Hook type must be filled.
observe.validation.hooksComposition.required.proportion=Proportion must be filled.
+observe.validation.lengthFormula.endDate.before.startDate=End date must be after start date
observe.validation.lengthLengthParameter.disabled.inputSizeMeasureType=Selected Input Size measure type is disabled
observe.validation.lengthLengthParameter.invalid.inputOutputFormula=Formula is not valid.
observe.validation.lengthLengthParameter.invalid.outputInputFormula=Formula is not valid.
-observe.validation.lengthLengthParameter.invalid.uniqueKey=Tuple (gender/ocean/species/startDate) must be unique.
+observe.validation.lengthLengthParameter.invalid.uniqueKey=Tuple (species/ocean/gender/input size measure/ output size measure/startDate) must be unique.
observe.validation.lengthLengthParameter.null.inputSizeMeasureType=Input size measure type is not filled.
observe.validation.lengthLengthParameter.null.ocean=Ocean is not filled.
observe.validation.lengthLengthParameter.null.outputSizeMeasureType=Output size measure type is not filled.
@@ -467,7 +468,7 @@ observe.validation.lengthLengthParameter.required.species=Species must be filled
observe.validation.lengthLengthParameter.required.startDate=Start date must be filled.
observe.validation.lengthWeightParameter.disabled.sizeMeasureType=Selected size measure type is disabled.
observe.validation.lengthWeightParameter.invalid.lengthWeightFormula=Formula is not valid.
-observe.validation.lengthWeightParameter.invalid.uniqueKey=Tuple (gender/ocean/species/startDate) must be unique.
+observe.validation.lengthWeightParameter.invalid.uniqueKey=Tuple (species/ocean/gender/sizeMeasureType/startDate) must be unique.
observe.validation.lengthWeightParameter.invalid.weightLengthFormula=Formula is not valid.
observe.validation.lengthWeightParameter.null.ocean=Ocean is not filled.
observe.validation.lengthWeightParameter.null.sizeMeasureType=Size measure type is not filled.
=====================================
validation/src/main/resources/i18n/validation_es_ES.properties
=====================================
@@ -453,10 +453,11 @@ observe.validation.hooksComposition.desactivated.hookSize=El tamaño de avanzuel
observe.validation.hooksComposition.desactivated.hookType=El tipo de avanzuelo seleccionado está desactivado.
observe.validation.hooksComposition.required.hookType=La selección de un tipo de avanzuelo es mandatoria.
observe.validation.hooksComposition.required.proportion=La proporción está vacía.
+observe.validation.lengthFormula.endDate.before.startDate=End date must be after start date \#TODO
observe.validation.lengthLengthParameter.disabled.inputSizeMeasureType=Le type de mensuration d'entrée sélectionné est désactivé. \#TODO
observe.validation.lengthLengthParameter.invalid.inputOutputFormula=La formule n'est pas valide. \#TODO
observe.validation.lengthLengthParameter.invalid.outputInputFormula=La formule n'est pas valide. \#TODO
-observe.validation.lengthLengthParameter.invalid.uniqueKey=Tupla (sexo/océano/especie) debe ser única, la tupla ya se ha usado.
+observe.validation.lengthLengthParameter.invalid.uniqueKey=Tupla (especiesexo/océano/input size measure/ output size measure/startDate) debe ser única, la tupla ya se ha usado. #TODO
observe.validation.lengthLengthParameter.null.inputSizeMeasureType=Le type de mensuration d'entrée n'est pas renseigné. \#TODO
observe.validation.lengthLengthParameter.null.ocean=No se ha seleccionado oceano.
observe.validation.lengthLengthParameter.null.outputSizeMeasureType=Le type de mensuration de sortie n'est pas renseigné. \#TODO
@@ -469,7 +470,7 @@ observe.validation.lengthLengthParameter.required.species=Especie no especificad
observe.validation.lengthLengthParameter.required.startDate=fecha de comienzo de validez no especificada.
observe.validation.lengthWeightParameter.disabled.sizeMeasureType=Le type de mensuration sélectionné est désactivé. \#TODO
observe.validation.lengthWeightParameter.invalid.lengthWeightFormula=Relación de peso introducida no es coherente.
-observe.validation.lengthWeightParameter.invalid.uniqueKey=Tupla (sexo/océano/especie) debe ser única, la tupla ya se ha usado.
+observe.validation.lengthWeightParameter.invalid.uniqueKey=Tupla (especie/sexo/océano/sizeMeasureType/startDate) debe ser única, la tupla ya se ha usado. #TODO
observe.validation.lengthWeightParameter.invalid.weightLengthFormula=Relación de talla introducida no es coherente.
observe.validation.lengthWeightParameter.null.ocean=No se ha seleccionado oceano.
observe.validation.lengthWeightParameter.null.sizeMeasureType=Type de mensuration non renseigné. \#TODO
=====================================
validation/src/main/resources/i18n/validation_fr_FR.properties
=====================================
@@ -451,10 +451,11 @@ observe.validation.hooksComposition.desactivated.hookSize=La taille d'hameçon s
observe.validation.hooksComposition.desactivated.hookType=Le type d'hameçon sélectionné est désactivée.
observe.validation.hooksComposition.required.hookType=La sélection d'un type d'hameçon est obligatoire.
observe.validation.hooksComposition.required.proportion=Proportion non renseignée.
+observe.validation.lengthFormula.endDate.before.startDate=La date de fin doit être ultérieure à celle de débuts
observe.validation.lengthLengthParameter.disabled.inputSizeMeasureType=Le type de mensuration d'entrée sélectionné est désactivé.
observe.validation.lengthLengthParameter.invalid.inputOutputFormula=La formule n'est pas valide.
observe.validation.lengthLengthParameter.invalid.outputInputFormula=La formule n'est pas valide.
-observe.validation.lengthLengthParameter.invalid.uniqueKey=Le tuple (sexe/océan/espèce/date de début) doit être unique
+observe.validation.lengthLengthParameter.invalid.uniqueKey=Le tuple (espèce/sexe/océan/type de measure en entrée/type de mesure en sortie/date de début) doit être unique
observe.validation.lengthLengthParameter.null.inputSizeMeasureType=Le type de mensuration d'entrée n'est pas renseigné.
observe.validation.lengthLengthParameter.null.ocean=Aucun océan sélectionné.
observe.validation.lengthLengthParameter.null.outputSizeMeasureType=Le type de mensuration de sortie n'est pas renseigné.
@@ -467,7 +468,7 @@ observe.validation.lengthLengthParameter.required.species=L'espèce n'est pas re
observe.validation.lengthLengthParameter.required.startDate=date de début de validité non renseignée.
observe.validation.lengthWeightParameter.disabled.sizeMeasureType=Le type de mensuration sélectionné est désactivé.
observe.validation.lengthWeightParameter.invalid.lengthWeightFormula=La relation poids saisie n'est pas cohérente.
-observe.validation.lengthWeightParameter.invalid.uniqueKey=Le tuple (sexe/océan/espèce/date de début) doit être unique
+observe.validation.lengthWeightParameter.invalid.uniqueKey=Le tuple (espèce/sexe/océan/type de measure/date de début) doit être unique
observe.validation.lengthWeightParameter.invalid.weightLengthFormula=La relation taille saisie n'est pas cohérente.
observe.validation.lengthWeightParameter.null.ocean=Aucun océan sélectionné.
observe.validation.lengthWeightParameter.null.sizeMeasureType=Type de mensuration non renseigné.
=====================================
validation/src/main/resources/validators.xml
=====================================
@@ -54,7 +54,7 @@
<!-- Les validateurs spécifique aux Dto dans observe -->
<validator name="collectionUniqueKeyDto" class="fr.ird.observe.services.validation.validators.CollectionUniqueKeyDtoValidator"/>
<validator name="observeCollectionUniqueKeyDto" class="fr.ird.observe.services.validation.validators.ObserveCollectionUniqueKeyDtoValidator"/>
- <validator name="observeReferentialCollectionUniqueKeyDto" class="fr.ird.observe.services.validation.validators.ObserveReferentialCollectionUniqueKeyDtoValidator"/>
+ <validator name="observeLengthFormulaCollectionUniqueKeyDto" class="fr.ird.observe.services.validation.validators.ObserveLengthFormulaCollectionUniqueKeyDtoValidator"/>
<validator name="openableDto" class="fr.ird.observe.services.validation.validators.OpenableDtoFieldValidator"/>
<validator name="species_lengthDto" class="fr.ird.observe.services.validation.validators.SpeciesLengthFieldDtoValidator"/>
<validator name="species_weightDto" class="fr.ird.observe.services.validation.validators.SpeciesWeightFieldDtoValidator"/>
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/4575713fd28cb2cd53d95b9c9f4…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/4575713fd28cb2cd53d95b9c9f4…
You're receiving this email because of your account on gitlab.com.
1
0
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
a66d04a1 by Tony CHEMIT at 2018-07-10T07:23:09Z
Fix some bugs...
- - - - -
6 changed files:
- client/src/main/java/fr/ird/observe/client/ui/content/ObserveFocusManager.java
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/CatchLonglineLogbookUI.jaxx
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/CatchLonglineLogbookUI.jcss
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/CatchLonglineLogbookUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/TripLonglineSampleLogbookListUIHandler.java
- persistence/src/main/resources/db/migration/8.0/08_add_weight_category-common.sql
Changes:
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/ObserveFocusManager.java
=====================================
@@ -35,6 +35,8 @@ import fr.ird.observe.client.ui.content.data.longline.logbook.FloatlinesComposit
import fr.ird.observe.client.ui.content.data.longline.logbook.HooksCompositionLogbookUI;
import fr.ird.observe.client.ui.content.data.longline.logbook.LonglineGlobalCompositionLogbookUI;
import fr.ird.observe.client.ui.content.data.longline.logbook.SetLonglineLogbookUI;
+import fr.ird.observe.client.ui.content.data.longline.logbook.TripLonglineLandingLogbookListUI;
+import fr.ird.observe.client.ui.content.data.longline.logbook.TripLonglineSampleLogbookListUI;
import fr.ird.observe.client.ui.content.data.longline.obs.ActivityLonglineObsListUI;
import fr.ird.observe.client.ui.content.data.longline.obs.ActivityLonglineObsUI;
import fr.ird.observe.client.ui.content.data.longline.obs.BaitsCompositionObsUI;
@@ -559,6 +561,9 @@ public class ObserveFocusManager {
builder.put(ActivityLonglineObsListUI.class, new ContentListUIObserveLayoutFocusTraversalPolicy());
builder.put(ActivityLonglineLogbookListUI.class, new ContentListUIObserveLayoutFocusTraversalPolicy());
+ builder.put(TripLonglineLandingLogbookListUI.class, new ContentListUIObserveLayoutFocusTraversalPolicy());
+ builder.put(TripLonglineSampleLogbookListUI.class, new ContentListUIObserveLayoutFocusTraversalPolicy());
+
builder.put(TripLonglineUI.class, new ObserveLayoutFocusTraversalPolicy<TripLonglineUI>() {
@Override
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/CatchLonglineLogbookUI.jaxx
=====================================
@@ -36,6 +36,7 @@
fr.ird.observe.dto.data.longline.SetLonglineLogbookCatchDto
fr.ird.observe.dto.referential.SpeciesReference
fr.ird.observe.dto.referential.SexReference
+ fr.ird.observe.dto.referential.WeightMeasureMethodReference
fr.ird.observe.dto.referential.longline.BaitHaulingStatusReference
fr.ird.observe.dto.referential.longline.CatchFateLonglineReference
fr.ird.observe.dto.referential.longline.HealthnessReference
@@ -156,10 +157,10 @@
<NumberEditor id='totalWeight' constructorParams='this' styleClass="float3"/>
</cell>
<cell>
- <JLabel id='weightDeterminationMethodLabel'/>
+ <JLabel id='weightMeasureMethodLabel'/>
</cell>
<cell weightx='1' anchor='east'>
- <BeanComboBox id='weightDeterminationMethod' constructorParams='this' genericType='HealthnessReference'/>
+ <BeanComboBox id='weightMeasureMethod' constructorParams='this' genericType='WeightMeasureMethodReference'/>
</cell>
</row>
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/CatchLonglineLogbookUI.jcss
=====================================
@@ -76,6 +76,10 @@
selectedItem:{tableEditBean.getSpeciesCatch()};
}
+#weightMeasureMethod {
+ selectedItem:{tableEditBean.getWeightMeasureMethod()};
+}
+
#onBoardProcessing {
selectedItem:{tableEditBean.getOnBoardProcessing()};
}
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/CatchLonglineLogbookUIHandler.java
=====================================
@@ -96,14 +96,14 @@ public class CatchLonglineLogbookUIHandler extends ContentTableUIHandler<SetLong
addReferentialFilter(CatchLonglineLogbookDto.PROPERTY_SPECIES_CATCH, (ReferentialReferencesFilter<SpeciesDto, SpeciesReference>) incomingReferences -> {
String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListLonglineCatchId();
- String tripLonglineId = getSelectedId();
+ String tripLonglineId = ObserveSwingApplicationContext.get().getNavigationSelect().getLongline().getTrip().getId();
List<SpeciesReference> result = getTripLonglineService().getSpeciesByListAndTrip(tripLonglineId, speciesListId).toList();
return DtoReferenceCollection.filterEnabled(result);
});
addReferentialFilter(CatchLonglineLogbookDto.PROPERTY_PREDATOR, (ReferentialReferencesFilter<SpeciesDto, SpeciesReference>) incomingReferences -> {
String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListLonglineDepredatorId();
- String tripLonglineId = getSelectedId();
+ String tripLonglineId = ObserveSwingApplicationContext.get().getNavigationSelect().getLongline().getTrip().getId();
List<SpeciesReference> result = getTripLonglineService().getSpeciesByListAndTrip(tripLonglineId, speciesListId).toList();
return DtoReferenceCollection.filterEnabled(result);
});
@@ -211,7 +211,7 @@ public class CatchLonglineLogbookUIHandler extends ContentTableUIHandler<SetLong
boolean isGrouped = CatchAcquisitionMode.GROUPED.equals(newMode);
ui.getTotalWeight().setEnabled(isGrouped);
- ui.getWeightDeterminationMethod().setEnabled(isGrouped);
+ ui.getWeightMeasureMethod().setEnabled(isGrouped);
ui.getCount().setEnabled(isGrouped);
if (createMode) {
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/TripLonglineSampleLogbookListUIHandler.java
=====================================
@@ -83,7 +83,7 @@ public class TripLonglineSampleLogbookListUIHandler extends ContentListUIHandler
@Override
protected ContentMode getContentMode() {
- String selectedId = getSelectedId();
+ String selectedId = getSelectedParentId();
if (!selectedId.equals(getEditNode().getId())) {
addInfoMessage(n("observe.common.TripLonglineDto.message.no.active.found"));
return ContentMode.READ;
=====================================
persistence/src/main/resources/db/migration/8.0/08_add_weight_category-common.sql
=====================================
@@ -21,4 +21,4 @@
---
CREATE TABLE observe_longline.WeightCategory(topiaid VARCHAR(255) NOT NULL,topiaversion BIGINT NOT NULL, topiacreatedate DATE, lastupdatedate TIMESTAMP NOT NULL, code VARCHAR(255), status INTEGER DEFAULT 1, needComment BOOLEAN DEFAULT false, uri VARCHAR(255), label1 VARCHAR(255), label2 VARCHAR(255), label3 VARCHAR(255),label4 VARCHAR(255),label5 VARCHAR(255),label6 VARCHAR(255),label7 VARCHAR(255),label8 VARCHAR(255));
ALTER TABLE observe_longline.WeightCategory ADD CONSTRAINT PK_WeightCategory PRIMARY KEY(topiaid);
-INSERT INTO observe_common.LASTUPDATEDATE(topiaId, topiaversion, topiacreatedate, TYPE , LASTUPDATEDATE) values ('fr.ird.observe.entities.LastUpdateDate#666#1005', 0,CURRENT_DATE, 'fr.ird.observe.entities.referentiel.longline.WeightCategory', CURRENT_TIMESTAMP);
+INSERT INTO observe_common.LASTUPDATEDATE(topiaId, topiaversion, topiacreatedate, TYPE , LASTUPDATEDATE) values ('fr.ird.observe.entities.LastUpdateDate#666#1005', 0,CURRENT_DATE, 'fr.ird.observe.entities.referentiel.longline.WeightCategoryLongline', CURRENT_TIMESTAMP);
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/a66d04a181aaf3d4f08db7cf941…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/a66d04a181aaf3d4f08db7cf941…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][pages] Site checkin for project ObServe :: Pom
by Tony CHEMIT 05 Jul '18
by Tony CHEMIT 05 Jul '18
05 Jul '18
Tony CHEMIT pushed to branch pages at ultreiaio / ird-observe
Commits:
39b9e4a5 by 166231 at 2018-07-05T14:34:29Z
Site checkin for project ObServe :: Pom
- - - - -
11 changed files:
- administration-web.html
- aggregate-third-party-report.html
- architecture-logicielle.html
- changelog.html
- changes-report.html
- config-report.html
- dependency-convergence.html
- dependency-info.html
- dependency-management.html
- dependency-updates-report.html
- dev-activity.html
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/39b9e4a5c4ea80dcb5409b28ce3…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/39b9e4a5c4ea80dcb5409b28ce3…
You're receiving this email because of your account on gitlab.com.
1
0
05 Jul '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
1762645d by Tony CHEMIT at 2018-07-05T14:11:22Z
use last topia exntension
- - - - -
1 changed file:
- pom.xml
Changes:
=====================================
pom.xml
=====================================
--- a/pom.xml
+++ b/pom.xml
@@ -158,7 +158,7 @@
<!--<lib.version.java4all.jaxx>3.0-alpha-31</lib.version.java4all.jaxx>-->
<!--<lib.version.nuiton.topia>3.4.2-SNAPSHOT</lib.version.nuiton.topia>-->
<lib.version.nuiton.validation>3.1</lib.version.nuiton.validation>
- <!--<lib.version.java4all.config>1.0.3</lib.version.java4all.config>-->
+ <lib.version.java4all.topia>1.1.2-SNAPSHOT</lib.version.java4all.topia>
<xworkVersion>2.3.34</xworkVersion>
<!--<lib.version.hibernate>5.2.10.Final</lib.version.hibernate>-->
<!--can't use 1.4.197 (date has changed + blob also-->
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/1762645de1059ce44b45298d147…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/1762645de1059ce44b45298d147…
You're receiving this email because of your account on gitlab.com.
1
0
Tony CHEMIT deleted branch release/7.0-RC-16 at ultreiaio / ird-observe
--
You're receiving this email because of your account on gitlab.com.
1
0