Tutti-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
February 2013
- 6 participants
- 236 discussions
r315 - in trunk/tutti-service/src: main/java/fr/ifremer/tutti/service main/java/fr/ifremer/tutti/service/protocol test/java/fr/ifremer/tutti/service/protocol
by tchemit@users.forge.codelutin.com 04 Feb '13
by tchemit@users.forge.codelutin.com 04 Feb '13
04 Feb '13
Author: tchemit
Date: 2013-02-04 01:36:29 +0100 (Mon, 04 Feb 2013)
New Revision: 315
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/315
Log:
refs #1824: [PROTOCOLE] - Gestion des param?\195?\168tres suivis par esp?\195?\168ces (import / export des esp?\195?\168ces)
Modified:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiCsvUtil.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/protocol/SpeciesRow.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/protocol/SpeciesRowModel.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/protocol/TuttiProtocolImportExportService.java
trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/protocol/TuttiProtocolImportExportServiceTest.java
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiCsvUtil.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiCsvUtil.java 2013-02-03 22:03:03 UTC (rev 314)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiCsvUtil.java 2013-02-04 00:36:29 UTC (rev 315)
@@ -26,6 +26,7 @@
import fr.ifremer.tutti.persistence.entities.IdAware;
import org.apache.commons.lang3.StringUtils;
+import org.nuiton.util.csv.Common;
import org.nuiton.util.csv.ValueParserFormatter;
import org.nuiton.util.csv.ext.AbstractImportExportModel;
@@ -59,6 +60,28 @@
}
}
+
+ public static class StringParserFormatter extends Common.NullableParserFormatter<String> {
+
+ public StringParserFormatter(String defaultValue, boolean nullAllowed) {
+ super(defaultValue, nullAllowed);
+ }
+
+ @Override
+ public String format(String value) {
+ String str = "";
+ if (value != null) {
+ str = String.valueOf(value);
+ }
+ return str;
+ }
+
+ @Override
+ protected String parseNoneEmptyValue(String value) {
+ return value;
+ }
+ }
+
/**
* @param <E>
* @author tchemit <chemit(a)codelutin.com>
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/protocol/SpeciesRow.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/protocol/SpeciesRow.java 2013-02-03 22:03:03 UTC (rev 314)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/protocol/SpeciesRow.java 2013-02-04 00:36:29 UTC (rev 315)
@@ -42,6 +42,8 @@
public static final String PROPERTY_ID = "id";
+ public static final String PROPERTY_CRUISE_CODE = "cruiseCode";
+
public static final String PROPERTY_SPECIES = "species";
public static final String PROPERTY_SIZE_ENABLED = "sizeEnabled";
@@ -52,10 +54,18 @@
public static final String PROPERTY_AGE_ENABLED = "ageEnabled";
- public static final String PROPERTY_LENGTH_CLASS = "lengthClass";
+ public static final String PROPERTY_LENGTH_STEP = "lengthStep";
- public static final String PROPERTY_LENGTH_CLASS_ID = "lengthClassId";
+ public static final String PROPERTY_LENGTH_STEP_PARAMETER_NAME = "lengthStepParameterName";
+ public static final String PROPERTY_LENGTH_STEP_MATRIX_NAME = "lengthStepMatrixName";
+
+ public static final String PROPERTY_LENGTH_STEP_FRACTION_NAME = "lengthStepFractionName";
+
+ public static final String PROPERTY_LENGTH_STEP_METHOD_NAME = "lengthStepMethodName";
+
+ public static final String PROPERTY_LENGTH_STEP_PMFM_ID = "lengthStepPmfmId";
+
public static final String PROPERTY_WEIGHT_ENABLED = "weightEnabled";
public static final String PROPERTY_COUNT_IF_NO_FREQUENCY_ENABLED = "countIfNoFrequencyEnabled";
@@ -66,7 +76,7 @@
protected Species species;
- protected Caracteristic lengthClass;
+ protected Caracteristic lengthStep;
public SpeciesRow() {
delegate = new SpeciesProtocol();
@@ -76,19 +86,35 @@
return species;
}
- public Caracteristic getLengthClass() {
- return lengthClass;
+ public Caracteristic getLengthStep() {
+ return lengthStep;
}
- public void setLengthClass(Caracteristic lengthClass) {
- this.lengthClass = lengthClass;
- delegate.setLengthStepPmfmId(lengthClass == null ? null : lengthClass.getId());
+ public void setLengthStep(Caracteristic lengthStep) {
+ this.lengthStep = lengthStep;
+ delegate.setLengthStepPmfmId(lengthStep == null ? null : lengthStep.getId());
}
- public String getLengthClassId() {
+ public String getLengthStepPmfmId() {
return delegate.getLengthStepPmfmId();
}
+ public String getLengthStepParameterName() {
+ return lengthStep == null ? null : lengthStep.getParameterName();
+ }
+
+ public String getLengthStepMethodName() {
+ return lengthStep == null ? null : lengthStep.getMethodName();
+ }
+
+ public String getLengthStepMatrixName() {
+ return lengthStep == null ? null : lengthStep.getMatrixName();
+ }
+
+ public String getLengthStepFractionName() {
+ return lengthStep == null ? null : lengthStep.getFractionName();
+ }
+
public void setSpecies(Species species) {
this.species = species;
delegate.setSpeciesId(species == null ? null : species.getId());
@@ -158,4 +184,11 @@
return delegate.getSpeciesId();
}
+ public String getCruiseCode() {
+ return delegate.getCruiseCode();
+ }
+
+ public void setCruiseCode(String cruiseCode) {
+ delegate.setCruiseCode(cruiseCode);
+ }
}
\ No newline at end of file
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/protocol/SpeciesRowModel.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/protocol/SpeciesRowModel.java 2013-02-03 22:03:03 UTC (rev 314)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/protocol/SpeciesRowModel.java 2013-02-04 00:36:29 UTC (rev 315)
@@ -52,12 +52,18 @@
Species.PROPERTY_ID,
speciesMap);
- newForeignKeyColumn(SpeciesRow.PROPERTY_LENGTH_CLASS,
- SpeciesRow.PROPERTY_LENGTH_CLASS,
+ newForeignKeyColumn(SpeciesRow.PROPERTY_LENGTH_STEP,
+ SpeciesRow.PROPERTY_LENGTH_STEP,
Caracteristic.class,
Caracteristic.PROPERTY_ID,
caracteristicMap);
+ newIgnoredColumn(SpeciesRow.PROPERTY_LENGTH_STEP_PARAMETER_NAME);
+ newIgnoredColumn(SpeciesRow.PROPERTY_LENGTH_STEP_MATRIX_NAME);
+ newIgnoredColumn(SpeciesRow.PROPERTY_LENGTH_STEP_FRACTION_NAME);
+ newIgnoredColumn(SpeciesRow.PROPERTY_LENGTH_STEP_METHOD_NAME);
+
+ newMandatoryColumn(SpeciesRow.PROPERTY_CRUISE_CODE, new TuttiCsvUtil.StringParserFormatter(null,true));
newMandatoryColumn(SpeciesRow.PROPERTY_SIZE_ENABLED, Common.PRIMITIVE_BOOLEAN);
newMandatoryColumn(SpeciesRow.PROPERTY_SEX_ENABLED, Common.PRIMITIVE_BOOLEAN);
newMandatoryColumn(SpeciesRow.PROPERTY_MATURITY_ENABLED, Common.PRIMITIVE_BOOLEAN);
@@ -69,7 +75,13 @@
// export definition
newColumnForExport(SpeciesRow.PROPERTY_ID);
- newColumnForExport(SpeciesRow.PROPERTY_LENGTH_CLASS, SpeciesRow.PROPERTY_LENGTH_CLASS_ID);
+ newColumnForExport(SpeciesRow.PROPERTY_CRUISE_CODE);
+ newColumnForExport(SpeciesRow.PROPERTY_LENGTH_STEP, SpeciesRow.PROPERTY_LENGTH_STEP_PMFM_ID);
+ newColumnForExport(SpeciesRow.PROPERTY_LENGTH_STEP_PARAMETER_NAME);
+ newColumnForExport(SpeciesRow.PROPERTY_LENGTH_STEP_MATRIX_NAME);
+ newColumnForExport(SpeciesRow.PROPERTY_LENGTH_STEP_FRACTION_NAME);
+ newColumnForExport(SpeciesRow.PROPERTY_LENGTH_STEP_METHOD_NAME);
+
newColumnForExport(SpeciesRow.PROPERTY_SIZE_ENABLED, Common.PRIMITIVE_BOOLEAN);
newColumnForExport(SpeciesRow.PROPERTY_SEX_ENABLED, Common.PRIMITIVE_BOOLEAN);
newColumnForExport(SpeciesRow.PROPERTY_MATURITY_ENABLED, Common.PRIMITIVE_BOOLEAN);
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/protocol/TuttiProtocolImportExportService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/protocol/TuttiProtocolImportExportService.java 2013-02-03 22:03:03 UTC (rev 314)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/protocol/TuttiProtocolImportExportService.java 2013-02-04 00:36:29 UTC (rev 315)
@@ -45,8 +45,7 @@
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
import org.nuiton.util.csv.Export;
-import org.nuiton.util.csv.Import2;
-import org.nuiton.util.csv.ImportRow;
+import org.nuiton.util.csv.Import;
import java.io.BufferedWriter;
import java.io.File;
@@ -81,7 +80,7 @@
TuttiProtocol protocol,
Map<String, Caracteristic> caracteristicMap) throws IOException {
if (log.isInfoEnabled()) {
- log.info("Will import protocol [" + protocol.getName() + "] caracteristic from file: " + file);
+ log.info("Will import protocol caracteristic from file: " + file);
}
Multimap<CaracteristicType, String> ids = TreeMultimap.create();
@@ -93,30 +92,17 @@
Reader reader = Files.newReader(file, Charsets.UTF_8);
try {
- Import2<CaracteristicRow> importer =
- Import2.newImport(csvModel, reader);
+ Import<CaracteristicRow> importer =
+ Import.newImport(csvModel, reader);
try {
- for (ImportRow<CaracteristicRow> row : importer) {
+ for (CaracteristicRow bean : importer) {
- if (!row.isValid()) {
-
- //TODO deal with line error
- if (log.isErrorEnabled()) {
- log.error("there is some error on line " + row.getLineNumber() + ":\n" + row.getErrors());
- }
- } else {
-
- // treat row
- CaracteristicRow bean = row.getBean();
-
- CaracteristicType caracteristicType = bean.getType();
-
- Caracteristic caracteristic = bean.getCaracteristic();
- String id = caracteristic.getId();
- ids.put(caracteristicType, id);
- }
+ CaracteristicType caracteristicType = bean.getType();
+ Caracteristic caracteristic = bean.getCaracteristic();
+ String id = caracteristic.getId();
+ ids.put(caracteristicType, id);
}
importer.close();
} finally {
@@ -230,7 +216,6 @@
"] species from file: " + file);
}
-
Map<String, SpeciesProtocol> ids = Maps.newLinkedHashMap();
if (!protocol.isSpeciesEmpty()) {
@@ -250,8 +235,7 @@
Reader reader = Files.newReader(file, Charsets.UTF_8);
try {
- Import2<SpeciesRow> importer =
- Import2.newImport(csvModel, reader);
+ Import<SpeciesRow> importer = Import.newImport(csvModel, reader);
try {
@@ -259,28 +243,16 @@
BinderFactory.newBinder(SpeciesRow.class,
SpeciesProtocol.class);
- for (ImportRow<SpeciesRow> row : importer) {
+ for (SpeciesRow bean : importer) {
- if (!row.isValid()) {
+ Species species = bean.getSpecies();
+ String id = species.getId();
- //TODO deal with line error
- if (log.isErrorEnabled()) {
- log.error("there is some error on line " + row.getLineNumber() + ":\n" + row.getErrors());
- }
- } else {
+ SpeciesProtocol sp = new SpeciesProtocol();
+ binder.copy(bean, sp);
+ sp.setId(id);
- // treat row
- SpeciesRow bean = row.getBean();
-
- Species species = bean.getSpecies();
- String id = species.getId();
-
- SpeciesProtocol sp = new SpeciesProtocol();
- binder.copy(bean, sp);
- sp.setId(id);
-
- ids.put(id, sp);
- }
+ ids.put(id, sp);
}
importer.close();
} finally {
@@ -298,7 +270,7 @@
}
public void exportProtocolSpecies(File file,
- TuttiProtocol protocol,
+ List<SpeciesProtocol> protocol,
Map<String, Caracteristic> caracteristicMap,
Map<String, Species> speciesMap) throws Exception {
if (log.isInfoEnabled()) {
@@ -307,8 +279,8 @@
List<SpeciesRow> rows = Lists.newArrayList();
- if (!protocol.isSpeciesEmpty()) {
- rows = Lists.transform(protocol.getSpecies(), new SpeciesProtocolToSpeciesRowFunction(
+ if (CollectionUtils.isNotEmpty(protocol)) {
+ rows = Lists.transform(protocol, new SpeciesProtocolToSpeciesRowFunction(
caracteristicMap,
speciesMap));
}
@@ -389,7 +361,8 @@
Map<String, Species> speciesMap) {
this.speciesMap = speciesMap;
this.caracteristicMap = caracteristicMap;
- this.binder = BinderFactory.newBinder(SpeciesProtocol.class, SpeciesRow.class);
+ this.binder = BinderFactory.newBinder(SpeciesProtocol.class,
+ SpeciesRow.class);
}
@Override
@@ -401,7 +374,7 @@
String pmfmId = input.getLengthStepPmfmId();
if (pmfmId != null) {
Caracteristic caracteristic = caracteristicMap.get(pmfmId);
- result.setLengthClass(caracteristic);
+ result.setLengthStep(caracteristic);
}
result.setSpecies(species);
return result;
Modified: trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/protocol/TuttiProtocolImportExportServiceTest.java
===================================================================
--- trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/protocol/TuttiProtocolImportExportServiceTest.java 2013-02-03 22:03:03 UTC (rev 314)
+++ trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/protocol/TuttiProtocolImportExportServiceTest.java 2013-02-04 00:36:29 UTC (rev 315)
@@ -82,6 +82,7 @@
"species: \n" +
"- !SpeciesProtocol\n" +
" calcifySampleEnabled: true\n" +
+ " cruiseCode: cruiseCode1\n" +
" lengthStepPmfmId: 1394\n" +
" maturityEnabled: true\n" +
" sexEnabled: true\n" +
@@ -115,9 +116,9 @@
"5;;parameterName5;matrixName5;fractionName5;methodName5;";
public static final String PROTOCOL_SPECIES_FILE_CONTENT =
- "id;lengthClass;sizeEnabled;sexEnabled;maturityEnabled;ageEnabled;weightEnabled;countIfNoFrequencyEnabled;calcifySampleEnabled\n" +
- "1;1;Y;Y;Y;Y;Y;Y;Y;\n" +
- "2;;N;Y;N;Y;Y;Y;Y;";
+ "id;cruiseCode;lengthStep;lengthStepParameterName;lengthStepMatrixName;lengthStepFractionName;lengthStepMethodName;sizeEnabled;sexEnabled;maturityEnabled;ageEnabled;weightEnabled;countIfNoFrequencyEnabled;calcifySampleEnabled\n" +
+ "1;cruiseCode1;2;parameterName2;matrixName2;fractionName2;methodName2;Y;Y;Y;Y;Y;Y;Y;\n" +
+ "2;;;;;;;N;Y;N;Y;Y;Y;Y;";
@Before
public void setUp() throws Exception {
@@ -154,6 +155,7 @@
protocol.setSpecies(Lists.<SpeciesProtocol>newArrayList());
SpeciesProtocol sp1 = new SpeciesProtocol();
sp1.setSpeciesId("11242");
+ sp1.setCruiseCode("cruiseCode1");
sp1.setLengthStepPmfmId("1394");
sp1.setCalcifySampleEnabled(true);
sp1.setMaturityEnabled(true);
@@ -204,6 +206,7 @@
SpeciesProtocol sp1 = protocol.getSpecies().get(0);
Assert.assertNotNull(sp1);
Assert.assertEquals("11242", sp1.getSpeciesId());
+ Assert.assertEquals("cruiseCode1", sp1.getCruiseCode());
Assert.assertEquals("1394", sp1.getLengthStepPmfmId());
Assert.assertFalse(sp1.isAgeEnabled());
Assert.assertTrue(sp1.isCalcifySampleEnabled());
@@ -315,6 +318,32 @@
speciesMap);
Assert.assertEquals(2, protocol.sizeSpecies());
+
+ SpeciesProtocol sp1 = protocol.getSpecies().get(0);
+ Assert.assertNotNull(sp1);
+ Assert.assertEquals("1", sp1.getSpeciesId());
+ Assert.assertEquals("cruiseCode1", sp1.getCruiseCode());
+ Assert.assertEquals("2", sp1.getLengthStepPmfmId());
+ Assert.assertTrue(sp1.isAgeEnabled());
+ Assert.assertTrue(sp1.isCalcifySampleEnabled());
+ Assert.assertTrue(sp1.isCountIfNoFrequencyEnabled());
+ Assert.assertTrue(sp1.isMaturityEnabled());
+ Assert.assertTrue(sp1.isSexEnabled());
+ Assert.assertTrue(sp1.isSizeEnabled());
+ Assert.assertTrue(sp1.isWeightEnabled());
+
+ SpeciesProtocol sp2 = protocol.getSpecies().get(1);
+ Assert.assertNotNull(sp2);
+ Assert.assertEquals("2", sp2.getSpeciesId());
+ Assert.assertNull(sp2.getCruiseCode());
+ Assert.assertNull(sp2.getLengthStepPmfmId());
+ Assert.assertTrue(sp2.isAgeEnabled());
+ Assert.assertTrue(sp2.isCalcifySampleEnabled());
+ Assert.assertTrue(sp2.isCountIfNoFrequencyEnabled());
+ Assert.assertFalse(sp2.isMaturityEnabled());
+ Assert.assertTrue(sp2.isSexEnabled());
+ Assert.assertFalse(sp2.isSizeEnabled());
+ Assert.assertTrue(sp2.isWeightEnabled());
}
@Test
@@ -331,6 +360,7 @@
SpeciesProtocol sp1 = new SpeciesProtocol();
sp1.setSpeciesId("1");
+ sp1.setCruiseCode("cruiseCode1");
sp1.setAgeEnabled(true);
sp1.setSizeEnabled(true);
sp1.setMaturityEnabled(true);
@@ -338,7 +368,7 @@
sp1.setWeightEnabled(true);
sp1.setCountIfNoFrequencyEnabled(true);
sp1.setCalcifySampleEnabled(true);
- sp1.setLengthStepPmfmId("1");
+ sp1.setLengthStepPmfmId("2");
protocol.addSpecies(sp1);
@@ -357,7 +387,7 @@
Assert.assertFalse(file.exists());
service.exportProtocolSpecies(file,
- protocol,
+ protocol.getSpecies(),
createCaracteristics(),
speciesMap);
1
0
r314 - in trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches: . species
by kmorin@users.forge.codelutin.com 03 Feb '13
by kmorin@users.forge.codelutin.com 03 Feb '13
03 Feb '13
Author: kmorin
Date: 2013-02-03 23:03:03 +0100 (Sun, 03 Feb 2013)
New Revision: 314
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/314
Log:
disable weight if not a leaf
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchTableModel.java
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2013-02-03 17:12:00 UTC (rev 313)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2013-02-03 22:03:03 UTC (rev 314)
@@ -159,12 +159,16 @@
@Override
public boolean onHideTab(int currentIndex, int newIndex) {
- AbstractTuttiBeanUIModel model = getModel();
- boolean result = model.isValid();
- if (result && model.isModify()) {
- save();
- }
- return result;
+ //FIXME 20130203 kmorin: cannot change tab if model is modified
+ // (I do not even know why it is set to modified and have no time
+ // before the demo)
+// AbstractTuttiBeanUIModel model = getModel();
+// boolean result = model.isValid();
+// if (result && model.isModify()) {
+// save();
+// }
+// return result;
+ return true;
}
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchTableModel.java 2013-02-03 17:12:00 UTC (rev 313)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchTableModel.java 2013-02-03 22:03:03 UTC (rev 314)
@@ -249,7 +249,7 @@
propertyName);
if (result) {
- if (frequencyCols.contains(propertyName)) {
+ if (frequencyCols.contains(propertyName) || WEIGHT.equals(propertyName)) {
// must have filled a species to edit this column
SpeciesBatchRowModel entry = getEntry(rowIndex);
1
0
03 Feb '13
Author: tchemit
Date: 2013-02-03 18:12:00 +0100 (Sun, 03 Feb 2013)
New Revision: 313
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/313
Log:
rename memocode to refTaxCode for Species
- add cruiseCode in Species
- add method to load as well cruiseCode from protocol
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/xmi/tutti-persistence.zargo
trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocolsTest.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java 2013-02-03 17:11:07 UTC (rev 312)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java 2013-02-03 17:12:00 UTC (rev 313)
@@ -101,7 +101,8 @@
* @return the list of localite with given zone id as location parent / or strata
* @since 1.0
*/
- List<FishingOperationLocation> getAllFishingOperationSubStrata(String zoneId, String strataId);
+ List<FishingOperationLocation> getAllFishingOperationSubStrata(String zoneId,
+ String strataId);
/**
* Get the list of location of type substra that match the given zone id or
@@ -114,7 +115,9 @@
* @return the list of localite with given zone id as location parent / or strata or substrata
* @since 1.0
*/
- List<FishingOperationLocation> getAllFishingOperationLocation(String zoneId, String strataId, String subStrataId);
+ List<FishingOperationLocation> getAllFishingOperationLocation(String zoneId,
+ String strataId,
+ String subStrataId);
/**
* @return all scientific vessels (used by a {@link Cruise}).
@@ -132,9 +135,22 @@
*/
List<Vessel> getAllFishingVessel();
+ /**
+ * Get all species with no {@link Species#cruiseCode} filled.
+ *
+ * @return all species with no {@code cruiseCode} filled at all.
+ * @since 0.1
+ */
List<Species> getAllSpecies();
- Species getSpecies(String speciesId);
+ /**
+ * Get all species with {@link Species#cruiseCode} filled by optional protocol.
+ *
+ * @param protocol optional protocol to fill some species cruisecode.
+ * @return all species with {@code cruiseCode} filled for species definied in protocol.
+ * @since 1.0
+ */
+ List<Species> getAllSpecies(TuttiProtocol protocol);
/**
* @return all caracteristics of the system.
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevImpl.java 2013-02-03 17:11:07 UTC (rev 312)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevImpl.java 2013-02-03 17:12:00 UTC (rev 313)
@@ -48,6 +48,7 @@
import fr.ifremer.tutti.persistence.entities.data.Program;
import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch;
import fr.ifremer.tutti.persistence.entities.data.SpeciesBatchFrequency;
+import fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
@@ -251,8 +252,14 @@
}
@Override
- public Species getSpecies(String id) {
- Species result = getBean(Species.class.getName(), id);
+ public List<Species> getAllSpecies(TuttiProtocol protocol) {
+ List<Species> result = getAllSpecies();
+ if (protocol!=null && !protocol.isSpeciesEmpty()) {
+ Map<String, Species> map =TuttiEntities.splitById(result);
+ for (SpeciesProtocol speciesProtocol : protocol.getSpecies()) {
+ map.get(speciesProtocol.getSpeciesId()).setCruiseCode(speciesProtocol.getCruiseCode());
+ }
+ }
return result;
}
@@ -1325,26 +1332,26 @@
sp = new Species();
sp.setId(UUID.randomUUID().toString());
- sp.setCodeMemo("BAR");
- sp.setGenusSpecies("Bar");
+ sp.setRefTaxCode("BAR");
+ sp.setName("Bar");
putInCache(Species.class, sp);
sp = new Species();
sp.setId(UUID.randomUUID().toString());
- sp.setCodeMemo("CHIN");
- sp.setGenusSpecies("Chinchard");
+ sp.setRefTaxCode("CHIN");
+ sp.setName("Chinchard");
putInCache(Species.class, sp);
sp = new Species();
sp.setId(UUID.randomUUID().toString());
- sp.setCodeMemo("FLE");
- sp.setGenusSpecies("Flet");
+ sp.setRefTaxCode("FLE");
+ sp.setName("Flet");
putInCache(Species.class, sp);
sp = new Species();
sp.setId(UUID.randomUUID().toString());
- sp.setCodeMemo("LIM");
- sp.setGenusSpecies("Limande");
+ sp.setRefTaxCode("LIM");
+ sp.setName("Limande");
putInCache(Species.class, sp);
ca = createQualitativeCaracteristic("MacroWaste", CaracteristicEnum.MacroWasteCategory.name());
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2013-02-03 17:11:07 UTC (rev 312)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2013-02-03 17:12:00 UTC (rev 313)
@@ -24,6 +24,7 @@
* #L%
*/
+import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.data.AccidentalBatch;
import fr.ifremer.tutti.persistence.entities.data.BenthosBatch;
import fr.ifremer.tutti.persistence.entities.data.CatchBatch;
@@ -34,6 +35,7 @@
import fr.ifremer.tutti.persistence.entities.data.Program;
import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch;
import fr.ifremer.tutti.persistence.entities.data.SpeciesBatchFrequency;
+import fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
@@ -62,6 +64,7 @@
import java.io.IOException;
import java.util.List;
+import java.util.Map;
/**
* @author tchemit <chemit(a)codelutin.com>
@@ -202,8 +205,15 @@
}
@Override
- public Species getSpecies(String speciesId) {
- return referentialService.getSpecies(speciesId);
+ public List<Species> getAllSpecies(TuttiProtocol protocol) {
+ List<Species> result = referentialService.getAllSpecies();
+ if (protocol != null && !protocol.isSpeciesEmpty()) {
+ Map<String, Species> map = TuttiEntities.splitById(result);
+ for (SpeciesProtocol speciesProtocol : protocol.getSpecies()) {
+ map.get(speciesProtocol.getSpeciesId()).setCruiseCode(speciesProtocol.getCruiseCode());
+ }
+ }
+ return result;
}
@Override
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-02-03 17:11:07 UTC (rev 312)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-02-03 17:12:00 UTC (rev 313)
@@ -557,7 +557,7 @@
Species target = new Species();
target.setId(String.valueOf(source.getReferenceTaxonId()));
target.setName(source.getName());
- target.setCodeMemo(source.getRefTaxCode());
+ target.setRefTaxCode(source.getRefTaxCode());
fr.ifremer.adagio.core.dao.referential.Status status = statusDao.load(source.getStatus().getValue());
setStatus(status, target);
return target;
Modified: trunk/tutti-persistence/src/main/xmi/tutti-persistence.zargo
===================================================================
(Binary files differ)
Modified: trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocolsTest.java
===================================================================
--- trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocolsTest.java 2013-02-03 17:11:07 UTC (rev 312)
+++ trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocolsTest.java 2013-02-03 17:12:00 UTC (rev 313)
@@ -69,6 +69,8 @@
"- !SpeciesProtocol\n" +
" id: 1\n" +
" calcifySampleEnabled: true\n" +
+ " cruiseCode: BAR\n" +
+ " genusSpecies: bar\n" +
" lengthStepPmfmId: 1394\n" +
" maturityEnabled: true\n" +
" sexEnabled: true\n" +
@@ -79,6 +81,8 @@
" ageEnabled: true\n" +
" calcifySampleEnabled: true\n" +
" countIfNoFrequencyEnabled: true\n" +
+ " cruiseCode: CHIN\n" +
+ " genusSpecies: chinchard\n" +
" lengthStepPmfmId: 323\n" +
" maturityEnabled: true\n" +
" sexEnabled: true\n" +
@@ -144,6 +148,8 @@
Assert.assertNotNull(sp1);
Assert.assertEquals("1", sp1.getId());
Assert.assertEquals("11242", sp1.getSpeciesId());
+ Assert.assertEquals("BAR", sp1.getCruiseCode());
+ Assert.assertEquals("bar", sp1.getGenusSpecies());
Assert.assertEquals("1394", sp1.getLengthStepPmfmId());
Assert.assertFalse(sp1.isAgeEnabled());
Assert.assertTrue(sp1.isCalcifySampleEnabled());
@@ -157,6 +163,8 @@
Assert.assertNotNull(sp2);
Assert.assertEquals("2", sp2.getId());
Assert.assertEquals("3835", sp2.getSpeciesId());
+ Assert.assertEquals("CHIN", sp2.getCruiseCode());
+ Assert.assertEquals("chinchard", sp2.getGenusSpecies());
Assert.assertEquals("323", sp2.getLengthStepPmfmId());
Assert.assertTrue(sp2.isAgeEnabled());
Assert.assertTrue(sp2.isCalcifySampleEnabled());
@@ -181,6 +189,8 @@
SpeciesProtocol sp1 = new SpeciesProtocol();
sp1.setId("1");
sp1.setSpeciesId("11242");
+ sp1.setCruiseCode("BAR");
+ sp1.setGenusSpecies("bar");
sp1.setLengthStepPmfmId("1394");
sp1.setCalcifySampleEnabled(true);
sp1.setMaturityEnabled(true);
@@ -191,6 +201,8 @@
SpeciesProtocol sp2 = new SpeciesProtocol();
sp2.setId("2");
sp2.setSpeciesId("3835");
+ sp2.setCruiseCode("CHIN");
+ sp2.setGenusSpecies("chinchard");
sp2.setLengthStepPmfmId("323");
sp2.setAgeEnabled(true);
sp2.setCalcifySampleEnabled(true);
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java 2013-02-03 17:11:07 UTC (rev 312)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java 2013-02-03 17:12:00 UTC (rev 313)
@@ -64,8 +64,10 @@
String getLabel();
}
- public static final String SPECIES_BY_CODE = "byCode";
+ public static final String SPECIES_BY_CRUISE_CODE= "byCruiseCode";
+ public static final String SPECIES_BY_REF_TAX_CODE = "byRefTaxCode";
+
public static final String SPECIES_BY_GENUS = "byGenus";
public static final String CARACTERISTIC_WITH_UNIT = "withUnit";
@@ -114,8 +116,9 @@
registerMultiJXPathDecorator(Caracteristic.class, "${parameterName}$s#${matrixName}$s#${fractionName}$s#${methodName}$s", SEPARATOR, " - ");
registerMultiJXPathDecorator(Caracteristic.class, CARACTERISTIC_WITH_UNIT, "${parameterName}$s#${matrixName}$s#${fractionName}$s#${methodName}$s (${unit}$s)", SEPARATOR, " - ");
registerMultiJXPathDecorator(CaracteristicQualitativeValue.class, "${name}$s", SEPARATOR, " - ");
- registerMultiJXPathDecorator(Species.class, "${codeMemo}$s#${name}$s", SEPARATOR, " - ");
- registerMultiJXPathDecorator(Species.class, SPECIES_BY_CODE, "${codeMemo}$s", SEPARATOR, " - ");
+ registerMultiJXPathDecorator(Species.class, "${refTaxCode}$s#${name}$s", SEPARATOR, " - ");
+ registerMultiJXPathDecorator(Species.class, SPECIES_BY_CRUISE_CODE, "${cruiseCode}$s#${refTaxCode}$s#${name}$s", SEPARATOR, " - ");
+ registerMultiJXPathDecorator(Species.class, SPECIES_BY_REF_TAX_CODE, "${refTaxCode}$s", SEPARATOR, " - ");
registerMultiJXPathDecorator(Species.class, SPECIES_BY_GENUS, "${name}$s", SEPARATOR, " - ");
registerMultiJXPathDecorator(SpeciesProtocol.class, "${speciesId}", SEPARATOR, " - ");
registerMultiJXPathDecorator(Attachment.class, "${name}$s", SEPARATOR, " - ");
@@ -149,13 +152,15 @@
n_("tutti.property.methodName");
n_("tutti.property.cruise");
n_("tutti.property.fishingOperation");
+ n_("tutti.property.fishingOperationLocation");
n_("tutti.property.zone");
n_("tutti.property.vessel");
n_("tutti.property.country");
n_("tutti.property.gear");
n_("tutti.property.user");
n_("tutti.property.strata");
- n_("tutti.property.codeMemo");
+ n_("tutti.property.refTaxCode");
+ n_("tutti.property.cruiseCode");
n_("tutti.property.species");
n_("tutti.property.genusSpecies");
n_("tutti.property.sortedUnsortedCategory");
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-02-03 17:11:07 UTC (rev 312)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-02-03 17:12:00 UTC (rev 313)
@@ -213,8 +213,8 @@
}
@Override
- public Species getSpecies(String speciesId) {
- return driver.getSpecies(speciesId);
+ public List<Species> getAllSpecies(TuttiProtocol protocol) {
+ return driver.getAllSpecies(protocol);
}
@Override
Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
===================================================================
--- trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-02-03 17:11:07 UTC (rev 312)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-02-03 17:12:00 UTC (rev 313)
@@ -8,13 +8,14 @@
tutti.option.version.description=Version courante de l'application
tutti.property.attachment=Pièce jointe
tutti.property.caracteristic=Caractéristique
-tutti.property.codeMemo=Code Memo
tutti.property.country=Pays
tutti.property.cruise=Campagne
+tutti.property.cruiseCode=Code campagne
tutti.property.date=Date
tutti.property.department=Département
tutti.property.firstName=Prénom
tutti.property.fishingOperation=Trait
+tutti.property.fishingOperationLocation=Lieu
tutti.property.fractionName=Fraction
tutti.property.gear=Engin
tutti.property.genusSpecies=Nom scientifique
@@ -29,6 +30,7 @@
tutti.property.parameterName=Paramètre
tutti.property.program=Série de campagne
tutti.property.protocol=Protocol de saisie
+tutti.property.refTaxCode=Code permanent
tutti.property.sortedUnsortedCategory=Vrac / Hors Vrac
tutti.property.species=Espèce
tutti.property.stationNumber=Numéro de station
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java 2013-02-03 17:11:07 UTC (rev 312)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java 2013-02-03 17:12:00 UTC (rev 313)
@@ -221,7 +221,7 @@
// Species (by code) column
Decorator<Species> decorator = getDecorator(
- Species.class, DecoratorService.SPECIES_BY_CODE);
+ Species.class, DecoratorService.SPECIES_BY_REF_TAX_CODE);
addComboDataColumnToModel(columnModel,
AccidentalBatchTableModel.SPECIES_BY_CODE,
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-02-03 17:11:07 UTC (rev 312)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-02-03 17:12:00 UTC (rev 313)
@@ -225,7 +225,7 @@
// Species (by code) column
Decorator<Species> decorator = getDecorator(
- Species.class, DecoratorService.SPECIES_BY_CODE);
+ Species.class, DecoratorService.SPECIES_BY_REF_TAX_CODE);
addComboDataColumnToModel(columnModel,
BenthosBatchTableModel.SPECIES_BY_CODE,
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUIHandler.java 2013-02-03 17:11:07 UTC (rev 312)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUIHandler.java 2013-02-03 17:12:00 UTC (rev 313)
@@ -221,7 +221,7 @@
{ // Species (by code) column
Decorator<Species> decorator = getDecorator(
- Species.class, DecoratorService.SPECIES_BY_CODE);
+ Species.class, DecoratorService.SPECIES_BY_REF_TAX_CODE);
addComboDataColumnToModel(columnModel,
PlanktonBatchTableModel.SPECIES_BY_CODE,
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-02-03 17:11:07 UTC (rev 312)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-02-03 17:12:00 UTC (rev 313)
@@ -40,7 +40,6 @@
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
import fr.ifremer.tutti.persistence.entities.referential.Species;
-import fr.ifremer.tutti.service.PersistenceService;
import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.content.operation.AbstractTuttiBatchTableUIHandler;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI;
@@ -78,6 +77,7 @@
import java.io.Serializable;
import java.util.EnumMap;
import java.util.List;
+import java.util.Map;
import java.util.Set;
import static org.nuiton.i18n.I18n._;
@@ -96,6 +96,9 @@
public static JAXXContextEntryDef<List<Caracteristic>> FREQUENCY_LENGTH_CONTEXT_ENTRY =
JAXXUtil.newListContextEntryDef("frequencyLength");
+ public static JAXXContextEntryDef<List<Species>> SPECIES_UNIVERSE_CONTEXT_ENTRY =
+ JAXXUtil.newListContextEntryDef("speciesUniverse");
+
public static final Set<String> SAMPLING_PROPERTIES = Sets.newHashSet(
SpeciesBatchRowModel.PROPERTY_SAMPLE_CATEGORY,
SpeciesBatchRowModel.PROPERTY_SPECIES,
@@ -394,10 +397,40 @@
model.setTableViewMode(TableViewMode.ALL);
ui.setContextValue(model);
- //TODO Use protocol values if exists ?
- PersistenceService service =
- context.getService(PersistenceService.class);
- List<Caracteristic> lengthCaracterics = service.getAllCaracteristic();
+ List<Caracteristic> lengthCaracterics;
+
+ TuttiProtocol protocol = null;
+
+ if (context.isProtocolFilled()) {
+
+ // get loaded protocol
+
+ protocol = TuttiUIUtil.getProtocol(ui);
+ Preconditions.checkNotNull(
+ protocol,
+ "Could not find protocol in ui context");
+
+ lengthCaracterics = Lists.newArrayListWithCapacity(
+ protocol.sizeLengthClassesPmfmId());
+
+ Map<String, Caracteristic> allCaractericsById =
+ TuttiEntities.splitById(persistenceService.getAllCaracteristic());
+
+ if (!protocol.isLengthClassesPmfmIdEmpty()) {
+ for (String id : protocol.getLengthClassesPmfmId()) {
+ lengthCaracterics.add(allCaractericsById.get(id));
+ }
+ }
+
+ } else {
+
+ // use all caracteristics
+ lengthCaracterics = Lists.newArrayList(persistenceService.getAllCaracteristic());
+ }
+
+ List<Species> speciesList = persistenceService.getAllSpecies(protocol);
+
+ SPECIES_UNIVERSE_CONTEXT_ENTRY.setContextValue(ui, speciesList);
FREQUENCY_LENGTH_CONTEXT_ENTRY.setContextValue(ui, lengthCaracterics);
}
@@ -412,6 +445,9 @@
List<SampleCategoryType> samplingOrder;
+ List<Species> speciesUniverse =
+ SPECIES_UNIVERSE_CONTEXT_ENTRY.getContextValue(ui);
+
List<Species> allSpecies;
TuttiProtocol protocol = null;
@@ -439,8 +475,7 @@
SampleCategoryType.maturity,
SampleCategoryType.age);
- allSpecies = Lists.newArrayList(
- persistenceService.getAllSpecies());
+ allSpecies = Lists.newArrayList(speciesUniverse);
// each species can use any category
for (Species species : allSpecies) {
@@ -464,17 +499,18 @@
// fill available species from protocol
- allSpecies = Lists.newArrayList();
- List<SpeciesProtocol> protocolSpecies = protocol.getSpecies();
- for (SpeciesProtocol protocolSpecy : protocolSpecies) {
- Species species = persistenceService.getSpecies(
- protocolSpecy.getSpeciesId());
- allSpecies.add(species);
- speciesSampleCategories.put(species, SampleCategoryType.sortedUnsorted);
- speciesSampleCategories.put(species, SampleCategoryType.size);
- speciesSampleCategories.put(species, SampleCategoryType.sex);
- speciesSampleCategories.put(species, SampleCategoryType.maturity);
- speciesSampleCategories.put(species, SampleCategoryType.age);
+ allSpecies = Lists.newArrayListWithCapacity(protocol.sizeSpecies());
+ if (!protocol.isSpeciesEmpty()) {
+ Map<String, Species> map = TuttiEntities.splitById(speciesUniverse);
+ for (SpeciesProtocol protocolSpecy : protocol.getSpecies()) {
+ Species species = map.get(protocolSpecy.getSpeciesId());
+ allSpecies.add(species);
+ speciesSampleCategories.put(species, SampleCategoryType.sortedUnsorted);
+ speciesSampleCategories.put(species, SampleCategoryType.size);
+ speciesSampleCategories.put(species, SampleCategoryType.sex);
+ speciesSampleCategories.put(species, SampleCategoryType.maturity);
+ speciesSampleCategories.put(species, SampleCategoryType.age);
+ }
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java 2013-02-03 17:11:07 UTC (rev 312)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java 2013-02-03 17:12:00 UTC (rev 313)
@@ -126,7 +126,7 @@
Species newValue = (Species) evt.getNewValue();
if (log.isInfoEnabled()) {
- log.info("New Selected species " + (newValue == null ? null : newValue.getCodeMemo()));
+ log.info("New Selected species " + (newValue == null ? null : newValue.getRefTaxCode()));
}
if (newValue == null || source.getSpeciesUsed() == null) {
1
0
r312 - trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence
by tchemit@users.forge.codelutin.com 03 Feb '13
by tchemit@users.forge.codelutin.com 03 Feb '13
03 Feb '13
Author: tchemit
Date: 2013-02-03 18:11:07 +0100 (Sun, 03 Feb 2013)
New Revision: 312
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/312
Log:
fix persistence test config using new config layout
Modified:
trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java
Modified: trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java
===================================================================
--- trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java 2013-02-03 17:10:42 UTC (rev 311)
+++ trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java 2013-02-03 17:11:07 UTC (rev 312)
@@ -148,7 +148,9 @@
applicationConfig.loadDefaultOptions(
TuttiPersistenceConfigOption.values());
applicationConfig.setDefaultOption("tutti.data.directory",
- resourceDirectory.getAbsolutePath());
+ new File(resourceDirectory,"data").getAbsolutePath());
+ applicationConfig.setDefaultOption("tutti.config.directory",
+ new File(resourceDirectory,"config").getAbsolutePath());
applicationConfig.parse();
config = new TuttiPersistenceConfig(applicationConfig);
1
0
r311 - trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service
by tchemit@users.forge.codelutin.com 03 Feb '13
by tchemit@users.forge.codelutin.com 03 Feb '13
03 Feb '13
Author: tchemit
Date: 2013-02-03 18:10:42 +0100 (Sun, 03 Feb 2013)
New Revision: 311
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/311
Log:
regenerate referential
Modified:
trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceTest.java
Modified: trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceTest.java
===================================================================
--- trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceTest.java 2013-02-03 16:50:25 UTC (rev 310)
+++ trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceTest.java 2013-02-03 17:10:42 UTC (rev 311)
@@ -52,6 +52,8 @@
import java.io.IOException;
import java.util.List;
+import static fr.ifremer.tutti.persistence.TuttiPersistenceDevImpl.CaracteristicEnum;
+
/**
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
@@ -271,42 +273,51 @@
List<Caracteristic> result = service.getAllCaracteristic();
Assert.assertNotNull(result);
Assert.assertEquals(fixtures.refNbCaracteristic(), result.size());
+
+ persistList(Caracteristic.class, CaracteristicEnum.All.name(), result);
+ assertSize(result, storage.getAllCaracteristic());
}
@Test
public void getSizeCategoryCaracteristic() {
Caracteristic result = service.getSizeCategoryCaracteristic();
assertCaracteristicQualitative(result, 6);
+ persist(Caracteristic.class, CaracteristicEnum.SizeCategory.name(), result);
}
@Test
public void getSexCaracteristic() {
Caracteristic result = service.getSexCaracteristic();
assertCaracteristicQualitative(result, 4);
+ persist(Caracteristic.class, CaracteristicEnum.SexCategory.name(), result);
}
@Test
public void getSortedUnsortedCaracteristic() {
Caracteristic result = service.getSortedUnsortedCaracteristic();
assertCaracteristicQualitative(result, 2);
+ persist(Caracteristic.class, CaracteristicEnum.SortedUnsortedCategory.name(), result);
}
@Test
public void getMaturityCaracteristic() {
Caracteristic result = service.getMaturityCaracteristic();
assertCaracteristicQualitative(result, 6);
+ persist(Caracteristic.class, CaracteristicEnum.MaturityCategory.name(), result);
}
@Test
public void getMacroWasteCategoryCaracteristic() {
Caracteristic result = service.getMacroWasteCategoryCaracteristic();
assertCaracteristicQualitative(result, 21);
+ persist(Caracteristic.class, CaracteristicEnum.MacroWasteCategory.name(), result);
}
@Test
public void getMacroWasteSizeCategoryCaracteristic() {
Caracteristic result = service.getMacroWasteSizeCategoryCaracteristic();
assertCaracteristicQualitative(result, 6);
+ persist(Caracteristic.class, CaracteristicEnum.MacroWasteSizeCategory.name(), result);
}
protected <S extends IdAware> void persistList(Class<S> type, List<S> result) {
1
0
r310 - trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config
by tchemit@users.forge.codelutin.com 03 Feb '13
by tchemit@users.forge.codelutin.com 03 Feb '13
03 Feb '13
Author: tchemit
Date: 2013-02-03 17:50:25 +0100 (Sun, 03 Feb 2013)
New Revision: 310
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/310
Log:
make transient some config options
Modified:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfigOption.java
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfigOption.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfigOption.java 2013-02-03 14:52:46 UTC (rev 309)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfigOption.java 2013-02-03 16:50:25 UTC (rev 310)
@@ -45,12 +45,16 @@
"tutti.data.directory",
n_("tutti.option.data.directory.description"),
"${user.home}/.tutti/data",
- File.class),
+ File.class,
+ true,
+ true),
CONFIG_DIRECTORY(
"tutti.config.directory",
n_("tutti.option.config.directory.description"),
"${user.home}/.tutti/config",
- File.class),
+ File.class,
+ true,
+ true),
TMP_DIRECTORY(
"tutti.tmp.directory",
n_("tutti.option.tmp.directory.description"),
1
0
r309 - in trunk/tutti-ui-swing/src/main: java/fr/ifremer/tutti/ui/swing/content/operation resources/fr/ifremer/tutti/ui/swing/content/operation resources/i18n
by kmorin@users.forge.codelutin.com 03 Feb '13
by kmorin@users.forge.codelutin.com 03 Feb '13
03 Feb '13
Author: kmorin
Date: 2013-02-03 15:52:46 +0100 (Sun, 03 Feb 2013)
New Revision: 309
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/309
Log:
add validation to check that the fishing operation is between the cruise dates
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java
trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-warning-validation.xml
trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2013-02-03 14:52:46 UTC (rev 309)
@@ -232,7 +232,7 @@
final EditFishingOperationUIModel model = getModel();
initUI(ui);
-
+
initBeanList(ui.getSaisisseurList(),
persistenceService.getAllPerson(),
model.getSaisisseur());
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java 2013-02-03 13:06:27 UTC (rev 308)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java 2013-02-03 14:52:46 UTC (rev 309)
@@ -43,6 +43,7 @@
import java.util.List;
import static org.nuiton.i18n.I18n.n_;
+import org.nuiton.util.DateUtil;
/**
* Model for UI {@link EditFishingOperationUI}.
@@ -708,6 +709,10 @@
protected FishingOperation newEntity() {
return fishingOperation;
}
+
+ public boolean isDateInCruise(Date date) {
+ return DateUtil.between(date, cruise.getBeginDate(), cruise.getEndDate());
+ }
public void convertGearShootingCoordinatesDDToDMS() {
SexagecimalPosition position;
Modified: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-warning-validation.xml
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-warning-validation.xml 2013-02-03 13:06:27 UTC (rev 308)
+++ trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-warning-validation.xml 2013-02-03 14:52:46 UTC (rev 309)
@@ -37,6 +37,13 @@
</param>
<message>tutti.validator.error.fishingOperation.dates.endBeforeStart</message>
</field-validator>
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ gearShootingStartDate == null || isDateInCruise(gearShootingStartDate) ]]>
+ </param>
+ <message>tutti.validator.error.fishingOperation.dates.startOutOfCruiseDates</message>
+ </field-validator>
</field>
<field name="gearShootingEndDate">
@@ -46,6 +53,13 @@
</param>
<message>tutti.validator.error.fishingOperation.dates.endBeforeStart</message>
</field-validator>
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ gearShootingEndDate == null || isDateInCruise(gearShootingEndDate) ]]>
+ </param>
+ <message>tutti.validator.error.fishingOperation.dates.endOutOfCruiseDates</message>
+ </field-validator>
</field>
<!--gear shooting start latitude validation -->
Modified: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml 2013-02-03 13:06:27 UTC (rev 308)
+++ trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml 2013-02-03 14:52:46 UTC (rev 309)
@@ -77,6 +77,13 @@
<message>tutti.validator.error.fishingOperation.dates.endBeforeStart</message>
</field-validator>
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ gearShootingStartDate == null || isDateInCruise(gearShootingStartDate) ]]>
+ </param>
+ <message>tutti.validator.error.fishingOperation.dates.startOutOfCruiseDates</message>
+ </field-validator>
+
</field>
<field name="gearShootingEndDate">
@@ -88,6 +95,13 @@
<message>tutti.validator.error.fishingOperation.dates.endBeforeStart</message>
</field-validator>
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ gearShootingEndDate == null || isDateInCruise(gearShootingEndDate) ]]>
+ </param>
+ <message>tutti.validator.error.fishingOperation.dates.startOutOfCruiseDates</message>
+ </field-validator>
+
</field>
<!--gear shooting start latitude validation -->
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-02-03 13:06:27 UTC (rev 308)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-02-03 14:52:46 UTC (rev 309)
@@ -216,6 +216,8 @@
tutti.label.tab.catches=Captures
tutti.label.tab.catchesCaracteristics=Résumé
tutti.label.tab.fishingOperation=Trait
+tutti.label.tab.fishingOperation.environment=Environnement
+tutti.label.tab.fishingOperation.gearShooting=Mise en oeuvre de l'engin
tutti.label.tab.fishingOperation.general=Trait
tutti.label.tab.fishingOperation.hydrology=Paramètres hydrologiques
tutti.label.tab.macroDechet=Macro déchets
@@ -390,6 +392,8 @@
tutti.validator.error.cruise.year.required=L'année est obligatoire
tutti.validator.error.fishingOperation.date.required=La date du fishingOperation est obligatoire
tutti.validator.error.fishingOperation.dates.endBeforeStart=La date de fin doit être après la date de début
+tutti.validator.error.fishingOperation.dates.endOutOfCruiseDates=La date de fin est en dehors des dates de la campagne
+tutti.validator.error.fishingOperation.dates.startOutOfCruiseDates=La date de début est en dehors des dates de la campagne
tutti.validator.error.fishingOperation.fishingOperationNumber.required=Le numéro de trait est obligatoire
tutti.validator.error.fishingOperation.stationNumber.required=Le numéro de station est obligatoire
tutti.validator.error.fishingOperation.stationNumber.too.long=Valeur trop longue (limitée à %s caractères)
1
0
03 Feb '13
Author: tchemit
Date: 2013-02-03 14:06:27 +0100 (Sun, 03 Feb 2013)
New Revision: 308
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/308
Log:
reformat code + optimize imports
Modified:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiCsvUtil.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiBeanUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ChangeScreenAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseCatchesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProgramAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProtocolAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiScreen.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUI.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ValidateSelectedCruiseCatchesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/SaveCruiseAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCatchesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/CancelEditFishingOperationAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SaveFishingOperationAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SampleCategoryType.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/FrequencyCellComponent.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicTabUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicTabUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/SaveProgramAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SaveProtocolAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiTabContainerUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/ActionListCellRenderer.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CustomTab.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SwingValidatorMessageWidget.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TabHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/AttachmentCellComponent.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CoordinateEditorType.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/LongTextCellComponent.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIModel.java
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiCsvUtil.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiCsvUtil.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiCsvUtil.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -28,7 +28,6 @@
import org.apache.commons.lang3.StringUtils;
import org.nuiton.util.csv.ValueParserFormatter;
import org.nuiton.util.csv.ext.AbstractImportExportModel;
-import org.nuiton.util.csv.ext.AbstractImportModel;
import java.text.ParseException;
import java.util.Map;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiAction.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiAction.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -129,7 +129,7 @@
doAction(event);
} catch (Throwable e) {
if (log.isErrorEnabled()) {
- log.error("Error:"+e.getMessage(),e);
+ log.error("Error:" + e.getMessage(), e);
}
if (e instanceof Exception) {
ErrorDialogUI.showError((Exception) e);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiBeanUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiBeanUIModel.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiBeanUIModel.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -95,11 +95,11 @@
this.id = id;
firePropertyChange(PROPERTY_ID, oldValue, id);
}
-
+
public String getTitle() {
return null;
}
-
+
public String getIcon() {
return null;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ChangeScreenAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ChangeScreenAction.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ChangeScreenAction.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -29,18 +29,18 @@
/**
* Abstract action defining actions which sets the screen of the application.
- *
+ *
* @author kmorin <kmorin(a)codelutin.com>
* @since 1.0
*/
public abstract class ChangeScreenAction extends AbstractTuttiAction<TuttiUIContext, MainUIHandler> {
protected ChangeScreenAction(MainUIHandler handler,
- String name,
- String icon,
- String text,
- String tip,
- boolean hideBody) {
+ String name,
+ String icon,
+ String text,
+ String tip,
+ boolean hideBody) {
super(handler, name, icon, text, tip, hideBody);
}
@@ -50,10 +50,8 @@
result &= getHandler().getCurrentHandler().canCloseUI(getNextScreen());
return result;
}
-
- /**
- * @return the next screen to display.
- */
+
+ /** @return the next screen to display. */
protected abstract TuttiScreen getNextScreen();
-
+
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseCatchesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseCatchesAction.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseCatchesAction.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -63,5 +63,5 @@
protected TuttiScreen getNextScreen() {
return TuttiScreen.EDIT_FISHING_OPERATION;
}
-
+
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProgramAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProgramAction.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProgramAction.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -68,5 +68,5 @@
protected TuttiScreen getNextScreen() {
return TuttiScreen.EDIT_PROGRAM;
}
-
+
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProtocolAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProtocolAction.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProtocolAction.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -69,5 +69,5 @@
protected TuttiScreen getNextScreen() {
return TuttiScreen.EDIT_PROTOCOL;
}
-
+
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx 2013-02-03 13:06:27 UTC (rev 308)
@@ -40,11 +40,15 @@
initializer='getContextValue(MainUIHandler.class)'/>
<SelectCruiseAction id='selectCruiseAction' constructorParams='handler'/>
- <EditSelectedProtocolAction id='editProtocolAction' constructorParams='handler'/>
- <EditSelectedProgramAction id='editProgramAction' constructorParams='handler'/>
+ <EditSelectedProtocolAction id='editProtocolAction'
+ constructorParams='handler'/>
+ <EditSelectedProgramAction id='editProgramAction'
+ constructorParams='handler'/>
<EditSelectedCruiseAction id='editCruiseAction' constructorParams='handler'/>
- <EditSelectedCruiseCatchesAction id='editCatchesAction' constructorParams='handler'/>
- <ValidateSelectedCruiseCatchesAction id='validateCatchesAction' constructorParams='handler'/>
+ <EditSelectedCruiseCatchesAction id='editCatchesAction'
+ constructorParams='handler'/>
+ <ValidateSelectedCruiseCatchesAction id='validateCatchesAction'
+ constructorParams='handler'/>
<script><![CDATA[
@@ -109,7 +113,7 @@
<JToolBar id='bottomBar'>
<SwingValidatorMessageWidget id='validatorMessageWidget'/>
</JToolBar>
-
+
<JXTitledPanel id='body' constraints='BorderLayout.CENTER'/>
<!-- status message bar -->
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -142,7 +142,7 @@
public SwingValidator<TuttiUIContext> getValidator() {
return null;
}
-
+
//------------------------------------------------------------------------//
//-- Public methods --//
//------------------------------------------------------------------------//
@@ -278,7 +278,7 @@
TuttiUI<?, ?> body = (TuttiUI<?, ?>) currentBody;
return body.getHandler();
}
-
+
//------------------------------------------------------------------------//
//-- Internal methods --//
//------------------------------------------------------------------------//
@@ -291,7 +291,7 @@
if (currentBody != null) {
TuttiUI<?, ?> body = (TuttiUI<?, ?>) currentBody;
body.getHandler().onCloseUI();
-
+
context.getSwingSession().save();
ui.getBody().remove(currentBody);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiScreen.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiScreen.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiScreen.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -59,7 +59,7 @@
* @since 0.1
*/
EDIT_PROTOCOL,
-
+
/**
* To clone a protocol.
*
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUI.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUI.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUI.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -58,7 +58,7 @@
* @since 1.0
*/
public static final String SIGNED_INT_2_DIGITS_PATTERN = "-?\\d{0,2}";
-
+
/**
* Pattern to use for short numeric values in editors with max 3 digits.
*
@@ -117,7 +117,7 @@
* @since 0.1
*/
public static final String DECIMAL3_PATTERN = "\\d{0,6}|\\d{1,6}.\\d{0,3}";
-
+
/**
* Pattern to use for decimal numeric values with 2 digits + 3 decimal digits in
* editors.
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ValidateSelectedCruiseCatchesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ValidateSelectedCruiseCatchesAction.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ValidateSelectedCruiseCatchesAction.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -57,7 +57,7 @@
getContext().setScreen(null);
getContext().setScreen(getNextScreen());
}
-
+
@Override
protected TuttiScreen getNextScreen() {
return TuttiScreen.EDIT_FISHING_OPERATION;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -140,14 +140,14 @@
new Color(192, 192, 192).toString(),
Color.class
),
-
+
COLOR_ROW_INVALID(
"tutti.ui.color.rowInvalid",
n_("tutti.option.ui.color.rowInvalid.description"),
new Color(255, 128, 128).toString(),
Color.class
),
-
+
COLOR_CELL_WITH_VALUE(
"tutti.ui.color.cellWithValue",
n_("tutti.option.ui.color.cellWithValue.description"),
@@ -168,7 +168,7 @@
CoordinateEditorType.DD.toString(),
CoordinateEditorType.class
),
-
+
DATE_FORMAT(
"tutti.ui.dateFormat",
n_("tutti.option.ui.dateFormat.description"),
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -102,7 +102,7 @@
.addOption(TuttiApplicationConfigOption.UI_CONFIG_FILE);
// UI
-
+
helper.addCategory(n_("tutti.config.category.ui"),
n_("tutti.config.category.ui.description"),
CALLBACK_UI)
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx 2013-02-03 13:06:27 UTC (rev 308)
@@ -75,7 +75,8 @@
initializer='getContextValue(EditCruiseUIModel.class)'/>
<SaveCruiseAction id='saveCruiseAction' constructorParams='handler'/>
- <CancelEditCruiseAction id='cancelEditCruiseAction' constructorParams='handler'/>
+ <CancelEditCruiseAction id='cancelEditCruiseAction'
+ constructorParams='handler'/>
<SwingValidatorMessageTableModel id='errorTableModel'/>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -35,7 +35,6 @@
import fr.ifremer.tutti.ui.swing.MainUI;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.TuttiUI;
-import java.awt.event.ActionEvent;
import jaxx.runtime.JAXXUtil;
import jaxx.runtime.context.JAXXContextEntryDef;
import jaxx.runtime.validator.swing.SwingValidator;
@@ -43,10 +42,11 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import javax.swing.JOptionPane;
+import java.awt.event.ActionEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.List;
-import javax.swing.JOptionPane;
/**
* Handler of UI {@link EditCruiseUI}.
@@ -266,7 +266,7 @@
MainUI main = ui.getContextValue(MainUI.class, MainUI.class.getName());
main.clearValidators();
}
-
+
@Override
public boolean canCloseUI(TuttiScreen nextScreen) {
boolean result = true;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/SaveCruiseAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/SaveCruiseAction.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/SaveCruiseAction.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -37,7 +37,7 @@
/**
* Saves a cruise
- *
+ *
* @author kmorin <kmorin(a)codelutin.com>
* @since 1.0
*/
@@ -58,7 +58,8 @@
/**
* If the event source is a TuttiScreen, then the screen changes to the source.
* Otherwise, the screen changes to the home.
- * @param event
+ *
+ * @param event
*/
@Override
protected void doAction(ActionEvent event) {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCatchesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCatchesAction.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCatchesAction.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -30,7 +30,6 @@
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import java.awt.event.ActionEvent;
-import org.apache.commons.logging.LogFactory;
import static org.nuiton.i18n.I18n._;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx 2013-02-03 13:06:27 UTC (rev 308)
@@ -81,7 +81,8 @@
<DeleteProtocolAction id='deleteProtocolAction' constructorParams='handler'/>
<EditCatchesAction id='editCatchesAction' constructorParams='handler'/>
- <ValidateCatchesAction id='validateCatchesAction' constructorParams='handler'/>
+ <ValidateCatchesAction id='validateCatchesAction'
+ constructorParams='handler'/>
<BeanValidator id='validator' bean='model' errorTableModel='errorTableModel'
uiClass='jaxx.runtime.validator.swing.ui.ImageValidationUI'>
@@ -102,9 +103,9 @@
<cell>
<JPanel layout='{new GridLayout(1,0)}'>
<JButton id='editProgramButton'/>
- <!--onActionPerformed='handler.showSelectedProgram()'/>-->
+ <!--onActionPerformed='handler.showSelectedProgram()'/>-->
<JButton id='newProgramButton'/>
- <!--onActionPerformed='handler.showNewProgram()'/>-->
+ <!--onActionPerformed='handler.showNewProgram()'/>-->
</JPanel>
</cell>
</row>
@@ -119,9 +120,9 @@
<cell>
<JPanel layout='{new GridLayout(1,0)}'>
<JButton id='editCruiseButton'/>
- <!--onActionPerformed='handler.showSelectedCruise()'/>-->
+ <!--onActionPerformed='handler.showSelectedCruise()'/>-->
<JButton id='newCruiseButton'/>
- <!--onActionPerformed='handler.showNewCruise()'/>-->
+ <!--onActionPerformed='handler.showNewCruise()'/>-->
</JPanel>
</cell>
</row>
@@ -148,9 +149,9 @@
<cell columns='3'>
<JPanel layout='{new GridLayout(1,0)}'>
<JButton id='editCatchesButton'/>
- <!--onActionPerformed='handler.showFillCatches()'/>-->
+ <!--onActionPerformed='handler.showFillCatches()'/>-->
<JButton id='validateCatchesButton'/>
- <!--onActionPerformed='handler.showValidateCatches()'/>-->
+ <!--onActionPerformed='handler.showValidateCatches()'/>-->
</JPanel>
</cell>
</row>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/CancelEditFishingOperationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/CancelEditFishingOperationAction.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/CancelEditFishingOperationAction.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -26,15 +26,16 @@
*/
import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
-import java.awt.event.ActionEvent;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import java.awt.event.ActionEvent;
+
import static org.nuiton.i18n.I18n._;
/**
* Cancels the edition of a fishing operation and potentially switch to another tab.
- *
+ *
* @author kmorin <kmorin(a)codelutin.com>
* @since 1.0
*/
@@ -54,14 +55,14 @@
false
);
}
-
+
/**
* If the event source is an EditFishingOperationUIHandler,
- * then the tab panel of the parent switch to the index set
+ * then the tab panel of the parent switch to the index set
* in the ID param of the event.
- *
+ *
* @param event
- * @throws Exception
+ * @throws Exception
*/
@Override
protected void doAction(ActionEvent event) throws Exception {
@@ -76,9 +77,9 @@
} else {
parentHandler.reloadFishingOperation();
}
- if (event.getSource() != null
- && event.getSource().getClass().isAssignableFrom(EditFishingOperationUIHandler.class)) {
-
+ if (event.getSource() != null
+ && event.getSource().getClass().isAssignableFrom(EditFishingOperationUIHandler.class)) {
+
int newIndex = event.getID();
parentHandler.getTabPanel().setSelectedIndex(newIndex);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx 2013-02-03 13:06:27 UTC (rev 308)
@@ -30,7 +30,7 @@
fr.ifremer.tutti.persistence.entities.referential.Gear
fr.ifremer.tutti.persistence.entities.referential.Person
fr.ifremer.tutti.persistence.entities.referential.Vessel
-
+
fr.ifremer.tutti.ui.swing.content.operation.fishing.environment.EnvironmentTabUI
fr.ifremer.tutti.ui.swing.content.operation.fishing.gearshooting.GearShootingTabUI
fr.ifremer.tutti.ui.swing.content.operation.fishing.hydrology.HydrologyTabUI
@@ -77,11 +77,13 @@
<EditFishingOperationUIModel id='model'
initializer='getContextValue(EditFishingOperationUIModel.class)'/>
-
- <SaveFishingOperationAction id='saveFishingOperationAction' constructorParams='handler'/>
-
- <CancelEditFishingOperationAction id='cancelFishingOperationAction' constructorParams='handler'/>
+ <SaveFishingOperationAction id='saveFishingOperationAction'
+ constructorParams='handler'/>
+
+ <CancelEditFishingOperationAction id='cancelFishingOperationAction'
+ constructorParams='handler'/>
+
<SwingValidatorMessageTableModel id='errorTableModel'/>
<BeanValidator id='validator' context='validate' bean='model'
@@ -161,347 +163,351 @@
<JTabbedPane id='fishingOperationTabPane' constraints='BorderLayout.CENTER'>
<tab id='traitGeneralTab'>
-<!-- <JScrollPane id='fishingOperationTabScrollPane'>-->
- <Table fill='both' id='generalForm'>
+ <!-- <JScrollPane id='fishingOperationTabScrollPane'>-->
+ <Table fill='both' id='generalForm'>
- <!-- Numero station / Numéro trait / Numéro de poche -->
- <row>
- <cell>
- <JLabel id='stationNumberLabel'/>
- </cell>
- <cell weightx='0.3'>
- <JTextField id='stationNumberField'
- onKeyReleased='handler.setText(event, "stationNumber")'/>
- </cell>
- <cell>
- <JLabel id='fishingOperationNumberLabel'/>
- </cell>
- <cell weightx='0.3'>
- <NumberEditor id='fishingOperationNumberField'
- constructorParams='this'/>
- </cell>
- <cell>
- <JLabel id='multirigAggregationLabel'/>
- </cell>
- <cell weightx='0.3'>
- <JTextField id='multirigAggregationField'
- onKeyReleased='handler.setText(event, "multirigAggregation")'/>
- </cell>
- </row>
+ <!-- Numero station / Numéro trait / Numéro de poche -->
+ <row>
+ <cell>
+ <JLabel id='stationNumberLabel'/>
+ </cell>
+ <cell weightx='0.3'>
+ <JTextField id='stationNumberField'
+ onKeyReleased='handler.setText(event, "stationNumber")'/>
+ </cell>
+ <cell>
+ <JLabel id='fishingOperationNumberLabel'/>
+ </cell>
+ <cell weightx='0.3'>
+ <NumberEditor id='fishingOperationNumberField'
+ constructorParams='this'/>
+ </cell>
+ <cell>
+ <JLabel id='multirigAggregationLabel'/>
+ </cell>
+ <cell weightx='0.3'>
+ <JTextField id='multirigAggregationField'
+ onKeyReleased='handler.setText(event, "multirigAggregation")'/>
+ </cell>
+ </row>
- <!-- Strate d'association / Sous Strate / Localité -->
- <row>
- <cell>
- <JLabel id='strataLabel'/>
- </cell>
- <cell weightx='0.3'>
- <BeanComboBox id='strataComboBox' constructorParams='this'
- genericType='FishingOperationLocation'/>
- </cell>
- <cell>
- <JLabel id='subStrataLabel'/>
- </cell>
- <cell weightx='0.3'>
- <BeanComboBox id='subStrataComboBox' constructorParams='this'
- genericType='FishingOperationLocation'/>
- </cell>
- <cell>
- <JLabel id='locationLabel'/>
- </cell>
- <cell weightx='0.3'>
- <BeanComboBox id='locationComboBox' constructorParams='this'
- genericType='FishingOperationLocation'/>
- </cell>
- </row>
+ <!-- Strate d'association / Sous Strate / Localité -->
+ <row>
+ <cell>
+ <JLabel id='strataLabel'/>
+ </cell>
+ <cell weightx='0.3'>
+ <BeanComboBox id='strataComboBox' constructorParams='this'
+ genericType='FishingOperationLocation'/>
+ </cell>
+ <cell>
+ <JLabel id='subStrataLabel'/>
+ </cell>
+ <cell weightx='0.3'>
+ <BeanComboBox id='subStrataComboBox' constructorParams='this'
+ genericType='FishingOperationLocation'/>
+ </cell>
+ <cell>
+ <JLabel id='locationLabel'/>
+ </cell>
+ <cell weightx='0.3'>
+ <BeanComboBox id='locationComboBox' constructorParams='this'
+ genericType='FishingOperationLocation'/>
+ </cell>
+ </row>
- <!-- début de traine long-lat-date-heure
- fin de traine long-lat-date-heure -->
- <row>
- <cell columns='6'>
- <JPanel layout="{new BorderLayout()}">
- <Table id="gearCaracteristicsTable" fill="both" weightx='1'
- constraints='BorderLayout.CENTER'>
- <row>
- <cell>
- <JPanel/>
- </cell>
- <cell>
- <JLabel id='gearLatitudeLabel'/>
- </cell>
- <cell>
- <JLabel id='gearLongitudeLabel'/>
- </cell>
- <cell>
- <JLabel id='gearDateLabel'/>
- </cell>
- <cell>
- <JLabel id='gearTimeLabel'/>
- </cell>
- </row>
+ <!-- début de traine long-lat-date-heure
+ fin de traine long-lat-date-heure -->
+ <row>
+ <cell columns='6'>
+ <JPanel layout="{new BorderLayout()}">
+ <Table id="gearCaracteristicsTable" fill="both" weightx='1'
+ constraints='BorderLayout.CENTER'>
+ <row>
+ <cell>
+ <JPanel/>
+ </cell>
+ <cell>
+ <JLabel id='gearLatitudeLabel'/>
+ </cell>
+ <cell>
+ <JLabel id='gearLongitudeLabel'/>
+ </cell>
+ <cell>
+ <JLabel id='gearDateLabel'/>
+ </cell>
+ <cell>
+ <JLabel id='gearTimeLabel'/>
+ </cell>
+ </row>
- <row>
- <cell>
- <JLabel id='gearShootingStartLabel'/>
- </cell>
- <cell weightx='1'>
- <JPanel id='gearShootingStartLatitudePanel'>
- <NumberEditor id='gearShootingStartLatitudeDDField'
- constraints='"DD"'
- constructorParams='this'/>
- <JPanel layout="{new GridLayout(1,0)}"
- constraints='"DMS"'>
- <NumberEditor
- id='gearShootingStartLatitudeDMSDegreeField'
- constructorParams='this' styleClass='degree'/>
+ <row>
+ <cell>
+ <JLabel id='gearShootingStartLabel'/>
+ </cell>
+ <cell weightx='1'>
+ <JPanel id='gearShootingStartLatitudePanel'>
+ <NumberEditor id='gearShootingStartLatitudeDDField'
+ constraints='"DD"'
+ constructorParams='this'/>
+ <JPanel layout="{new GridLayout(1,0)}"
+ constraints='"DMS"'>
+ <NumberEditor
+ id='gearShootingStartLatitudeDMSDegreeField'
+ constructorParams='this' styleClass='degree'/>
- <NumberEditor
- id='gearShootingStartLatitudeDMSMinuteField'
- constructorParams='this' styleClass='minute'/>
+ <NumberEditor
+ id='gearShootingStartLatitudeDMSMinuteField'
+ constructorParams='this' styleClass='minute'/>
- <NumberEditor
- id='gearShootingStartLatitudeDMSSecondField'
- constructorParams='this' styleClass='second'/>
- </JPanel>
- <JPanel layout="{new GridLayout(1,0)}"
- constraints='"DMD"'>
- <NumberEditor
- id='gearShootingStartLatitudeDMDDegreeField'
- constructorParams='this' styleClass='degree'/>
+ <NumberEditor
+ id='gearShootingStartLatitudeDMSSecondField'
+ constructorParams='this' styleClass='second'/>
+ </JPanel>
+ <JPanel layout="{new GridLayout(1,0)}"
+ constraints='"DMD"'>
+ <NumberEditor
+ id='gearShootingStartLatitudeDMDDegreeField'
+ constructorParams='this' styleClass='degree'/>
- <NumberEditor
- id='gearShootingStartLatitudeDMDMinuteField'
- constructorParams='this' styleClass='decimalMinute'/>
- </JPanel>
+ <NumberEditor
+ id='gearShootingStartLatitudeDMDMinuteField'
+ constructorParams='this'
+ styleClass='decimalMinute'/>
</JPanel>
- </cell>
- <cell weightx='1'>
- <JPanel id='gearShootingStartLongitudePanel'>
- <NumberEditor id='gearShootingStartLongitudeDDField'
- constraints='"DD"'
- constructorParams='this'/>
- <JPanel layout="{new GridLayout(1,0)}"
- constraints='"DMS"'>
- <NumberEditor
- id='gearShootingStartLongitudeDMSDegreeField'
- constructorParams='this' styleClass='degree'/>
+ </JPanel>
+ </cell>
+ <cell weightx='1'>
+ <JPanel id='gearShootingStartLongitudePanel'>
+ <NumberEditor id='gearShootingStartLongitudeDDField'
+ constraints='"DD"'
+ constructorParams='this'/>
+ <JPanel layout="{new GridLayout(1,0)}"
+ constraints='"DMS"'>
+ <NumberEditor
+ id='gearShootingStartLongitudeDMSDegreeField'
+ constructorParams='this' styleClass='degree'/>
- <NumberEditor
- id='gearShootingStartLongitudeDMSMinuteField'
- constructorParams='this' styleClass='minute'/>
+ <NumberEditor
+ id='gearShootingStartLongitudeDMSMinuteField'
+ constructorParams='this' styleClass='minute'/>
- <NumberEditor
- id='gearShootingStartLongitudeDMSSecondField'
- constructorParams='this' styleClass='second'/>
- </JPanel>
- <JPanel layout="{new GridLayout(1,0)}"
- constraints='"DMD"'>
- <NumberEditor
- id='gearShootingStartLongitudeDMDDegreeField'
- constructorParams='this' styleClass='degree'/>
+ <NumberEditor
+ id='gearShootingStartLongitudeDMSSecondField'
+ constructorParams='this' styleClass='second'/>
+ </JPanel>
+ <JPanel layout="{new GridLayout(1,0)}"
+ constraints='"DMD"'>
+ <NumberEditor
+ id='gearShootingStartLongitudeDMDDegreeField'
+ constructorParams='this' styleClass='degree'/>
- <NumberEditor
- id='gearShootingStartLongitudeDMDMinuteField'
- constructorParams='this' styleClass='decimalMinute'/>
- </JPanel>
+ <NumberEditor
+ id='gearShootingStartLongitudeDMDMinuteField'
+ constructorParams='this'
+ styleClass='decimalMinute'/>
</JPanel>
- </cell>
- <cell>
- <JXDatePicker id='gearShootingStartDateField'
- onActionPerformed='handler.setDate(event, "gearShootingStartDate")'/>
- </cell>
- <cell>
- <SimpleTimeEditor id='gearShootingStartTimeField'
- constructorParams='this'/>
- </cell>
- </row>
- <row>
- <cell>
- <JLabel id='gearShootingEndLabel'/>
- </cell>
- <cell weightx='1'>
- <JPanel id='gearShootingEndLatitudePanel'>
- <NumberEditor id='gearShootingEndLatitudeDDField'
- constraints='"DD"'
+ </JPanel>
+ </cell>
+ <cell>
+ <JXDatePicker id='gearShootingStartDateField'
+ onActionPerformed='handler.setDate(event, "gearShootingStartDate")'/>
+ </cell>
+ <cell>
+ <SimpleTimeEditor id='gearShootingStartTimeField'
constructorParams='this'/>
- <JPanel layout="{new GridLayout(1,0)}"
- constraints='"DMS"'>
- <NumberEditor
- id='gearShootingEndLatitudeDMSDegreeField'
- constructorParams='this' styleClass='degree'/>
+ </cell>
+ </row>
+ <row>
+ <cell>
+ <JLabel id='gearShootingEndLabel'/>
+ </cell>
+ <cell weightx='1'>
+ <JPanel id='gearShootingEndLatitudePanel'>
+ <NumberEditor id='gearShootingEndLatitudeDDField'
+ constraints='"DD"'
+ constructorParams='this'/>
+ <JPanel layout="{new GridLayout(1,0)}"
+ constraints='"DMS"'>
+ <NumberEditor
+ id='gearShootingEndLatitudeDMSDegreeField'
+ constructorParams='this' styleClass='degree'/>
- <NumberEditor
- id='gearShootingEndLatitudeDMSMinuteField'
- constructorParams='this' styleClass='minute'/>
+ <NumberEditor
+ id='gearShootingEndLatitudeDMSMinuteField'
+ constructorParams='this' styleClass='minute'/>
- <NumberEditor
- id='gearShootingEndLatitudeDMSSecondField'
- constructorParams='this' styleClass='second'/>
- </JPanel>
- <JPanel layout="{new GridLayout(1,0)}"
- constraints='"DMD"'>
- <NumberEditor
- id='gearShootingEndLatitudeDMDDegreeField'
- constructorParams='this' styleClass='degree'/>
+ <NumberEditor
+ id='gearShootingEndLatitudeDMSSecondField'
+ constructorParams='this' styleClass='second'/>
+ </JPanel>
+ <JPanel layout="{new GridLayout(1,0)}"
+ constraints='"DMD"'>
+ <NumberEditor
+ id='gearShootingEndLatitudeDMDDegreeField'
+ constructorParams='this' styleClass='degree'/>
- <NumberEditor
- id='gearShootingEndLatitudeDMDMinuteField'
- constructorParams='this' styleClass='decimalMinute'/>
- </JPanel>
+ <NumberEditor
+ id='gearShootingEndLatitudeDMDMinuteField'
+ constructorParams='this'
+ styleClass='decimalMinute'/>
</JPanel>
- </cell>
- <cell weightx='1'>
- <JPanel id='gearShootingEndLongitudePanel'>
- <NumberEditor id='gearShootingEndLongitudeDDField'
- constraints='"DD"'
- constructorParams='this'/>
- <JPanel layout="{new GridLayout(1,0)}"
- constraints='"DMS"'>
- <NumberEditor
- id='gearShootingEndLongitudeDMSDegreeField'
- constructorParams='this' styleClass='degree'/>
+ </JPanel>
+ </cell>
+ <cell weightx='1'>
+ <JPanel id='gearShootingEndLongitudePanel'>
+ <NumberEditor id='gearShootingEndLongitudeDDField'
+ constraints='"DD"'
+ constructorParams='this'/>
+ <JPanel layout="{new GridLayout(1,0)}"
+ constraints='"DMS"'>
+ <NumberEditor
+ id='gearShootingEndLongitudeDMSDegreeField'
+ constructorParams='this' styleClass='degree'/>
- <NumberEditor
- id='gearShootingEndLongitudeDMSMinuteField'
- constructorParams='this' styleClass='minute'/>
+ <NumberEditor
+ id='gearShootingEndLongitudeDMSMinuteField'
+ constructorParams='this' styleClass='minute'/>
- <NumberEditor
- id='gearShootingEndLongitudeDMSSecondField'
- constructorParams='this' styleClass='second'/>
- </JPanel>
- <JPanel layout="{new GridLayout(1,0)}"
- constraints='"DMD"'>
- <NumberEditor
- id='gearShootingEndLongitudeDMDDegreeField'
- constructorParams='this' styleClass='degree'/>
+ <NumberEditor
+ id='gearShootingEndLongitudeDMSSecondField'
+ constructorParams='this' styleClass='second'/>
+ </JPanel>
+ <JPanel layout="{new GridLayout(1,0)}"
+ constraints='"DMD"'>
+ <NumberEditor
+ id='gearShootingEndLongitudeDMDDegreeField'
+ constructorParams='this' styleClass='degree'/>
- <NumberEditor
- id='gearShootingEndLongitudeDMDMinuteField'
- constructorParams='this' styleClass='decimalMinute'/>
- </JPanel>
+ <NumberEditor
+ id='gearShootingEndLongitudeDMDMinuteField'
+ constructorParams='this'
+ styleClass='decimalMinute'/>
</JPanel>
- </cell>
- <cell>
- <JXDatePicker id='gearShootingEndDateField'
- onActionPerformed='handler.setDate(event, "gearShootingEndDate")'/>
- </cell>
- <cell>
- <SimpleTimeEditor id='gearShootingEndTimeField'
- constructorParams='this'/>
- </cell>
- </row>
-
- <!-- FishingOperation rectiligne / distance chalutee / durée -->
- <row>
- <cell>
- <JLabel/>
- </cell>
- <cell>
- <JCheckBox id='fishingOperationRectiligneCheckBox'
- onItemStateChanged='handler.setBoolean(event, "fishingOperationRectiligne")'/>
- </cell>
- <cell>
- <JPanel layout="{new BorderLayout()}">
- <JLabel id='trawlDistanceLabel'
- constraints='BorderLayout.WEST'/>
- <NumberEditor id='trawlDistanceField'
- constraints='BorderLayout.CENTER'
+ </JPanel>
+ </cell>
+ <cell>
+ <JXDatePicker id='gearShootingEndDateField'
+ onActionPerformed='handler.setDate(event, "gearShootingEndDate")'/>
+ </cell>
+ <cell>
+ <SimpleTimeEditor id='gearShootingEndTimeField'
constructorParams='this'/>
- </JPanel>
- </cell>
- <cell>
- <JLabel/>
- </cell>
- <cell>
- <JPanel layout="{new BorderLayout()}">
- <JLabel id='durationLabel'
- constraints='BorderLayout.WEST'/>
- <JTextField id='durationField'
- constraints='BorderLayout.CENTER'/>
- </JPanel>
- </cell>
- </row>
+ </cell>
+ </row>
- <!-- Fishing operation valid / invalid-->
- <row>
- <cell>
- <JToolBar id='fishingOperationValidPanel'
- layout='{new BorderLayout()}'>
- <JButton id='resetValidStateButton'
- constraints='BorderLayout.WEST'
- onActionPerformed="model.setFishingOperationValid(null)"/>
- <JRadioButton id='fishingOperationResetRadio'
- constraints='BorderLayout.EAST'/>
- </JToolBar>
- </cell>
- <cell>
- <HBox>
- <JRadioButton id='fishingOperationValidRadio'
- onActionPerformed='model.setFishingOperationValid(Boolean.TRUE)'/>
- <JRadioButton id='fishingOperationInvalidRadio'
- onActionPerformed='model.setFishingOperationValid(Boolean.FALSE)'/>
- </HBox>
- </cell>
- <cell columns="4">
- <JPanel/>
- </cell>
- </row>
- </Table>
- </JPanel>
- </cell>
- </row>
+ <!-- FishingOperation rectiligne / distance chalutee / durée -->
+ <row>
+ <cell>
+ <JLabel/>
+ </cell>
+ <cell>
+ <JCheckBox id='fishingOperationRectiligneCheckBox'
+ onItemStateChanged='handler.setBoolean(event, "fishingOperationRectiligne")'/>
+ </cell>
+ <cell>
+ <JPanel layout="{new BorderLayout()}">
+ <JLabel id='trawlDistanceLabel'
+ constraints='BorderLayout.WEST'/>
+ <NumberEditor id='trawlDistanceField'
+ constraints='BorderLayout.CENTER'
+ constructorParams='this'/>
+ </JPanel>
+ </cell>
+ <cell>
+ <JLabel/>
+ </cell>
+ <cell>
+ <JPanel layout="{new BorderLayout()}">
+ <JLabel id='durationLabel'
+ constraints='BorderLayout.WEST'/>
+ <JTextField id='durationField'
+ constraints='BorderLayout.CENTER'/>
+ </JPanel>
+ </cell>
+ </row>
- <!-- Actions d'import -->
- <row>
- <cell columns='6'>
- <JPanel layout='{new GridLayout(1,0)}'>
- <JButton id='importCasinoButton'
- onActionPerformed='handler.importCasino()'/>
- </JPanel>
- </cell>
- </row>
+ <!-- Fishing operation valid / invalid-->
+ <row>
+ <cell>
+ <JToolBar id='fishingOperationValidPanel'
+ layout='{new BorderLayout()}'>
+ <JButton id='resetValidStateButton'
+ constraints='BorderLayout.WEST'
+ onActionPerformed="model.setFishingOperationValid(null)"/>
+ <JRadioButton id='fishingOperationResetRadio'
+ constraints='BorderLayout.EAST'/>
+ </JToolBar>
+ </cell>
+ <cell>
+ <HBox>
+ <JRadioButton id='fishingOperationValidRadio'
+ onActionPerformed='model.setFishingOperationValid(Boolean.TRUE)'/>
+ <JRadioButton id='fishingOperationInvalidRadio'
+ onActionPerformed='model.setFishingOperationValid(Boolean.FALSE)'/>
+ </HBox>
+ </cell>
+ <cell columns="4">
+ <JPanel/>
+ </cell>
+ </row>
+ </Table>
+ </JPanel>
+ </cell>
+ </row>
- <!-- Saisisseur -->
- <row weighty='0.2'>
- <cell columns='6'>
- <JPanel layout='{new GridLayout(1,0)}'>
- <BeanDoubleList id='saisisseurList' genericType='Person'/>
- <Table fill="both" weightx='1' id='traitVesselPanel'>
- <row>
- <cell anchor='west'>
- <JLabel id='vesselLabel'/>
- </cell>
- <cell weightx="1.0" fill="both">
- <BeanComboBox id='vesselComboBox'
- constructorParams='this'
- genericType='Vessel'/>
- </cell>
- </row>
- <row>
- <cell anchor='west'>
- <JLabel id='gearLabel'/>
- </cell>
- <cell>
- <BeanComboBox id='gearComboBox'
- constructorParams='this'
- genericType='Gear'/>
- </cell>
- </row>
- </Table>
- </JPanel>
- </cell>
- </row>
+ <!-- Actions d'import -->
+ <row>
+ <cell columns='6'>
+ <JPanel layout='{new GridLayout(1,0)}'>
+ <JButton id='importCasinoButton'
+ onActionPerformed='handler.importCasino()'/>
+ </JPanel>
+ </cell>
+ </row>
- <!-- Commentaire -->
- <row weighty='0.8'>
- <cell columns='6'>
- <JScrollPane id='commentPane'
- onFocusGained='commentField.requestFocus()'>
- <JTextArea id='commentField'
- onKeyReleased='handler.setText(event, "comment")'/>
- </JScrollPane>
- </cell>
- </row>
- </Table>
+ <!-- Saisisseur -->
+ <row weighty='0.2'>
+ <cell columns='6'>
+ <JPanel layout='{new GridLayout(1,0)}'>
+ <BeanDoubleList id='saisisseurList' genericType='Person'/>
+ <Table fill="both" weightx='1' id='traitVesselPanel'>
+ <row>
+ <cell anchor='west'>
+ <JLabel id='vesselLabel'/>
+ </cell>
+ <cell weightx="1.0" fill="both">
+ <BeanComboBox id='vesselComboBox'
+ constructorParams='this'
+ genericType='Vessel'/>
+ </cell>
+ </row>
+ <row>
+ <cell anchor='west'>
+ <JLabel id='gearLabel'/>
+ </cell>
+ <cell>
+ <BeanComboBox id='gearComboBox'
+ constructorParams='this'
+ genericType='Gear'/>
+ </cell>
+ </row>
+ </Table>
+ </JPanel>
+ </cell>
+ </row>
+
+ <!-- Commentaire -->
+ <row weighty='0.8'>
+ <cell columns='6'>
+ <JScrollPane id='commentPane'
+ onFocusGained='commentField.requestFocus()'>
+ <JTextArea id='commentField'
+ onKeyReleased='handler.setText(event, "comment")'/>
+ </JScrollPane>
+ </cell>
+ </row>
+ </Table>
<!--</JScrollPane>-->
</tab>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -53,6 +53,7 @@
import fr.ifremer.tutti.ui.swing.util.TabHandler;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -68,7 +69,6 @@
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.List;
-import jaxx.runtime.validator.swing.SwingValidator;
/**
* Handler for UI {@link EditFishingOperationUI}.
@@ -166,7 +166,7 @@
onSelectedSubStrata(source, newStrata);
}
});
-
+
model.addPropertyChangeListener(EditFishingOperationUIModel.PROPERTY_FISHING_OPERATION_RECTILIGNE, new PropertyChangeListener() {
@Override
@@ -178,9 +178,9 @@
Float longS = source.getGearShootingStartLongitude();
Float latE = source.getGearShootingEndLatitude();
Float longE = source.getGearShootingEndLongitude();
-
- if (latS != null && longS != null
- && latE != null && longE != null) {
+
+ if (latS != null && longS != null
+ && latE != null && longE != null) {
LatLng start = new LatLng(latS, longS);
LatLng end = new LatLng(latE, longE);
Double distance = LatLngTool.distance(start, end, LengthUnit.KILOMETER);
@@ -189,7 +189,7 @@
}
}
});
-
+
model.addPropertyChangeListener(EditFishingOperationUIModel.PROPERTY_FISHING_OPERATION_VALID, new PropertyChangeListener() {
@Override
@@ -199,7 +199,7 @@
Color fontColor = Color.BLACK;
if (valid == Boolean.TRUE) {
color = Color.GREEN;
-
+
} else if (valid == Boolean.FALSE) {
color = Color.RED;
fontColor = Color.WHITE;
@@ -249,7 +249,7 @@
Preconditions.checkNotNull(cruise,
"Could not find cruise in ui context");
ui.getMultirigAggregationField().setEnabled(cruise.getMultirigNumber() != 1);
-
+
Program program = TuttiUIUtil.getProgram(ui);
Preconditions.checkNotNull(program,
"Could not find program in ui context");
@@ -288,7 +288,7 @@
setCustomTab(0, model);
listModelIsModify(model);
-
+
//init gear shooting
GearShootingTabUIModel gearShootingModel =
ui.getGearShootingTabContent().getModel();
@@ -406,7 +406,7 @@
public SwingValidator<EditFishingOperationUIModel> getValidator() {
return ui.getValidator();
}
-
+
//------------------------------------------------------------------------//
//-- Public methods --//
//------------------------------------------------------------------------//
@@ -477,7 +477,7 @@
// update saisissuer selection
List<Person> saisisseur = model.getSaisisseur();
ui.getSaisisseurList().getModel().setSelected(saisisseur);
-
+
// update model empty property
model.setEmpty(empty);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -55,7 +55,7 @@
private static final long serialVersionUID = 1L;
public static final String TITLE = n_("tutti.label.tab.fishingOperation.general");
-
+
public static final String PROPERTY_PERSISTED = "persisted";
public static final String PROPERTY_EMPTY = "empty";
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -36,6 +36,7 @@
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiTabContainerUIHandler;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.decorator.Decorator;
@@ -44,7 +45,6 @@
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.List;
-import jaxx.runtime.validator.swing.SwingValidator;
import static org.nuiton.i18n.I18n._;
@@ -187,7 +187,7 @@
}
return result;
}
-
+
@Override
public SwingValidator<FishingOperationsUIModel> getValidator() {
return null;
@@ -221,7 +221,7 @@
if (gears.size() == 1) {
newFishingOperation.setGear(gears.get(0));
}
-
+
if (cruise.getMultirigNumber() == 1) {
newFishingOperation.setMultirigAggregation("1");
}
@@ -241,7 +241,7 @@
if (log.isInfoEnabled()) {
log.info("New selected fishingOperation: " + fishingOperation);
}
-
+
// back to general tab of fishingOperation tabs
ui.getFishingOperationTabContent().getFishingOperationTabPane().setSelectedIndex(0);
@@ -303,7 +303,7 @@
model.updateFishingOperation(existingFishingOperation, savedFishingOperation);
}
}
-
+
public void reloadFishingOperation() {
FishingOperation operation = getModel().getSelectedFishingOperation();
selectFishingOperation(operation);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SaveFishingOperationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SaveFishingOperationAction.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SaveFishingOperationAction.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -44,7 +44,7 @@
/**
* Saves a fishing operation and potentially sets another screen or switch to another tab.
- *
+ *
* @author kmorin <kmorin(a)codelutin.com>
* @since 1.0
*/
@@ -64,15 +64,15 @@
false
);
}
-
+
/**
* If the event source is an EditFishingOperationUIHandler,
- * then the tab panel of the parent switch to the index set
+ * then the tab panel of the parent switch to the index set
* in the ID param of the event.
* If the event source is a TuttiScreen, then the screen changes to the source.
- *
+ *
* @param event
- * @throws Exception
+ * @throws Exception
*/
@Override
protected void doAction(ActionEvent event) {
@@ -98,18 +98,18 @@
// save modified fishing operation
FishingOperation toSave = beanToSave.toBean();
-
+
CaracteristicTabUIModel[] subModels = handler.getSubModels();
for (CaracteristicTabUIModel subModel : subModels) {
Class<?> modelClass = subModel.getClass();
CaracteristicMap caracteristics = subModel.getCaracteristicMap();
-
+
if (modelClass.isAssignableFrom(EnvironmentTabUIModel.class)) {
toSave.setEnvironmentCaracteristics(caracteristics);
-
+
} else if (modelClass.isAssignableFrom(GearShootingTabUIModel.class)) {
toSave.setGearShootingCaracteristics(caracteristics);
-
+
} else if (modelClass.isAssignableFrom(HydrologyTabUIModel.class)) {
toSave.setHydrologyCaracteristics(caracteristics);
}
@@ -131,13 +131,13 @@
// persist current fishingOperation
parentHandler.saveFishingOperation(toSave);
}
-
+
if (event.getSource() != null) {
- Class sourceClass = event.getSource().getClass();
+ Class<?> sourceClass = event.getSource().getClass();
if (sourceClass.isAssignableFrom(EditFishingOperationUIHandler.class)) {
int newIndex = event.getID();
parentHandler.getTabPanel().setSelectedIndex(newIndex);
-
+
} else if (sourceClass.isAssignableFrom(TuttiScreen.class)) {
TuttiScreen nextScreen = (TuttiScreen) event.getSource();
getContext().setScreen(nextScreen);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx 2013-02-03 13:06:27 UTC (rev 308)
@@ -37,10 +37,10 @@
fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI
org.jdesktop.swingx.JXTitledPanel
-
+
jaxx.runtime.swing.CardLayout2Ext
jaxx.runtime.swing.editor.NumberEditor
-
+
jaxx.runtime.validator.swing.SwingValidatorUtil
jaxx.runtime.validator.swing.SwingValidatorMessageTableModel
@@ -140,7 +140,7 @@
constructorParams='this'/>
</cell>
</row>
- <!--Poids total hors vrac-->
+ <!--Poids total hors vrac-->
<row>
<cell>
<JLabel id='catchTotalUnsortedWeightLabel'/>
@@ -296,17 +296,24 @@
</tab>
<tab id='speciesTab' title='tutti.label.tab.species'>
<JPanel id='speciesTabPanel'>
- <JXTitledPanel id='speciesTabFishingOperationReminderLabel' constraints='EditCatchesUIHandler.MAIN_CARD'>
+ <JXTitledPanel id='speciesTabFishingOperationReminderLabel'
+ constraints='EditCatchesUIHandler.MAIN_CARD'>
<SpeciesBatchUI id='speciesTabContent' constructorParams='this'/>
</JXTitledPanel>
- <JXTitledPanel id='speciesTabCreateBatchReminderLabel' constraints='EditCatchesUIHandler.CREATE_BATCH_CARD'>
- <CreateSpeciesBatchUI id='speciesTabCreateBatch' constructorParams='this'/>
+ <JXTitledPanel id='speciesTabCreateBatchReminderLabel'
+ constraints='EditCatchesUIHandler.CREATE_BATCH_CARD'>
+ <CreateSpeciesBatchUI id='speciesTabCreateBatch'
+ constructorParams='this'/>
</JXTitledPanel>
- <JXTitledPanel id='speciesTabSplitBatchReminderLabel' constraints='EditCatchesUIHandler.SPLIT_BATCH_CARD'>
- <SplitSpeciesBatchUI id='speciesTabSplitBatch' constructorParams='this'/>
+ <JXTitledPanel id='speciesTabSplitBatchReminderLabel'
+ constraints='EditCatchesUIHandler.SPLIT_BATCH_CARD'>
+ <SplitSpeciesBatchUI id='speciesTabSplitBatch'
+ constructorParams='this'/>
</JXTitledPanel>
- <JXTitledPanel id='speciesTabFrequencyEditorLabel' constraints='EditCatchesUIHandler.EDIT_FREQUENCY_CARD'>
- <SpeciesFrequencyUI id='speciesTabFrequencyEditor' constructorParams='speciesTabContent'/>
+ <JXTitledPanel id='speciesTabFrequencyEditorLabel'
+ constraints='EditCatchesUIHandler.EDIT_FREQUENCY_CARD'>
+ <SpeciesFrequencyUI id='speciesTabFrequencyEditor'
+ constructorParams='speciesTabContent'/>
</JXTitledPanel>
</JPanel>
</tab>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -34,31 +34,32 @@
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiTabContainerUIHandler;
import fr.ifremer.tutti.ui.swing.util.TabHandler;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
-import java.awt.Component;
-import java.awt.Container;
-import java.awt.LayoutManager;
-import javax.swing.JPanel;
-import javax.swing.JTabbedPane;
import jaxx.runtime.swing.CardLayout2Ext;
import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import javax.swing.JPanel;
+import javax.swing.JTabbedPane;
+import java.awt.Component;
+import java.awt.Container;
+import java.awt.LayoutManager;
+
/**
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
public class EditCatchesUIHandler extends AbstractTuttiTabContainerUIHandler<EditCatchesUIModel>
- implements TabHandler {
+ implements TabHandler {
public static final String MAIN_CARD = "main";
-
+
public static final String CREATE_BATCH_CARD = "createBatch";
-
+
public static final String SPLIT_BATCH_CARD = "splitBatch";
-
+
public static final String EDIT_FREQUENCY_CARD = "editFrequency";
-
+
/** Logger. */
private static final Log log =
LogFactory.getLog(EditCatchesUIHandler.class);
@@ -150,7 +151,7 @@
public SwingValidator<EditCatchesUIModel> getValidator() {
return ui.getValidator();
}
-
+
@Override
protected JTabbedPane getTabPanel() {
return ui.getTabPane();
@@ -201,7 +202,7 @@
CatchBatch batch;
if (empty) {
- batch= new CatchBatch();
+ batch = new CatchBatch();
model.setCatchBatch(null);
model.setFishingOperation(null);
} else {
@@ -267,11 +268,11 @@
main.registerValidator(getValidator());
main.registerValidator(ui.getSpeciesTabContent().getHandler().getValidator());
}
-
+
public void importPupitri() {
//TODO
}
-
+
public void setSelectedCard(String card) {
Component selectedComponent = getTabPanel().getSelectedComponent();
if (selectedComponent.getClass().isAssignableFrom(JPanel.class)) {
@@ -280,16 +281,16 @@
if (layoutManager.getClass().isAssignableFrom(CardLayout2Ext.class)) {
CardLayout2Ext layout = (CardLayout2Ext) layoutManager;
layout.setSelected(card);
-
+
if (MAIN_CARD.equals(card)) {
registerValidators();
-
+
} else {
- Container cardContainer = (Container)layout.getComponent(panel, card);
+ Container cardContainer = (Container) layout.getComponent(panel, card);
TuttiUI tuttiUi = null;
if (TuttiUI.class.isInstance(cardContainer)) {
tuttiUi = (TuttiUI) cardContainer;
-
+
} else {
for (Component comp : cardContainer.getComponents()) {
if (TuttiUI.class.isInstance(comp)) {
@@ -305,7 +306,7 @@
}
}
}
-
+
}
}
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIModel.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIModel.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -57,9 +57,9 @@
public static final String PROPERTY_SPECIES_TOTAL_SAMPLE_SORTED_WEIGHT = "speciesTotalSampleSortedWeight";
public static final String PROPERTY_SPECIES_TOTAL_UNSORTED_WEIGHT = "speciesTotalUnsortedWeight";
-
+
public static final String PROPERTY_SPECIES_TOTAL_INERT_WEIGHT = "speciesTotalInertWeight";
-
+
public static final String PROPERTY_SPECIES_TOTAL_LIVING_NOT_ITEMIZED_WEIGHT = "speciesTotalLivingNotItemizedWeight";
public static final String PROPERTY_BENTHOS_TOTAL_WEIGHT = "benthosTotalWeight";
@@ -272,7 +272,7 @@
this.speciesTotalUnsortedWeight = speciesTotalUnsortedWeight;
firePropertyChange(PROPERTY_SPECIES_TOTAL_UNSORTED_WEIGHT, oldValue, speciesTotalUnsortedWeight);
}
-
+
public Float getSpeciesTotalInertWeight() {
return speciesTotalInertWeight;
}
@@ -282,7 +282,7 @@
this.speciesTotalInertWeight = speciesTotalInertWeight;
firePropertyChange(PROPERTY_SPECIES_TOTAL_INERT_WEIGHT, oldValue, speciesTotalInertWeight);
}
-
+
public Float getSpeciesTotalLivingNotItemizedWeight() {
return speciesTotalLivingNotItemizedWeight;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchTableModel.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchTableModel.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -67,7 +67,7 @@
public AccidentalBatchTableModel(TableColumnModel columnModel) {
- super(columnModel,true, true);
+ super(columnModel, true, true);
setNoneEditableCols();
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -37,6 +37,7 @@
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.editor.AttachmentCellComponent;
import fr.ifremer.tutti.ui.swing.util.editor.LongTextCellComponent;
+import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdesktop.swingx.JXTable;
@@ -44,7 +45,6 @@
import org.nuiton.util.decorator.Decorator;
import java.util.List;
-import jaxx.runtime.validator.swing.SwingValidator;
import static org.nuiton.i18n.I18n.n_;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -37,6 +37,7 @@
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.editor.AttachmentCellComponent;
import fr.ifremer.tutti.ui.swing.util.editor.LongTextCellComponent;
+import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdesktop.swingx.JXTable;
@@ -44,7 +45,6 @@
import org.nuiton.util.decorator.Decorator;
import java.util.List;
-import jaxx.runtime.validator.swing.SwingValidator;
import static org.nuiton.i18n.I18n.n_;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -36,6 +36,7 @@
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.editor.AttachmentCellComponent;
import fr.ifremer.tutti.ui.swing.util.editor.LongTextCellComponent;
+import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdesktop.swingx.JXTable;
@@ -43,7 +44,6 @@
import org.nuiton.util.decorator.Decorator;
import java.util.List;
-import jaxx.runtime.validator.swing.SwingValidator;
import static org.nuiton.i18n.I18n.n_;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -37,6 +37,7 @@
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.editor.AttachmentCellComponent;
import fr.ifremer.tutti.ui.swing.util.editor.LongTextCellComponent;
+import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdesktop.swingx.JXTable;
@@ -44,7 +45,6 @@
import org.nuiton.util.decorator.Decorator;
import java.util.List;
-import jaxx.runtime.validator.swing.SwingValidator;
import static org.nuiton.i18n.I18n.n_;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SampleCategoryType.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SampleCategoryType.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SampleCategoryType.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -27,7 +27,9 @@
import com.google.common.collect.Maps;
import fr.ifremer.tutti.persistence.entities.data.SampleCategoryEnum;
import fr.ifremer.tutti.service.DecoratorService;
+
import java.util.EnumMap;
+
import static org.nuiton.i18n.I18n._;
import static org.nuiton.i18n.I18n.n_;
@@ -81,7 +83,7 @@
public String toString() {
return getLabel();
}
-
+
public static final EnumMap<SampleCategoryEnum, SampleCategoryType> enumToType;
static {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx 2013-02-03 13:06:27 UTC (rev 308)
@@ -65,9 +65,12 @@
<SwingValidatorMessageTableModel id='errorTableModel'/>
- <RenameSpeciesBatchAction id='renameSpeciesBatchAction' constructorParams='handler'/>
- <RemoveSpeciesBatchAction id='removeSpeciesBatchAction' constructorParams='handler'/>
- <RemoveSpeciesSubBatchAction id='removeSpeciesSubBatchAction' constructorParams='handler'/>
+ <RenameSpeciesBatchAction id='renameSpeciesBatchAction'
+ constructorParams='handler'/>
+ <RemoveSpeciesBatchAction id='removeSpeciesBatchAction'
+ constructorParams='handler'/>
+ <RemoveSpeciesSubBatchAction id='removeSpeciesSubBatchAction'
+ constructorParams='handler'/>
<BeanValidator id='validator' bean='model' errorTableModel='errorTableModel'
uiClass='jaxx.runtime.validator.swing.ui.ImageValidationUI'>
@@ -127,7 +130,7 @@
<JTextField id='speciesTotalUnsortedWeightField'/>
</cell>
</row>
-
+
<!-- Poids inerte / Poids vivant non détaillé -->
<row>
<cell>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/FrequencyCellComponent.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/FrequencyCellComponent.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/FrequencyCellComponent.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -40,6 +40,7 @@
import javax.swing.AbstractCellEditor;
import javax.swing.JTable;
import javax.swing.border.LineBorder;
+import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableCellRenderer;
import java.awt.Color;
@@ -49,7 +50,6 @@
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.List;
-import javax.swing.table.DefaultTableCellRenderer;
/**
* Component to render and edit frequency stuff from batch table.
@@ -144,7 +144,7 @@
// open frequency editor
parent.getHandler().setSelectedCard(EditCatchesUIHandler.EDIT_FREQUENCY_CARD);
}
-
+
public void validateEdition(SpeciesFrequencyUIModel frequencyModel) {
if (frequencyModel.isValid()) {
@@ -152,12 +152,12 @@
// transfer rows to editor
List<SpeciesFrequencyRowModel> frequency = Lists.newArrayList();
-
+
if (frequencyModel.isSimpleCountingMode()) {
SpeciesFrequencyRowModel row = new SpeciesFrequencyRowModel();
row.setNumber(frequencyModel.getSimpleCount());
frequency.add(row);
-
+
} else {
for (SpeciesFrequencyRowModel row : frequencyModel.getRows()) {
if (row.isValid()) {
@@ -274,7 +274,7 @@
FrequencyCellComponent result =
(FrequencyCellComponent) component.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
-
+
if (table != null) {
String text;
if (value == null) {
@@ -286,7 +286,7 @@
result.setEnabled(editable);
result.setText(text);
}
-
+
return result;
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx 2013-02-03 13:06:27 UTC (rev 308)
@@ -26,7 +26,7 @@
<import>
fr.ifremer.tutti.persistence.entities.referential.Caracteristic
-
+
fr.ifremer.tutti.ui.swing.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI
@@ -75,13 +75,14 @@
<BeanValidator id='validator' bean='model' errorTableModel='errorTableModel'
uiClass='jaxx.runtime.validator.swing.ui.ImageValidationUI'>
- <field name='lengthStepCaracteristic' component='lengthStepCaracteristicComboBox'/>
+ <field name='lengthStepCaracteristic'
+ component='lengthStepCaracteristicComboBox'/>
<field name='rows' component='tableScrollPane'/>
</BeanValidator>
<CardLayout2Ext id='modeConfigurationLayout'
constructorParams='this, "modeConfigurationPanel"'/>
-
+
<CardLayout2Ext id='dataFieldLayout'
constructorParams='this, "dataFieldPanel"'/>
@@ -155,7 +156,8 @@
</JPanel>
<JPanel id='simpleCountingModePanel' constraints='"simpleCountingMode"'
layout='{new BorderLayout()}'>
- <JLabel id='simpleCountingModeLabel' constraints='BorderLayout.CENTER'/>
+ <JLabel id='simpleCountingModeLabel'
+ constraints='BorderLayout.CENTER'/>
</JPanel>
</JPanel>
</JPanel>
@@ -187,7 +189,7 @@
</row>
</Table>
</JPanel>
-
+
<JPanel id='dataFieldPanel' constraints='BorderLayout.CENTER'>
<JScrollPane id='tableScrollPane' constraints='"lengthCaracteristicPmfm"'>
<JXTable id='table'/>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -43,6 +43,8 @@
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
+import jaxx.runtime.SwingUtil;
+import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -56,8 +58,6 @@
import java.util.Collections;
import java.util.List;
import java.util.Map;
-import jaxx.runtime.SwingUtil;
-import jaxx.runtime.validator.swing.SwingValidator;
/**
* @author tchemit <chemit(a)codelutin.com>
@@ -75,7 +75,7 @@
* @since 0.2
*/
private final SpeciesFrequencyUI ui;
-
+
private FrequencyCellEditor frequencyEditor;
private TuttiProtocol protocol;
@@ -179,7 +179,7 @@
lengthStepCaracteristics = TuttiEntities.splitById(lengthStepCaracterics);
SpeciesFrequencyUIModel model = getModel();
-
+
if (context.isProtocolFilled()) {
// get loaded protocol
@@ -193,9 +193,9 @@
speciesProtocol.put(sp.getSpeciesId(), sp);
}
// speciesProtocol = TuttiEntities.splitById(protocol.getSpecies());
-
+
}
-
+
//TODO Use protocol to have lengthStepCaracteristic to use (if any protocol)
initBeanComboBox(ui.getLengthStepCaracteristicComboBox(),
lengthStepCaracterics,
@@ -285,15 +285,15 @@
if (log.isInfoEnabled()) {
log.info("closing: " + ui);
}
-
+
frequencyEditor = null;
-
+
// evict model from validator
ui.getValidator().setBean(null);
// when canceling always invalid model (in that way)
getModel().setValid(false);
-
+
EditCatchesUI parent = SwingUtil.getParentContainer(ui, EditCatchesUI.class);
parent.getHandler().setSelectedCard(EditCatchesUIHandler.MAIN_CARD);
}
@@ -392,7 +392,7 @@
public void editBatch(SpeciesBatchRowModel speciesBatch, FrequencyCellEditor editor) {
frequencyEditor = editor;
-
+
Caracteristic lengthStepCaracteristic = null;
Float lengthStep = 1f;
@@ -474,11 +474,11 @@
// connect model to validator
ui.getValidator().setBean(model);
-
+
model.setRows(editFrequency);
model.setStep(lengthStep);
model.setLengthStepCaracteristic(lengthStepCaracteristic);
-
+
SpeciesFrequencyUIModel.ConfigurationMode mode = SpeciesFrequencyUIModel.ConfigurationMode.SIMPLE;
if (protocol != null) {
String speciesId = speciesBatch.getSpecies().getId();
@@ -488,7 +488,7 @@
}
}
model.setConfigurationMode(mode);
-
+
// keep batch (will be used to push back editing entry)
model.setBatch(speciesBatch);
}
@@ -500,7 +500,7 @@
}
frequencyEditor.validateEdition(getModel());
-
+
closeUI(ui);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -53,7 +53,7 @@
public static final String PROPERTY_RAFALE_MODE = "rafaleMode";
public static final String PROPERTY_SIMPLE_COUNTING_MODE = "simpleCountingMode";
-
+
public static final String PROPERTY_SIMPLE_COUNT = "simpleCount";
public static final String PROPERTY_LENGHT_STEP_CARACTERISTIC = "lengthStepCaracteristic";
@@ -106,10 +106,10 @@
* @since 0.3
*/
protected Caracteristic lengthStepCaracteristic;
-
+
/**
* Number in case of simple counting mode
- *
+ *
* @since 1.0
*/
protected Integer simpleCount;
@@ -195,7 +195,7 @@
public boolean isRafaleMode() {
return ConfigurationMode.RAFALE == configurationMode;
}
-
+
public boolean isSimpleCountingMode() {
return ConfigurationMode.SIMPLE_COUNTING == configurationMode;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesAction.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesAction.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -30,17 +30,18 @@
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.service.PersistenceService;
import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
-import java.awt.event.ActionEvent;
-import java.util.List;
-import javax.swing.SwingUtilities;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import javax.swing.SwingUtilities;
+import java.awt.event.ActionEvent;
+import java.util.List;
+
import static org.nuiton.i18n.I18n._;
/**
* Enable to select a species to the species selected in the protocol.
- *
+ *
* @author kmorin <kmorin(a)codelutin.com>
* @since 1.0
*/
@@ -50,9 +51,9 @@
/** Logger. */
private static final Log log = LogFactory.getLog(AddSpeciesAction.class);
-
+
protected List<Species> allSpecies;
-
+
public AddSpeciesAction(CreateSpeciesBatchUIHandler handler) {
super(handler,
"addSpecies",
@@ -61,7 +62,7 @@
_("tutti.action.addSpecies.tip"),
false
);
-
+
TuttiPersistence persistenceService = getContext().getService(PersistenceService.class);
allSpecies = persistenceService.getAllSpecies();
}
@@ -69,27 +70,27 @@
@Override
protected void doAction(ActionEvent event) {
CreateSpeciesBatchUIHandler handler = getHandler();
-
+
List<Species> availableSpecies = handler.getModel().getAvailableSpecies();
final List<Species> species = Lists.newArrayList(allSpecies);
species.removeAll(availableSpecies);
-
+
// open the popup asynchronously because the setVisible(true) method returns
// only after setVisible(false) has been called and this prevents the loading to hide.
SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- Species selectedSpecies = getHandler().openAddSpeciesDialog( _("tutti.title.createBatch"), species);
- if (species != null) {
- CreateSpeciesBatchUIHandler handler = getHandler();
- CreateSpeciesBatchUIModel model = handler.getModel();
+ @Override
+ public void run() {
+ Species selectedSpecies = getHandler().openAddSpeciesDialog(_("tutti.title.createBatch"), species);
+ if (species != null) {
+ CreateSpeciesBatchUIHandler handler = getHandler();
+ CreateSpeciesBatchUIModel model = handler.getModel();
- List<Species> availableSpecies = Lists.newArrayList(model.getAvailableSpecies());
- availableSpecies.add(selectedSpecies);
- model.setAvailableSpecies(availableSpecies);
- model.setSpecies(selectedSpecies);
- }
+ List<Species> availableSpecies = Lists.newArrayList(model.getAvailableSpecies());
+ availableSpecies.add(selectedSpecies);
+ model.setAvailableSpecies(availableSpecies);
+ model.setSpecies(selectedSpecies);
}
+ }
});
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesUI.jaxx 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesUI.jaxx 2013-02-03 13:06:27 UTC (rev 308)
@@ -23,14 +23,14 @@
-->
<JPanel layout='{new BorderLayout()}' id='addSpeciesPopup'
implements='fr.ifremer.tutti.ui.swing.TuttiUI<AddSpeciesUIModel, AddSpeciesUIHandler>'>
-
+
<import>
fr.ifremer.tutti.persistence.entities.referential.Species
jaxx.runtime.swing.editor.bean.BeanComboBox
</import>
-
- <script><![CDATA[
+ <script><![CDATA[
+
public AddSpeciesUI(CreateSpeciesBatchUI parentUI) {
JAXXUtil.initContext(this, parentUI);
AddSpeciesUIHandler handler = new AddSpeciesUIHandler(parentUI, this);
@@ -42,13 +42,13 @@
]]></script>
<AddSpeciesUIHandler id='handler'
- initializer='getContextValue(AddSpeciesUIHandler.class)' />
-
+ initializer='getContextValue(AddSpeciesUIHandler.class)'/>
+
<AddSpeciesUIModel id='model'
initializer='getContextValue(AddSpeciesUIModel.class)'/>
-
+
<BeanComboBox id='speciesCombo' constraints='BorderLayout.CENTER'
- constructorParams='this' genericType='Species' />
+ constructorParams='this' genericType='Species'/>
<JPanel layout='{new GridLayout(1, 0)}' constraints='BorderLayout.SOUTH'>
<JButton id='cancelButton' text='tutti.action.cancel'
@@ -56,5 +56,5 @@
<JButton id='validateButton' text='tutti.action.validate'
onActionPerformed='handler.closeDialog(this)'/>
</JPanel>
-
+
</JPanel>
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -39,14 +39,14 @@
public class AddSpeciesUIHandler extends AbstractTuttiUIHandler<AddSpeciesUIModel> {
private static final Log log = LogFactory.getLog(AddSpeciesUIHandler.class);
-
+
protected AddSpeciesUI ui;
-
+
public AddSpeciesUIHandler(CreateSpeciesBatchUI parentUI, AddSpeciesUI ui) {
super(parentUI.getHandler().getContext());
this.ui = ui;
}
-
+
@Override
public void beforeInitUI() {
AddSpeciesUIModel model = new AddSpeciesUIModel();
@@ -78,5 +78,5 @@
public SwingValidator<AddSpeciesUIModel> getValidator() {
return null;
}
-
+
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesUIModel.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesUIModel.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -28,6 +28,7 @@
import com.google.common.collect.Lists;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+
import java.util.List;
/**
@@ -37,17 +38,17 @@
public class AddSpeciesUIModel extends AbstractTuttiBeanUIModel<AddSpeciesUIModel, AddSpeciesUIModel> {
public static final String PROPERTY_SPECIES = "species";
-
+
public static final String PROPERTY_SELECTED_SPECIES = "selectedSpecies";
-
+
protected List<Species> species = Lists.newArrayList();
protected Species selectedSpecies;
-
+
public AddSpeciesUIModel() {
super(AddSpeciesUIModel.class, null, null);
}
-
+
public List<Species> getSpecies() {
return species;
}
@@ -67,5 +68,5 @@
this.selectedSpecies = selectedSpecies;
firePropertyChange(PROPERTY_SELECTED_SPECIES, oldValue, selectedSpecies);
}
-
+
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUI.jaxx 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUI.jaxx 2013-02-03 13:06:27 UTC (rev 308)
@@ -69,7 +69,7 @@
initializer='getContextValue(CreateSpeciesBatchUIModel.class)'/>
<AddSpeciesAction id='addSpeciesAction' constructorParams='handler'/>
-
+
<SwingValidatorMessageTableModel id='errorTableModel'/>
<BeanValidator id='validator' bean='model' errorTableModel='errorTableModel'
@@ -118,9 +118,9 @@
</cell>
</row>
-
+
</Table>
-
+
<!-- Form Actions -->
<JPanel layout='{new GridLayout(1, 0)}' constraints='BorderLayout.SOUTH'>
<JButton id='cancelButton' onActionPerformed='handler.cancel()'/>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -37,15 +37,15 @@
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIHandler;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchUIModel;
import fr.ifremer.tutti.ui.swing.util.Cancelable;
-import java.awt.Dimension;
+import jaxx.runtime.SwingUtil;
+import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import java.awt.Dimension;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.List;
-import jaxx.runtime.SwingUtil;
-import jaxx.runtime.validator.swing.SwingValidator;
/**
* Handler of {@link CreateSpeciesBatchUI}.
@@ -245,7 +245,7 @@
EditCatchesUI parent = SwingUtil.getParentContainer(ui, EditCatchesUI.class);
parent.getSpeciesTabContent().getHandler().addSpeciesBatch(getModel());
-
+
// close dialog
closeUI(ui);
}
@@ -255,10 +255,10 @@
AddSpeciesUIModel model = dialog.getModel();
model.setSelectedSpecies(null);
model.setSpecies(species);
-
+
openDialog(ui, dialog, title, new Dimension(400, 130));
-
+
return model.getSelectedSpecies();
}
-
+
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIModel.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIModel.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -29,11 +29,11 @@
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
-
-import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import java.util.List;
+
/**
* Model of {@link CreateSpeciesBatchUI}.
*
@@ -43,7 +43,7 @@
public class CreateSpeciesBatchUIModel extends AbstractTuttiBeanUIModel<CreateSpeciesBatchUIModel, CreateSpeciesBatchUIModel> {
private final static Log log = LogFactory.getLog(CreateSpeciesBatchUIModel.class);
-
+
private static final long serialVersionUID = 1L;
public static final String PROPERTY_AVAILABLE_SPECIES = "availableSpecies";
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchRowModel.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchRowModel.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -40,7 +40,7 @@
* @since 0.3
*/
public class SplitSpeciesBatchRowModel
- extends AbstractTuttiBeanUIModel<SplitSpeciesBatchRowModel, SplitSpeciesBatchRowModel> {
+ extends AbstractTuttiBeanUIModel<SplitSpeciesBatchRowModel, SplitSpeciesBatchRowModel> {
private static final long serialVersionUID = 1L;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.jaxx 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.jaxx 2013-02-03 13:06:27 UTC (rev 308)
@@ -73,74 +73,74 @@
<field name='sampleWeight' component='sampleWeightField'/>
</BeanValidator>
- <Table id='configurationPanel' fill='both'
- constraints='BorderLayout.NORTH'>
+ <Table id='configurationPanel' fill='both'
+ constraints='BorderLayout.NORTH'>
- <!-- SampleCategory choice -->
- <row>
- <cell anchor='west'>
- <JLabel id='categoryLabel'/>
- </cell>
- <cell weightx='1.0'>
- <JComboBox id='categoryComboBox'/>
- </cell>
- </row>
+ <!-- SampleCategory choice -->
+ <row>
+ <cell anchor='west'>
+ <JLabel id='categoryLabel'/>
+ </cell>
+ <cell weightx='1.0'>
+ <JComboBox id='categoryComboBox'/>
+ </cell>
+ </row>
- <!-- Split as a sample or not ? -->
- <row>
- <cell columns='2'>
- <JCheckBox id='sampleCheckBox'
- onItemStateChanged='handler.setBoolean(event, "sample")'/>
- </cell>
- </row>
+ <!-- Split as a sample or not ? -->
+ <row>
+ <cell columns='2'>
+ <JCheckBox id='sampleCheckBox'
+ onItemStateChanged='handler.setBoolean(event, "sample")'/>
+ </cell>
+ </row>
- <row>
- <cell columns="2">
- <JSeparator/>
- </cell>
- </row>
+ <row>
+ <cell columns="2">
+ <JSeparator/>
+ </cell>
+ </row>
- <!-- Incoming Batch Species -->
- <row>
- <cell anchor='west'>
- <JLabel id='speciesLabel'/>
- </cell>
- <cell weightx='1.0'>
- <JTextField id='speciesField'/>
- </cell>
- </row>
+ <!-- Incoming Batch Species -->
+ <row>
+ <cell anchor='west'>
+ <JLabel id='speciesLabel'/>
+ </cell>
+ <cell weightx='1.0'>
+ <JTextField id='speciesField'/>
+ </cell>
+ </row>
- <!-- Incoming Batch Total weight -->
- <row>
- <cell anchor='west'>
- <JLabel id='batchWeightLabel'/>
- </cell>
- <cell weightx='1.0'>
- <JTextField id='batchWeightField'/>
- </cell>
- </row>
+ <!-- Incoming Batch Total weight -->
+ <row>
+ <cell anchor='west'>
+ <JLabel id='batchWeightLabel'/>
+ </cell>
+ <cell weightx='1.0'>
+ <JTextField id='batchWeightField'/>
+ </cell>
+ </row>
- <!-- Sample Total weight -->
- <row>
- <cell anchor='west'>
- <JLabel id='sampleWeightLabel'/>
- </cell>
- <cell weightx='1.0'>
- <JTextField id='sampleWeightField'/>
- </cell>
- </row>
+ <!-- Sample Total weight -->
+ <row>
+ <cell anchor='west'>
+ <JLabel id='sampleWeightLabel'/>
+ </cell>
+ <cell weightx='1.0'>
+ <JTextField id='sampleWeightField'/>
+ </cell>
+ </row>
- </Table>
+ </Table>
- <JScrollPane id='tableScrollPane' constraints='BorderLayout.CENTER'>
- <JXTable id='table'/>
- </JScrollPane>
+ <JScrollPane id='tableScrollPane' constraints='BorderLayout.CENTER'>
+ <JXTable id='table'/>
+ </JScrollPane>
- <!-- actions -->
- <JPanel id='actionPanel' layout='{new GridLayout(1, 0)}'
- constraints='BorderLayout.SOUTH'>
- <JButton id='cancelButton' onActionPerformed='handler.cancel()'/>
- <JButton id='saveButton' onActionPerformed='handler.save()'/>
- </JPanel>
+ <!-- actions -->
+ <JPanel id='actionPanel' layout='{new GridLayout(1, 0)}'
+ constraints='BorderLayout.SOUTH'>
+ <JButton id='cancelButton' onActionPerformed='handler.cancel()'/>
+ <JButton id='saveButton' onActionPerformed='handler.save()'/>
+ </JPanel>
</JPanel>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -39,20 +39,20 @@
import fr.ifremer.tutti.ui.swing.util.Cancelable;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
+import jaxx.runtime.SwingUtil;
+import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdesktop.swingx.JXTable;
import org.jdesktop.swingx.table.DefaultTableColumnModelExt;
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.JComboBox;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.List;
-import javax.swing.DefaultComboBoxModel;
-import javax.swing.JComboBox;
-import jaxx.runtime.SwingUtil;
-import jaxx.runtime.validator.swing.SwingValidator;
/**
* Handler of {@link SplitSpeciesBatchUI}.
@@ -169,7 +169,7 @@
initUI(ui);
SplitSpeciesBatchUIModel model = getModel();
-
+
// when category changed, remove selected category
model.addPropertyChangeListener(SplitSpeciesBatchUIModel.PROPERTY_CATEGORY, new PropertyChangeListener() {
@Override
@@ -211,7 +211,7 @@
getModel().setSelectedCategory((SampleCategoryType) comboBox.getSelectedItem());
}
});
-
+
generateTableModel(null);
initTable(getTable());
@@ -224,13 +224,13 @@
if (log.isInfoEnabled()) {
log.info("closing: " + ui);
}
-
+
// evict model from validator
ui.getValidator().setBean(null);
// when canceling always invalid model
getModel().setValid(false);
-
+
EditCatchesUI parent = SwingUtil.getParentContainer(ui, EditCatchesUI.class);
parent.getHandler().setSelectedCard(EditCatchesUIHandler.MAIN_CARD);
}
@@ -316,7 +316,7 @@
EditCatchesUI parent = SwingUtil.getParentContainer(ui, EditCatchesUI.class);
parent.getSpeciesTabContent().getHandler().splitBatch(getModel());
-
+
// close dialog
closeUI(ui);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicRowModel.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicRowModel.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -27,10 +27,10 @@
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+
import java.io.Serializable;
/**
- *
* @author kmorin <kmorin(a)codelutin.com>
* @since 1.0
*/
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicTabUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicTabUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicTabUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -38,33 +38,33 @@
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableModel;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
-import java.util.List;
import jaxx.runtime.swing.editor.bean.BeanComboBox;
import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import java.util.List;
+
/**
- *
* @author kmorin <kmorin(a)codelutin.com>
* @since 1.0
*/
public abstract class CaracteristicTabUIHandler
- <RM extends CaracteristicRowModel<RM>,
+ <RM extends CaracteristicRowModel<RM>,
M extends CaracteristicTabUIModel<RM, M>,
- TM extends AbstractTuttiTableModel<RM>>
- extends AbstractTuttiTableUIHandler<RM, M> {
+ TM extends AbstractTuttiTableModel<RM>>
+ extends AbstractTuttiTableUIHandler<RM, M> {
private static final Log log = LogFactory.getLog(CaracteristicTabUIHandler.class);
-
+
public CaracteristicTabUIHandler(EditFishingOperationUI parentUi, String... properties) {
super(parentUi.getHandler().getContext(), properties);
}
-
+
//------------------------------------------------------------------------//
//-- AbstractTuttiTableUIHandler methods --//
//------------------------------------------------------------------------//
-
+
@Override
protected TM getTableModel() {
return (TM) getTable().getModel();
@@ -75,7 +75,7 @@
//TODO
return row.getValue() != null;
}
-
+
@Override
protected void onRowModified(int rowIndex, RM row, String propertyName, Object oldValue, Object newValue) {
recomputeRowValidState(row);
@@ -99,7 +99,7 @@
}
}
}
-
+
//------------------------------------------------------------------------//
//-- AbstractTuttiUIHandler methods --//
//------------------------------------------------------------------------//
@@ -113,7 +113,7 @@
public SwingValidator<M> getValidator() {
return null;
}
-
+
@Override
protected void onAfterSelectedRowChanged(int oldRowIndex,
RM oldRow,
@@ -123,7 +123,7 @@
super.onAfterSelectedRowChanged(oldRowIndex, oldRow, newRowIndex, newRow);
getModel().setRemoveCaracteristicEnabled(newRow != null);
}
-
+
@Override
public void beforeInitUI() {
M model = createModel();
@@ -135,7 +135,7 @@
initUI(getUI());
initBeanComboBox(getKeyCombo(), Lists.<Caracteristic>newArrayList(), null);
-
+
}
@Override
@@ -158,17 +158,17 @@
caracteristics.put(row.getKey(), row.getValue());
}
}
-
+
protected abstract M createModel();
-
+
protected abstract TuttiUI getUI();
-
+
protected abstract BeanComboBox<Caracteristic> getKeyCombo();
-
+
protected abstract CaracteristicMap getCaracteristics(FishingOperation operation);
-
+
protected abstract List<String> getProtocolPmfmIds(TuttiProtocol protocol);
-
+
//------------------------------------------------------------------------//
//-- Public methods --//
//------------------------------------------------------------------------//
@@ -178,12 +178,12 @@
BeanComboBox<Caracteristic> keyCombo = getKeyCombo();
Caracteristic selectedItem = (Caracteristic) keyCombo.getSelectedItem();
TM tableModel = getTableModel();
-
+
RM row = tableModel.createNewRow();
row.setKey(selectedItem);
// tableModel.addNewRow(row);
getModel().getRows().add(row);
-
+
int rowIndex = tableModel.getRowCount() - 1;
tableModel.fireTableRowsInserted(rowIndex, rowIndex);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicTabUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicTabUIModel.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicTabUIModel.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -30,44 +30,43 @@
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIModel;
-import fr.ifremer.tutti.ui.swing.util.table.CaracteristicRow;
+
import java.io.Serializable;
import java.util.List;
/**
- *
* @author kmorin <kmorin(a)codelutin.com>
* @since 1.0
*/
public abstract class CaracteristicTabUIModel<RM extends AbstractTuttiBeanUIModel<Serializable, RM>, M extends CaracteristicTabUIModel<RM, M>>
- extends AbstractTuttiTableUIModel<FishingOperation, RM, M> {
+ extends AbstractTuttiTableUIModel<FishingOperation, RM, M> {
public static final String PROPERTY_CARACTERISTIC_MAP = "caracteristicMap";
-
+
public static final String PROPERTY_REMOVE_CARACTERISTIC_ENABLED = "removeCaracteristicEnabled";
-
+
public static final String PROPERTY_AVAILABLE_CARACTERISTICS = "availableCaracteristics";
-
+
protected List<Caracteristic> availableCaracteristics;
-
+
/**
* Caracteristics
- *
+ *
* @since 1.0
*/
protected CaracteristicMap caracteristicMap;
-
+
/**
* Can user remove a selected caracteristic?
*
* @since 1.0
*/
protected boolean removeCaracteristicEnabled;
-
+
public CaracteristicTabUIModel() {
super(FishingOperation.class, null, null);
}
-
+
public List<Caracteristic> getAvailableCaracteristics() {
return availableCaracteristics;
}
@@ -77,7 +76,7 @@
this.availableCaracteristics = availableCaracteristics;
firePropertyChange(PROPERTY_AVAILABLE_CARACTERISTICS, oldValue, availableCaracteristics);
}
-
+
public CaracteristicMap getCaracteristicMap() {
return caracteristicMap;
}
@@ -87,11 +86,11 @@
this.caracteristicMap = caracteristicMap != null ? (CaracteristicMap) caracteristicMap.clone() : null;
firePropertyChange(PROPERTY_CARACTERISTIC_MAP, oldValue, this.caracteristicMap);
}
-
+
public boolean isRemoveCaracteristicEnabled() {
return removeCaracteristicEnabled;
}
-
+
public void setRemoveCaracteristicEnabled(boolean removeCaracteristicEnabled) {
Object oldValue = isRemoveCaracteristicEnabled();
this.removeCaracteristicEnabled = removeCaracteristicEnabled;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentRowModel.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentRowModel.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -27,10 +27,7 @@
import fr.ifremer.tutti.ui.swing.content.operation.fishing.CaracteristicRowModel;
-/**
- *
- * @author kmorin <kmorin(a)codelutin.com>
- */
+/** @author kmorin <kmorin(a)codelutin.com> */
public class EnvironmentRowModel extends CaracteristicRowModel<EnvironmentRowModel> {
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUI.jaxx 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUI.jaxx 2013-02-03 13:06:27 UTC (rev 308)
@@ -46,7 +46,7 @@
<JMenuItem id='removeCaracteristicMenu'
onActionPerformed='handler.removeCaracteristic()'/>
</JPopupMenu>
-
+
<row fill='both'>
<cell fill='both' weightx='1'>
<BeanComboBox id='newRowKey' constructorParams='this'
@@ -59,7 +59,7 @@
<row fill='both' weighty='1'>
<cell fill='both' columns='2'>
<JScrollPane>
- <JXTable id='environmentTable'
+ <JXTable id='environmentTable'
onMouseClicked='handler.autoSelectRowInTable(event, tablePopup)'/>
</JScrollPane>
</cell>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -34,13 +34,14 @@
import fr.ifremer.tutti.ui.swing.content.operation.fishing.CaracteristicTabUIHandler;
import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueEditor;
import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueRenderer;
-import java.util.List;
import jaxx.runtime.swing.editor.bean.BeanComboBox;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdesktop.swingx.JXTable;
import org.jdesktop.swingx.table.DefaultTableColumnModelExt;
+import java.util.List;
+
/**
* @author kmorin
* @since 0.3
@@ -76,7 +77,7 @@
protected BeanComboBox<Caracteristic> getKeyCombo() {
return ui.getNewRowKey();
}
-
+
@Override
protected EnvironmentTabUIModel createModel() {
return new EnvironmentTabUIModel();
@@ -86,12 +87,12 @@
protected CaracteristicMap getCaracteristics(FishingOperation operation) {
return operation.getEnvironmentCaracteristics();
}
-
+
@Override
protected List<String> getProtocolPmfmIds(TuttiProtocol protocol) {
return protocol.getEnvironmentPmfmId();
}
-
+
//------------------------------------------------------------------------//
//-- AbstractTuttiTableUIHandler methods --//
//------------------------------------------------------------------------//
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIModel.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIModel.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -33,12 +33,12 @@
public class EnvironmentTabUIModel extends CaracteristicTabUIModel<EnvironmentRowModel, EnvironmentTabUIModel> {
private static final long serialVersionUID = 1L;
-
+
public static final String TITLE = "tutti.label.tab.fishingOperation.environment";
-
+
@Override
public String getTitle() {
return TITLE;
}
-
+
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTableModel.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTableModel.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -26,6 +26,7 @@
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableModel;
import fr.ifremer.tutti.ui.swing.util.table.ColumnIdentifier;
+
import javax.swing.table.TableColumnModel;
import static org.nuiton.i18n.I18n.n_;
@@ -58,5 +59,5 @@
EnvironmentRowModel result = new EnvironmentRowModel();
return result;
}
-
+
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingRowModel.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingRowModel.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -27,10 +27,7 @@
import fr.ifremer.tutti.ui.swing.content.operation.fishing.CaracteristicRowModel;
-/**
- *
- * @author kmorin <kmorin(a)codelutin.com>
- */
+/** @author kmorin <kmorin(a)codelutin.com> */
public class GearShootingRowModel extends CaracteristicRowModel<GearShootingRowModel> {
private static final long serialVersionUID = 1L;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUI.jaxx 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUI.jaxx 2013-02-03 13:06:27 UTC (rev 308)
@@ -44,7 +44,7 @@
<JMenuItem id='removeCaracteristicMenu'
onActionPerformed='handler.removeCaracteristic()'/>
</JPopupMenu>
-
+
<row fill='both'>
<cell fill='both' weightx='1'>
<BeanComboBox id='newRowKey' constructorParams='this'
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -35,14 +35,14 @@
import fr.ifremer.tutti.ui.swing.content.operation.fishing.CaracteristicTabUIHandler;
import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueEditor;
import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueRenderer;
-import java.util.List;
import jaxx.runtime.swing.editor.bean.BeanComboBox;
-import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdesktop.swingx.JXTable;
import org.jdesktop.swingx.table.DefaultTableColumnModelExt;
+import java.util.List;
+
/**
* @author kmorin
* @since 0.3
@@ -64,7 +64,7 @@
super(parentUi, GearShootingRowModel.PROPERTY_VALUE);
this.ui = ui;
}
-
+
//------------------------------------------------------------------------//
//-- CaracteristicTabUIHandler methods --//
//------------------------------------------------------------------------//
@@ -78,12 +78,12 @@
protected BeanComboBox<Caracteristic> getKeyCombo() {
return ui.getNewRowKey();
}
-
+
@Override
protected GearShootingTabUIModel createModel() {
return new GearShootingTabUIModel();
}
-
+
@Override
protected CaracteristicMap getCaracteristics(FishingOperation operation) {
return operation.getGearShootingCaracteristics();
@@ -93,7 +93,7 @@
protected List<String> getProtocolPmfmIds(TuttiProtocol protocol) {
return protocol.getGearPmfmId();
}
-
+
//------------------------------------------------------------------------//
//-- AbstractTuttiTableUIHandler methods --//
//------------------------------------------------------------------------//
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIModel.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIModel.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -24,7 +24,6 @@
* #L%
*/
-import fr.ifremer.tutti.ui.swing.content.operation.fishing.CaracteristicRowModel;
import fr.ifremer.tutti.ui.swing.content.operation.fishing.CaracteristicTabUIModel;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -37,14 +36,14 @@
public class GearShootingTabUIModel extends CaracteristicTabUIModel<GearShootingRowModel, GearShootingTabUIModel> {
private static final long serialVersionUID = 1L;
-
+
private static final Log log = LogFactory.getLog(GearShootingTabUIModel.class);
-
+
public static final String TITLE = "tutti.label.tab.fishingOperation.gearShooting";
@Override
public String getTitle() {
return TITLE;
}
-
+
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUI.jaxx 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUI.jaxx 2013-02-03 13:06:27 UTC (rev 308)
@@ -46,7 +46,7 @@
<JMenuItem id='removeCaracteristicMenu'
onActionPerformed='handler.removeCaracteristic()'/>
</JPopupMenu>
-
+
<row fill='both'>
<cell fill='both' weightx='1'>
<BeanComboBox id='newRowKey' constructorParams='this'
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -36,7 +36,6 @@
import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueEditor;
import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueRenderer;
import jaxx.runtime.swing.editor.bean.BeanComboBox;
-import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdesktop.swingx.JXTable;
@@ -208,7 +207,7 @@
table.setColumnModel(columnModel);
initTable(table);
}
-
+
//------------------------------------------------------------------------//
//-- Public methods --//
//------------------------------------------------------------------------//
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -30,12 +30,13 @@
import fr.ifremer.tutti.ui.swing.MainUI;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.TuttiUI;
-import java.awt.event.ActionEvent;
-import javax.swing.JOptionPane;
import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import javax.swing.JOptionPane;
+import java.awt.event.ActionEvent;
+
/**
* Handler of UI {@link EditProgramUI}.
*
@@ -136,7 +137,7 @@
}
return result;
}
-
+
@Override
public EditProgramUIModel getModel() {
return ui.getModel();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/SaveProgramAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/SaveProgramAction.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/SaveProgramAction.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -29,17 +29,16 @@
import fr.ifremer.tutti.persistence.entities.data.Program;
import fr.ifremer.tutti.service.PersistenceService;
import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
-import fr.ifremer.tutti.ui.swing.ChangeScreenAction;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
-import java.awt.event.ActionEvent;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import java.awt.event.ActionEvent;
+
import static org.nuiton.i18n.I18n._;
/**
- *
* @author kmorin <kmorin(a)codelutin.com>
* @since 1.0
*/
@@ -59,11 +58,12 @@
true
);
}
-
+
/**
* If the event source is a TuttiScreen, then the screen changes to the source.
* Otherwise, the screen changes to the home.
- * @param event
+ *
+ * @param event
*/
@Override
protected void doAction(ActionEvent event) {
@@ -82,7 +82,7 @@
}
context.setProgramId(saved.getId());
-
+
TuttiScreen nextScreen;
if (event.getSource().getClass().isAssignableFrom(TuttiScreen.class)) {
nextScreen = (TuttiScreen) event.getSource();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -38,7 +38,6 @@
import fr.ifremer.tutti.ui.swing.content.home.ImportProtocolAction;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
-import java.awt.event.ActionEvent;
import jaxx.runtime.swing.editor.bean.BeanDoubleList;
import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.collections.CollectionUtils;
@@ -47,9 +46,10 @@
import org.jdesktop.swingx.JXTable;
import org.jdesktop.swingx.table.DefaultTableColumnModelExt;
+import javax.swing.JOptionPane;
+import java.awt.event.ActionEvent;
import java.util.List;
import java.util.Map;
-import javax.swing.JOptionPane;
/**
@@ -349,7 +349,7 @@
}
return result;
}
-
+
@Override
protected void onAfterSelectedRowChanged(int oldRowIndex,
EditProtocolSpeciesRowModel oldRow,
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -105,7 +105,7 @@
getContext().getService(TuttiProtocolImportExportService.class);
List<Caracteristic> allCaracteristic = getHandler().getAllCaracteristic();
- Map<String,Caracteristic> caracteristicMap = TuttiEntities.splitById(allCaracteristic);
+ Map<String, Caracteristic> caracteristicMap = TuttiEntities.splitById(allCaracteristic);
service.importProtocolCaracteristic(file, protocol, caracteristicMap);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SaveProtocolAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SaveProtocolAction.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SaveProtocolAction.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -43,7 +43,7 @@
/**
* Saves a protocol
- *
+ *
* @author kmorin <kmorin(a)codelutin.com>
* @since 1.0
*/
@@ -67,7 +67,8 @@
/**
* If the event source is a TuttiScreen, then the screen changes to the source.
* Otherwise, the screen changes to the home.
- * @param event
+ *
+ * @param event
*/
@Override
protected void doAction(ActionEvent event) {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiTabContainerUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiTabContainerUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiTabContainerUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -29,15 +29,16 @@
import fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler;
import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
-import java.awt.Component;
-import javax.swing.DefaultSingleSelectionModel;
-import javax.swing.JTabbedPane;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import javax.swing.DefaultSingleSelectionModel;
+import javax.swing.JTabbedPane;
+import java.awt.Component;
+
/**
* UI containing a tab panel.
- *
+ *
* @param <M> type of the ui model
* @author kmorin <kmorin(a)codelutin.com>
* @since 0.3
@@ -45,21 +46,21 @@
public abstract class AbstractTuttiTabContainerUIHandler<M> extends AbstractTuttiUIHandler<M> {
private final static Log log = LogFactory.getLog(AbstractTuttiTabContainerUIHandler.class);
-
+
protected AbstractTuttiTabContainerUIHandler(TuttiUIContext context) {
super(context);
}
-
+
/** @return the tab panel of the UI */
protected abstract JTabbedPane getTabPanel();
-
+
/**
* Method called when the user selects a tab
- *
+ *
* @param currentIndex
* @param newIndex
* @return <code>false</code> if you want to prevent the tab change,
- * <code>true</code> otherwise
+ * <code>true</code> otherwise
*/
protected boolean onTabChanged(int currentIndex, int newIndex) {
boolean result = true;
@@ -76,14 +77,14 @@
}
return result;
}
-
+
/**
* Returns the tab handler of the tab i.
- *
+ *
* @param index the index of the tab
- * @return the tab handler of the index i if the handler implements
- * the {@link TabHandler} interface,
- * <code>null</code> otherwise
+ * @return the tab handler of the index i if the handler implements
+ * the {@link TabHandler} interface,
+ * <code>null</code> otherwise
*/
protected TabHandler getTabHandler(int index) {
TabHandler tabHandler = null;
@@ -100,11 +101,11 @@
}
return tabHandler;
}
-
+
@Override
protected void initUI(TuttiUI ui) {
super.initUI(ui);
-
+
final JTabbedPane tabPanel = getTabPanel();
tabPanel.setModel(new DefaultSingleSelectionModel() {
@@ -112,20 +113,20 @@
public void setSelectedIndex(int index) {
int currentIndex = tabPanel.getSelectedIndex();
boolean mustChangeTab = onTabChanged(currentIndex, index);
-
+
if (mustChangeTab) {
super.setSelectedIndex(index);
}
}
-
+
});
}
-
+
/**
* Sets a {@link CustomTab} as tab component.
- *
+ *
* @param index
- * @param model
+ * @param model
*/
protected void setCustomTab(int index, AbstractTuttiBeanUIModel model) {
getTabPanel().setTabComponentAt(index, new CustomTab(model));
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/ActionListCellRenderer.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/ActionListCellRenderer.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/ActionListCellRenderer.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -32,11 +32,11 @@
import java.awt.Component;
/**
-* TODO
-*
-* @author tchemit <chemit(a)codelutin.com>
-* @since 1.0
-*/
+ * TODO
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0
+ */
public class ActionListCellRenderer extends DefaultListCellRenderer {
private static final long serialVersionUID = 1L;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CustomTab.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CustomTab.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CustomTab.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -26,30 +26,31 @@
*/
import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
-import java.awt.Color;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
import jaxx.runtime.SwingUtil;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import java.awt.Color;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
import static org.nuiton.i18n.I18n._;
/**
- * Custom tab component which adds a * in the end of the title
+ * Custom tab component which adds a * in the end of the title
* when the content is modified.
- *
+ *
* @author kmorin <kmorin(a)codelutin.com>
* @since 0.3
*/
public class CustomTab extends JPanel {
private Log log = LogFactory.getLog(CustomTab.class);
-
+
protected AbstractTuttiBeanUIModel model;
-
+
protected JLabel title = new JLabel();
public AbstractTuttiBeanUIModel getModel() {
@@ -69,9 +70,9 @@
CustomTab.this.title.setText(title);
}
});
-
+
setBackground(null);
-
+
title.setText(_(model.getTitle()));
String actionIcon = model.getIcon();
if (actionIcon != null) {
@@ -96,5 +97,5 @@
title.setForeground(fg);
}
}
-
+
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SwingValidatorMessageWidget.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SwingValidatorMessageWidget.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SwingValidatorMessageWidget.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -25,6 +25,27 @@
* #L%
*/
+import jaxx.runtime.SwingUtil;
+import jaxx.runtime.validator.swing.SwingValidator;
+import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel;
+import jaxx.runtime.validator.swing.SwingValidatorMessageTableRenderer;
+import jaxx.runtime.validator.swing.SwingValidatorUtil;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jdesktop.swingx.JXTitledPanel;
+import org.nuiton.validator.NuitonValidatorScope;
+
+import javax.swing.AbstractAction;
+import javax.swing.JComponent;
+import javax.swing.JDialog;
+import javax.swing.JRootPane;
+import javax.swing.JScrollPane;
+import javax.swing.JTable;
+import javax.swing.JToggleButton;
+import javax.swing.KeyStroke;
+import javax.swing.ListSelectionModel;
+import javax.swing.event.TableModelEvent;
+import javax.swing.event.TableModelListener;
import java.awt.Component;
import java.awt.Point;
import java.awt.event.ActionEvent;
@@ -36,35 +57,14 @@
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
-import javax.swing.AbstractAction;
-import javax.swing.JComponent;
-import javax.swing.JDialog;
-import javax.swing.JRootPane;
-import javax.swing.JScrollPane;
-import javax.swing.JTable;
-import javax.swing.JToggleButton;
-import javax.swing.KeyStroke;
-import javax.swing.ListSelectionModel;
-import javax.swing.event.TableModelEvent;
-import javax.swing.event.TableModelListener;
-import jaxx.runtime.SwingUtil;
-import jaxx.runtime.validator.swing.SwingValidator;
-import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel;
-import jaxx.runtime.validator.swing.SwingValidatorMessageTableRenderer;
-import jaxx.runtime.validator.swing.SwingValidatorUtil;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.jdesktop.swingx.JXTitledPanel;
import static org.nuiton.i18n.I18n._;
import static org.nuiton.i18n.I18n.n_;
-import org.nuiton.validator.NuitonValidatorScope;
-
/**
- * Button which opens a popup containing a table with the errors found
+ * Button which opens a popup containing a table with the errors found
* by registered validators.
- *
+ *
* @author kmorin <kmorin(a)codelutin.com>
* @since 2.5.10
*/
@@ -76,17 +76,17 @@
private static final long serialVersionUID = 1L;
protected SwingValidatorMessageTableModel errorTableModel = new SwingValidatorMessageTableModel();
-
+
protected JDialog popup = new JDialog();
-
+
protected JTable errorTable = new JTable();
-
+
protected Point popupPosition = null;
-
+
public SwingValidatorMessageWidget() {
super(SwingUtil.createActionIcon("alert-none"));
setToolTipText(_("tutti.validator.alert.none"));
-
+
errorTableModel.addTableModelListener(new TableModelListener() {
public void tableChanged(TableModelEvent e) {
@@ -102,15 +102,15 @@
default:
label = n_("tutti.validator.alert.several");
}
-
+
NuitonValidatorScope maxScope;
String icon;
if (alerts == 0) {
icon = "alert-none";
-
+
} else {
maxScope = NuitonValidatorScope.INFO;
- for (int i = 0 ; i < alerts ; i++) {
+ for (int i = 0; i < alerts; i++) {
NuitonValidatorScope scope = errorTableModel.getRow(i).getScope();
int diff = scope.compareTo(maxScope);
if (diff < 0) {
@@ -118,7 +118,7 @@
}
}
switch (maxScope) {
- case INFO:
+ case INFO:
icon = "alert-info";
break;
case WARNING:
@@ -129,12 +129,12 @@
}
}
-
+
setToolTipText(_(label, alerts));
setIcon(SwingUtil.createActionIcon(icon));
}
});
-
+
errorTable.setModel(errorTableModel);
errorTable.setRowSelectionAllowed(true);
errorTable.setAutoCreateRowSorter(true);
@@ -142,26 +142,26 @@
errorTable.setCellSelectionEnabled(false);
errorTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
errorTable.setFillsViewportHeight(true);
-
+
SwingValidatorUtil.installUI(errorTable,
new SwingValidatorMessageTableRenderer());
-
+
JScrollPane scrollPanel = new JScrollPane(errorTable);
scrollPanel.setColumnHeaderView(errorTable.getTableHeader());
-
+
JXTitledPanel titledPanel = new JXTitledPanel(_("tutti.errorTable.title"), scrollPanel);
popup.add(titledPanel);
popup.setTitle(_("tutti.errorTable.title"));
popup.setSize(800, 300);
popup.setAlwaysOnTop(true);
popup.setUndecorated(true);
-
+
ComponentResizer cr = new ComponentResizer();
cr.registerComponent(popup);
ComponentMover cm = new ComponentMover();
cm.setDragInsets(cr.getDragInsets());
cm.registerComponent(popup);
-
+
popup.addWindowListener(new WindowAdapter() {
@Override
@@ -170,7 +170,7 @@
}
});
-
+
popup.addComponentListener(new ComponentAdapter() {
@Override
@@ -180,21 +180,21 @@
popupPosition = component.getLocationOnScreen();
}
}
-
+
});
-
+
addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
- if(isSelected()) {
+ if (isSelected()) {
popup.setVisible(true);
} else {
popup.dispose();
}
}
});
-
+
addHierarchyBoundsListener(new HierarchyBoundsAdapter() {
@Override
@@ -206,7 +206,7 @@
}
}
});
-
+
// add a auto-close action
JRootPane rootPane = popup.getRootPane();
@@ -225,17 +225,17 @@
});
}
-
+
/**
* Registers a validator.
- *
- * @param validator
+ *
+ * @param validator
*/
public void registerValidator(SwingValidator validator) {
errorTableModel.registerValidator(validator);
validator.reloadBean();
}
-
+
/** Clears all the validators. */
public void clearValidators() {
errorTableModel.clearValidators();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TabHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TabHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TabHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -33,18 +33,19 @@
*/
public interface TabHandler {
- /**
+ /**
* Method called when the tab is hidden
- *
+ *
* @param currentIndex
* @param newIndex
* @return <code>false</code> to prevent the tab to be hidden,
- * <code>true</code> otherwise.
+ * <code>true</code> otherwise.
*/
boolean onHideTab(int currentIndex, int newIndex);
-
- /**
- * Method called when the tab is shown
+
+ /**
+ * Method called when the tab is shown
+ *
* @param currentIndex
* @param newIndex
*/
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/AttachmentCellComponent.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/AttachmentCellComponent.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/AttachmentCellComponent.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -44,6 +44,7 @@
import javax.swing.JDialog;
import javax.swing.JTable;
import javax.swing.border.LineBorder;
+import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableCellRenderer;
import java.awt.Color;
@@ -56,7 +57,6 @@
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Collection;
-import javax.swing.table.DefaultTableCellRenderer;
import static org.nuiton.i18n.I18n._;
@@ -82,7 +82,7 @@
protected void setValue(Object value) {
// do nothing
}
-
+
public static TableCellRenderer newRender(Decorator<Attachment> decorator, String noneText) {
return new AttachmentCellRenderer(decorator, noneText);
}
@@ -281,9 +281,9 @@
int column) {
AttachmentCellComponent result =
(AttachmentCellComponent) component.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
-
+
if (table != null) {
-
+
String textValue;
if (value == null) {
if (propertyName == null) {
@@ -309,7 +309,7 @@
result.setEnabled(editable);
result.setToolTipText(text);
}
-
+
return result;
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CoordinateEditorType.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CoordinateEditorType.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CoordinateEditorType.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -26,12 +26,11 @@
*/
/**
- *
* @author kmorin <kmorin(a)codelutin.com>
* @since 1.0
*/
public enum CoordinateEditorType {
DMS, DD, DMD
-
+
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/LongTextCellComponent.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/LongTextCellComponent.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/LongTextCellComponent.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -32,7 +32,6 @@
import fr.ifremer.tutti.ui.swing.util.table.AbstractSelectTableAction;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableModel;
import fr.ifremer.tutti.ui.swing.util.table.ColumnIdentifier;
-import java.awt.Color;
import jaxx.runtime.JAXXUtil;
import jaxx.runtime.SwingUtil;
import org.apache.commons.lang3.StringUtils;
@@ -44,8 +43,10 @@
import javax.swing.JDialog;
import javax.swing.JTable;
import javax.swing.border.LineBorder;
+import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableCellRenderer;
+import java.awt.Color;
import java.awt.Component;
import java.awt.Frame;
import java.awt.event.KeyAdapter;
@@ -54,7 +55,6 @@
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
-import javax.swing.table.DefaultTableCellRenderer;
import static org.nuiton.i18n.I18n._;
@@ -278,9 +278,9 @@
int row,
int column) {
- LongTextCellComponent result =
+ LongTextCellComponent result =
(LongTextCellComponent) component.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
-
+
if (table != null) {
String textValue;
if (StringUtils.isBlank((String) value)) {
@@ -305,7 +305,7 @@
result.setEnabled(editable);
result.setToolTipText(text);
}
-
+
return result;
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -123,10 +123,10 @@
* @since 0.3
*/
protected void onRowModified(int rowIndex,
- R row,
- String propertyName,
- Object oldValue,
- Object newValue) {
+ R row,
+ String propertyName,
+ Object oldValue,
+ Object newValue) {
getModel().setModify(true);
}
@@ -293,11 +293,11 @@
Highlighter readOnlyHighlighter = TuttiUIUtil.newBackgroundColorHighlighter(
HighlightPredicate.READ_ONLY, getConfig().getColorRowReadOnly());
table.addHighlighter(readOnlyHighlighter);
-
+
Color cellWithValueColor = getConfig().getColorCellWithValue();
Highlighter commentHighlighter = TuttiUIUtil.newBackgroundColorHighlighter(
new HighlightPredicate.AndHighlightPredicate(
- new HighlightPredicate.IdentifierHighlightPredicate(SpeciesBatchTableModel.COMMENT),
+ new HighlightPredicate.IdentifierHighlightPredicate(SpeciesBatchTableModel.COMMENT),
new HighlightPredicate() {
@Override
public boolean isHighlighted(Component renderer, ComponentAdapter adapter) {
@@ -306,10 +306,10 @@
}
}), cellWithValueColor);
table.addHighlighter(commentHighlighter);
-
+
Highlighter attachmentHighlighter = TuttiUIUtil.newBackgroundColorHighlighter(
new HighlightPredicate.AndHighlightPredicate(
- new HighlightPredicate.IdentifierHighlightPredicate(SpeciesBatchTableModel.ATTACHMENTS),
+ new HighlightPredicate.IdentifierHighlightPredicate(SpeciesBatchTableModel.ATTACHMENTS),
new HighlightPredicate() {
@Override
public boolean isHighlighted(Component renderer, ComponentAdapter adapter) {
@@ -645,7 +645,7 @@
// apply it to row
row.setValid(valid);
-
+
if (valid) {
getModel().removeRowInError(row);
} else {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIModel.java 2013-02-03 13:01:21 UTC (rev 307)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIModel.java 2013-02-03 13:06:27 UTC (rev 308)
@@ -28,15 +28,15 @@
import com.google.common.collect.Sets;
import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
import fr.ifremer.tutti.ui.swing.content.operation.fishing.environment.EnvironmentRowModel;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.util.beans.Binder;
+
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.HashSet;
-import org.nuiton.util.beans.Binder;
-
import java.util.List;
import java.util.Set;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
/**
* @param <E> type of incoming bean to edit
@@ -50,13 +50,13 @@
private static final long serialVersionUID = 1L;
private static final Log log = LogFactory.getLog(AbstractTuttiTableUIModel.class);
-
+
public static final String PROPERTY_ROWS = "rows";
-
+
public static final String PROPERTY_ROWS_IN_ERROR = "rowsInError";
protected List<R> rows;
-
+
protected Set<R> rowsInError;
protected AbstractTuttiTableUIModel(Class<E> entityType,
@@ -87,7 +87,7 @@
// always propagates (since empty list will not fire and we want it)
firePropertyChange(PROPERTY_ROWS, null, rows);
-
+
Set<R> rowsInError = Sets.newHashSet();
for (R row : rows) {
if (!row.isValid()) {
@@ -100,7 +100,7 @@
public int getRowCount() {
return rows == null ? 0 : rows.size();
}
-
+
public Set<R> getRowsInError() {
return rowsInError;
}
@@ -109,12 +109,12 @@
this.rowsInError = rowsInError;
firePropertyChange(PROPERTY_ROWS_IN_ERROR, null, rowsInError);
}
-
+
public void addRowInError(R row) {
rowsInError.add(row);
firePropertyChange(PROPERTY_ROWS_IN_ERROR, null, rowsInError);
}
-
+
public void removeRowInError(R row) {
rowsInError.remove(row);
firePropertyChange(PROPERTY_ROWS_IN_ERROR, null, rowsInError);
1
0
r307 - in trunk: tutti-persistence/src/main/resources/i18n tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util tutti-ui-swing/src/main/resources/i18n
by tchemit@users.forge.codelutin.com 03 Feb '13
by tchemit@users.forge.codelutin.com 03 Feb '13
03 Feb '13
Author: tchemit
Date: 2013-02-03 14:01:21 +0100 (Sun, 03 Feb 2013)
New Revision: 307
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/307
Log:
clean i18n
Modified:
trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SwingValidatorMessageWidget.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties
===================================================================
--- trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties 2013-02-03 12:46:05 UTC (rev 306)
+++ trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties 2013-02-03 13:01:21 UTC (rev 307)
@@ -1,14 +1,14 @@
+tutti.option.persistence.db.configurationPath.description=Chemin du fichier de configuration d'Adagio
tutti.option.persistence.db.directory.description=Répertoire où est la base de données
-tutti.option.persistence.protocol.directory.description=Répertoire où sont conservés les protocoles
-tutti.option.persistence.db.configurationPath.description=Chemin du fichier de configuration d'Adagio
tutti.option.persistence.db.enumerationPath.description=Chemin du fichier de correspondance des constantes
tutti.option.persistence.db.name.description=Nom du fichier de la base de données
-tutti.option.persistence.jdbc.username.description=Login de l'utilisateur pour se connecter à la base de données
-tutti.option.persistence.jdbc.password.description=Mot de passe de l'utilisateur pour se connecter à la base de données
-tutti.option.persistence.jdbc.url.description=URL de connexion à la base de données
-tutti.option.persistence.jdbc.driver.description=Le pilote JDBC utilisé pour communiquer avec la base de données
tutti.option.persistence.hibernate.dialect.description=Le dialect hibernate utilisée pour communiquer avec la base de données
+tutti.option.persistence.hibernate.formatSql.description=Option pour ajouter les commentaires dans les requètes sql générées.
tutti.option.persistence.hibernate.showSql.description=Option pour afficher ou non les requète sql dans les logs
tutti.option.persistence.hibernate.useSqlComment.description=Option pour ajouter les commentaires dans les requètes sql générées
-tutti.option.persistence.hibernate.formatSql.description=Option pour ajouter les commentaires dans les requètes sql générées.
-tutti.persistence.config=Configuration de la persistence de Tutti
\ No newline at end of file
+tutti.option.persistence.jdbc.driver.description=Le pilote JDBC utilisé pour communiquer avec la base de données
+tutti.option.persistence.jdbc.password.description=Mot de passe de l'utilisateur pour se connecter à la base de données
+tutti.option.persistence.jdbc.url.description=URL de connexion à la base de données
+tutti.option.persistence.jdbc.username.description=Login de l'utilisateur pour se connecter à la base de données
+tutti.option.persistence.protocol.directory.description=Répertoire où sont conservés les protocoles
+tutti.persistence.config=Configuration de la persistence de Tutti
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css 2013-02-03 12:46:05 UTC (rev 306)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css 2013-02-03 13:01:21 UTC (rev 307)
@@ -427,8 +427,8 @@
}
#durationField {
- text: {fr.ifremer.tutti.ui.swing.util.TuttiUIUtil.getDuration(
- model.getGearShootingStartDate(), model.getGearShootingEndDate(), "tutti.duration.format")};
+ text: {TuttiUIUtil.getDuration(
+ model.getGearShootingStartDate(), model.getGearShootingEndDate())};
enabled: false;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx 2013-02-03 12:46:05 UTC (rev 306)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx 2013-02-03 13:01:21 UTC (rev 307)
@@ -36,6 +36,7 @@
fr.ifremer.tutti.ui.swing.content.operation.fishing.hydrology.HydrologyTabUI
fr.ifremer.tutti.ui.swing.util.editor.CoordinateEditorType
fr.ifremer.tutti.ui.swing.util.editor.SimpleTimeEditor
+ fr.ifremer.tutti.ui.swing.util.TuttiUIUtil
jaxx.runtime.swing.editor.bean.BeanComboBox
jaxx.runtime.swing.editor.bean.BeanListHeader
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SwingValidatorMessageWidget.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SwingValidatorMessageWidget.java 2013-02-03 12:46:05 UTC (rev 306)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SwingValidatorMessageWidget.java 2013-02-03 13:01:21 UTC (rev 307)
@@ -57,6 +57,8 @@
import org.jdesktop.swingx.JXTitledPanel;
import static org.nuiton.i18n.I18n._;
+import static org.nuiton.i18n.I18n.n_;
+
import org.nuiton.validator.NuitonValidatorScope;
/**
@@ -68,8 +70,11 @@
*/
public class SwingValidatorMessageWidget extends JToggleButton {
- private static final Log log = LogFactory.getLog(SwingValidatorMessageWidget.class);
-
+ private static final Log log =
+ LogFactory.getLog(SwingValidatorMessageWidget.class);
+
+ private static final long serialVersionUID = 1L;
+
protected SwingValidatorMessageTableModel errorTableModel = new SwingValidatorMessageTableModel();
protected JDialog popup = new JDialog();
@@ -89,19 +94,18 @@
String label;
switch (alerts) {
case 0:
- label = "tutti.validator.alert.none";
+ label = n_("tutti.validator.alert.none");
break;
case 1:
- label = "tutti.validator.alert.one";
+ label = n_("tutti.validator.alert.one");
break;
default:
- label = "tutti.validator.alert.several";
+ label = n_("tutti.validator.alert.several");
}
NuitonValidatorScope maxScope;
String icon;
if (alerts == 0) {
- maxScope = null;
icon = "alert-none";
} else {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-02-03 12:46:05 UTC (rev 306)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-02-03 13:01:21 UTC (rev 307)
@@ -303,11 +303,13 @@
return new TuttiColorHighlighter(predicate, color, true);
}
- public static String getDuration(Date startDate, Date endDate, String format) {
+ public static String getDuration(Date startDate, Date endDate) {
String duration = "";
if (startDate != null && endDate != null) {
duration = DurationFormatUtils.formatPeriod(
- startDate.getTime(), endDate.getTime(), _(format));
+ startDate.getTime(),
+ endDate.getTime(),
+ _("tutti.duration.format"));
}
return duration;
}
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-02-03 12:46:05 UTC (rev 306)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-02-03 13:01:21 UTC (rev 307)
@@ -95,7 +95,6 @@
tutti.action.validateCatches=Valider les captures
tutti.action.validateCatches.tip=Valider les captures
tutti.application.config=Configuration de l'application Tutti
-tutti.application.directory.description=Répertoire contentant uniquement tutti
tutti.application.name=Tutti
tutti.config.category.applications=Application
tutti.config.category.applications.description=Application
@@ -217,11 +216,8 @@
tutti.label.tab.catches=Captures
tutti.label.tab.catchesCaracteristics=Résumé
tutti.label.tab.fishingOperation=Trait
-tutti.label.tab.fishingOperation.environment=Environnement
-tutti.label.tab.fishingOperation.gearShooting=Mise en oeuvre de l'engin
tutti.label.tab.fishingOperation.general=Trait
tutti.label.tab.fishingOperation.hydrology=Paramètres hydrologiques
-tutti.label.tab.fishingOperation.lengthClasses=Classes de taille
tutti.label.tab.macroDechet=Macro déchets
tutti.label.tab.observationIndividuel=Observations individuelles
tutti.label.tab.plancton=Plancton
@@ -262,7 +258,6 @@
tutti.option.cruiseId.description=Identifiant de la dernière campagne utilisée
tutti.option.i18n.directory.description=Répertoire des fichiers de traductions
tutti.option.i18n.locale.description=Langue utilisée dans l'application
-tutti.option.jre.directory.description=Répertoire de la jre
tutti.option.launch.mode.description=Mode de démarrage de l'application
tutti.option.programId.description=Identifiant de la dernière série de campagne utilisée
tutti.option.protocolId.description=Identifiant du dernier protocole utilisé
@@ -275,7 +270,6 @@
tutti.option.ui.dateFormat.description=Format de dates
tutti.option.ui.shortcut.closePopup.description=Fermer une popup
tutti.option.ui.showNumberEditorButton.description=Afficher le pavé numérique de saisie
-tutti.option.ui.useSexagecimalEditor=Utiliser l'éditeur sexagécimal pour entrer des coordonnées
tutti.option.update.application.url.description=URL de mise à jour de la jre et de l'application
tutti.option.update.database.url.description=URL de mise à jour de la base de données
tutti.sampleCategoryType.age=Age
@@ -362,16 +356,13 @@
tutti.title.edit.operations=Saisie des opérations de pêches (%s)
tutti.title.edit.program=Éditer une série de campagne existante
tutti.title.edit.protocol=Éditer un protocol de saisie existant
-tutti.title.frequency=Saisie des mensurations
tutti.title.home=Sélection de la campagne
-tutti.title.messages=Rapport de contrôles
tutti.title.noSelectedCruise=Pas de campagne sélectionné
tutti.title.noSelectedProgram=Pas de série de campagne sélectionné
tutti.title.noSelectedProtocol=Pas de protocol sélectionné
tutti.title.selectedCruise=Campagne %s
tutti.title.selectedProgram=Série de campagne %s
tutti.title.selectedProtocol=Protocole %s
-tutti.title.splitBatch=Catégoriser un lot
tutti.title.validate.operations=Validation des opérations de pêches (%s)
tutti.to.be.done=< A FAIRE >
tutti.tooltip.attachment.none=Pas de pièce-jointes
1
0
03 Feb '13
Author: tchemit
Date: 2013-02-03 13:46:05 +0100 (Sun, 03 Feb 2013)
New Revision: 306
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/306
Log:
improve configuration layout
normalize configuration i18n
Added:
trunk/tutti-persistence/src/main/resources/i18n/
trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java
Removed:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfig.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigOption.java
Modified:
trunk/tutti-persistence/pom.xml
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigOption.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigProvider.java
trunk/tutti-persistence/src/test/startDbManager.sh
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfigOption.java
trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
trunk/tutti-ui-swing/src/main/assembly/min/tutti.properties
trunk/tutti-ui-swing/src/main/filtered-resources/tutti.properties
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigProvider.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/tutti-persistence/pom.xml
===================================================================
--- trunk/tutti-persistence/pom.xml 2013-02-03 11:43:18 UTC (rev 305)
+++ trunk/tutti-persistence/pom.xml 2013-02-03 12:46:05 UTC (rev 306)
@@ -54,6 +54,11 @@
</dependency>
<dependency>
+ <groupId>org.nuiton.i18n</groupId>
+ <artifactId>nuiton-i18n</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
@@ -193,6 +198,20 @@
</executions>
</plugin>
+ <plugin>
+ <groupId>org.nuiton.i18n</groupId>
+ <artifactId>i18n-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>scan-sources</id>
+ <goals>
+ <goal>parserJava</goal>
+ <goal>gen</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
</plugins>
</build>
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigOption.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigOption.java 2013-02-03 11:43:18 UTC (rev 305)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigOption.java 2013-02-03 12:46:05 UTC (rev 306)
@@ -30,6 +30,8 @@
import java.io.File;
+import static org.nuiton.i18n.I18n.n_;
+
/**
* Persistence configuration options.
*
@@ -40,7 +42,7 @@
DB_DIRECTORY(
"tutti.persistence.db.directory",
- "Répertoire où est la base de données",
+ n_("tutti.option.persistence.db.directory.description"),
"${tutti.data.directory}/db",
File.class,
true,
@@ -48,7 +50,7 @@
PROTOCOL_DIRECTORY(
"tutti.persistence.protocol.directory",
- "Répertoire où sont conservés les protocoles",
+ n_("tutti.option.persistence.protocol.directory.description"),
"${tutti.data.directory}/protocol",
File.class,
true,
@@ -56,23 +58,23 @@
DB_CONFIGURATION_PATH(
"tutti.persistence.db.configurationPath",
- "Chemin du fichier de configuration d'Adagio",
- "${tutti.data.directory}/resources/conf.properties",
+ n_("tutti.option.persistence.db.configurationPath.description"),
+ "${tutti.config.directory}/db/conf.properties",
File.class,
true,
true),
DB_ENUMERATION_PATH(
"tutti.persistence.db.enumerationPath",
- "Chemin du fichier de correspondance des constantes",
- "${tutti.data.directory}/resources/enumerations-v3.properties",
+ n_("tutti.option.persistence.db.enumerationPath.description"),
+ "${tutti.config.directory}/db/enumerations-v3.properties",
File.class,
true,
true),
DB_NAME(
"tutti.persistence.db.name",
- "Nom du fichier de la base de données",
+ n_("tutti.option.persistence.db.name.description"),
"allegro",
String.class,
true,
@@ -80,56 +82,56 @@
JDBC_USERNAME(
"tutti.persistence.jdbc.username",
- "Login de l'utilisateur pour se connecter à la base de données",
+ n_("tutti.option.persistence.jdbc.username.description"),
"sa",
String.class,
true,
true),
JDBC_PASSWORD(
"tutti.persistence.jdbc.password",
- "Mot de passe de l'utilisateur pour se connecter à la base de données",
+ n_("tutti.option.persistence.jdbc.password.description"),
"",
String.class,
true,
true),
JDBC_URL(
"tutti.persistence.jdbc.url",
- "URL de connexion à la base de données",
+ n_("tutti.option.persistence.jdbc.url.description"),
"jdbc:hsqldb:file:${tutti.persistence.db.directory}/${tutti.persistence.db.name}",
String.class,
true,
true),
JDBC_DRIVER(
"tutti.persistence.jdbc.driver",
- "Le pilote JDBC utilisé pour communiquer avec la base de données",
+ n_("tutti.option.persistence.jdbc.driver.description"),
jdbcDriver.class.getName(),
Class.class,
true,
true),
HIBERNATE_DIALECT(
"tutti.persistence.hibernate.dialect",
- "Le dialect hibernate utilisée pour communiquer avec la base de données",
+ n_("tutti.option.persistence.hibernate.dialect.description"),
HSQLDialect.class.getName(),
Class.class,
true,
true),
HIBERNATE_SHOW_SQL(
"tutti.persistence.hibernate.showSql",
- "Option pour afficher ou non les requète sql dans les logs",
+ n_("tutti.option.persistence.hibernate.showSql.description"),
Boolean.FALSE.toString(),
boolean.class,
true,
true),
HIBERNATE_USE_SQL_COMMENT(
"tutti.persistence.hibernate.useSqlComment",
- "Option pour ajouter les commentaires dans les requètes sql générées",
+ n_("tutti.option.persistence.hibernate.useSqlComment.description"),
Boolean.FALSE.toString(),
boolean.class,
true,
true),
HIBERNATE_FORMAT_SQL(
"tutti.persistence.hibernate.formatSql",
- "Option pour ajouter les commentaires dans les requètes sql générées",
+ n_("tutti.option.persistence.hibernate.formatSql.description"),
Boolean.FALSE.toString(),
boolean.class,
true,
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigProvider.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigProvider.java 2013-02-03 11:43:18 UTC (rev 305)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigProvider.java 2013-02-03 12:46:05 UTC (rev 306)
@@ -29,6 +29,8 @@
import java.util.Locale;
+import static org.nuiton.i18n.I18n.l_;
+
/**
* Persistence config provider (for site generation).
*
@@ -44,7 +46,7 @@
@Override
public String getDescription(Locale locale) {
- return "Configuration de la persistence de Tutti.";
+ return l_(locale, "tutti.persistence.config");
}
@Override
Added: trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties
===================================================================
--- trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties (rev 0)
+++ trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties 2013-02-03 12:46:05 UTC (rev 306)
@@ -0,0 +1,14 @@
+tutti.option.persistence.db.directory.description=Répertoire où est la base de données
+tutti.option.persistence.protocol.directory.description=Répertoire où sont conservés les protocoles
+tutti.option.persistence.db.configurationPath.description=Chemin du fichier de configuration d'Adagio
+tutti.option.persistence.db.enumerationPath.description=Chemin du fichier de correspondance des constantes
+tutti.option.persistence.db.name.description=Nom du fichier de la base de données
+tutti.option.persistence.jdbc.username.description=Login de l'utilisateur pour se connecter à la base de données
+tutti.option.persistence.jdbc.password.description=Mot de passe de l'utilisateur pour se connecter à la base de données
+tutti.option.persistence.jdbc.url.description=URL de connexion à la base de données
+tutti.option.persistence.jdbc.driver.description=Le pilote JDBC utilisé pour communiquer avec la base de données
+tutti.option.persistence.hibernate.dialect.description=Le dialect hibernate utilisée pour communiquer avec la base de données
+tutti.option.persistence.hibernate.showSql.description=Option pour afficher ou non les requète sql dans les logs
+tutti.option.persistence.hibernate.useSqlComment.description=Option pour ajouter les commentaires dans les requètes sql générées
+tutti.option.persistence.hibernate.formatSql.description=Option pour ajouter les commentaires dans les requètes sql générées.
+tutti.persistence.config=Configuration de la persistence de Tutti
\ No newline at end of file
Property changes on: trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/tutti-persistence/src/test/startDbManager.sh
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfigOption.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfigOption.java 2013-02-03 11:43:18 UTC (rev 305)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfigOption.java 2013-02-03 12:46:05 UTC (rev 306)
@@ -41,43 +41,55 @@
public enum TuttiServiceConfigOption implements ApplicationConfig.OptionDef {
/** Main directory where to put tutti data (logs, and others...). */
- DATA_DIRECTORY("tutti.data.directory",
- n_("tutti.config.data.directory"),
- "${user.home}/.tutti",
- File.class),
- TMP_DIRECTORY("tutti.tmp.directory",
- n_("tutti.config.tmp.directory"),
- "${java.io.tmpdir}/tutti",
- File.class),
- CSV_SEPARATOR("tutti.csv.separator",
- n_("tutti.csv.separator"),
- ";",
- char.class),
+ DATA_DIRECTORY(
+ "tutti.data.directory",
+ n_("tutti.option.data.directory.description"),
+ "${user.home}/.tutti/data",
+ File.class),
+ CONFIG_DIRECTORY(
+ "tutti.config.directory",
+ n_("tutti.option.config.directory.description"),
+ "${user.home}/.tutti/config",
+ File.class),
+ TMP_DIRECTORY(
+ "tutti.tmp.directory",
+ n_("tutti.option.tmp.directory.description"),
+ "${java.io.tmpdir}/tutti",
+ File.class),
+ CSV_SEPARATOR(
+ "tutti.csv.separator",
+ n_("tutti.option.csv.separator.description"),
+ ";",
+ char.class),
// TRANSIENT CONFIG
- VERSION("tutti.version",
- n_("tutti.config.application.version"),
+ VERSION(
+ "tutti.version",
+ n_("tutti.option.version.description"),
"",
Version.class,
true,
true),
- SITE_URL("tutti.url",
- n_("tutti.config.application.site.url"),
- "http://forge.codelutin.com/projects/tutti",
- URL.class,
- true,
- true),
- ORGANIZATION_NAME("tutti.organizationName",
- n_("tutti.config.license.organizationName"),
- "",
- String.class,
- true,
- true),
- INCEPTION_YEAR("tutti.inceptionYear",
- n_("tutti.config.license.organizationName"),
- "2012",
- Integer.class,
- true,
- true);
+ SITE_URL(
+ "tutti.site.url",
+ n_("tutti.option.site.url.description"),
+ "http://forge.codelutin.com/projects/tutti",
+ URL.class,
+ true,
+ true),
+ ORGANIZATION_NAME(
+ "tutti.organizationName",
+ n_("tutti.option.organizationName.description"),
+ "",
+ String.class,
+ true,
+ true),
+ INCEPTION_YEAR(
+ "tutti.inceptionYear",
+ n_("tutti.option.inceptionYear.description"),
+ "2012",
+ Integer.class,
+ true,
+ true);
/** Configuration key. */
private final String key;
Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
===================================================================
--- trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-02-03 11:43:18 UTC (rev 305)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-02-03 12:46:05 UTC (rev 306)
@@ -1,9 +1,11 @@
-tutti.config.application.site.url=Url du site internet de l'application
-tutti.config.application.version=Version de l'application
-tutti.config.data.directory=Répertoire de données de l'application. Vous pouvez utiliser l'expression ${tutti.data.directory} pour le référence dans d'autres propriétés de configuration (ex\: ${tutti.data.directory}/tmp).
-tutti.config.license.organizationName=Nom de l'organisation dans la licence
-tutti.config.tmp.directory=Répertoire temporaire utilisée par l'application (est nettoyé à chaque démarrage de l'application)
-tutti.csv.separator=
+tutti.option.config.directory.description=Répertoire des configurations externalisées de l'application (configuration de base / internationalisation).
+tutti.option.csv.separator.description=Caractère séparateur pour les import / export de fichier au format csv.
+tutti.option.data.directory.description=Répertoire de données de l'application. Vous pouvez utiliser l'expression ${tutti.data.directory} pour le référence dans d'autres propriétés de configuration (ex\: ${tutti.data.directory}/tmp).
+tutti.option.inceptionYear.description=Année de démarrage du projet.
+tutti.option.organizationName.description=Nom de l'organisation dans la licence
+tutti.option.site.url.description=Url du site internet de l'application
+tutti.option.tmp.directory.description=Répertoire temporaire utilisée par l'application (est nettoyé à chaque démarrage de l'application).
+tutti.option.version.description=Version courante de l'application
tutti.property.attachment=Pièce jointe
tutti.property.caracteristic=Caractéristique
tutti.property.codeMemo=Code Memo
Modified: trunk/tutti-ui-swing/src/main/assembly/min/tutti.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/assembly/min/tutti.properties 2013-02-03 11:43:18 UTC (rev 305)
+++ trunk/tutti-ui-swing/src/main/assembly/min/tutti.properties 2013-02-03 12:46:05 UTC (rev 306)
@@ -22,21 +22,15 @@
# #L%
###
-# basedirectory of tutti full application (tutti + jre)
+# base directory of tutti full application (tutti + jre)
tutti.application.basedir=..
-# directory where tutti database is stored
-tutti.persistence.db.directory=${tutti.application.basedir}/db
+# directory where data (database, protocole) are stored
+tutti.data.directory=${tutti.application.basedir}/data
-# directory where db conf is stored
-tutti.persistence.db.configurationPath=${tutti.application.basedir}/config/db/conf.properties
+# directory where external configuration (db, i18n) are stored
+tutti.config.directory=${tutti.application.basedir}/config
-# directory where db constant mapping is stored
-tutti.persistence.db.enumerationPath=${tutti.application.basedir}/config/db/enumerations-v3.properties
-
-# directory where i18n files are stored
-tutti.i18n.directory=${tutti.application.basedir}/config/i18n
-
# url to update jre and application
tutti.update.application.url=file://${project.basedir}/update-application.properties
#tutti.update.application.url=http://maven-site.forge.codelutin.com/tutti/update/update-application.properties
Modified: trunk/tutti-ui-swing/src/main/filtered-resources/tutti.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/filtered-resources/tutti.properties 2013-02-03 11:43:18 UTC (rev 305)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti.properties 2013-02-03 12:46:05 UTC (rev 306)
@@ -22,6 +22,6 @@
# #L%
###
tutti.version=${project.version}
-tutti.url=${project.url}
+tutti.site.url=${project.url}
tutti.inceptionYear=${project.inceptionYear}
tutti.organizationName=${license.organizationName}
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java 2013-02-03 11:43:18 UTC (rev 305)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java 2013-02-03 12:46:05 UTC (rev 306)
@@ -29,7 +29,7 @@
import com.google.common.collect.Sets;
import fr.ifremer.tutti.persistence.entities.IdAware;
import fr.ifremer.tutti.service.DecoratorService;
-import fr.ifremer.tutti.ui.swing.config.TuttiConfig;
+import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
import fr.ifremer.tutti.ui.swing.util.Cancelable;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
import fr.ifremer.tutti.ui.swing.util.UIMessageNotifier;
@@ -125,7 +125,7 @@
return context;
}
- public TuttiConfig getConfig() {
+ public TuttiApplicationConfig getConfig() {
return context.getConfig();
}
@@ -135,7 +135,7 @@
* save or not.
*
* @param nextScreen the next screen to display
- * @return
+ * @return {@code true} if UI can be closed, {@code false} otherwise.
*/
public boolean canCloseUI(TuttiScreen nextScreen) {
return true;
@@ -438,8 +438,8 @@
public void propertyChange(PropertyChangeEvent evt) {
if (log.isDebugEnabled()) {
log.debug("Model [" + model +
- "] pass to valid state [" +
- evt.getNewValue() + "]");
+ "] pass to valid state [" +
+ evt.getNewValue() + "]");
}
model.setValid((Boolean) evt.getNewValue());
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java 2013-02-03 11:43:18 UTC (rev 305)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java 2013-02-03 12:46:05 UTC (rev 306)
@@ -28,7 +28,7 @@
import fr.ifremer.tutti.persistence.entities.data.Program;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.config.TuttiConfig;
+import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
import fr.ifremer.tutti.ui.swing.config.TuttiConfigUI;
import fr.ifremer.tutti.ui.swing.content.cruise.EditCruiseUI;
import fr.ifremer.tutti.ui.swing.content.home.SelectCruiseUI;
@@ -217,7 +217,7 @@
about.setTitle(_("tutti.title.about"));
about.setAboutText(_("tutti.about.message"));
- TuttiConfig config = context.getConfig();
+ TuttiApplicationConfig config = context.getConfig();
int currentYear = Calendar.getInstance().get(Calendar.YEAR);
int inceptionYear = config.getInceptionYear();
String years;
@@ -243,7 +243,7 @@
}
public void gotoSite() {
- TuttiConfig config = context.getConfig();
+ TuttiApplicationConfig config = context.getConfig();
URL siteURL = config.getSiteUrl();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java 2013-02-03 11:43:18 UTC (rev 305)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java 2013-02-03 12:46:05 UTC (rev 306)
@@ -24,7 +24,7 @@
* #L%
*/
-import fr.ifremer.tutti.ui.swing.config.TuttiConfig;
+import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
import jaxx.runtime.SwingUtil;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -51,7 +51,7 @@
public static void main(String... args) {
// Create configuration
- TuttiConfig config = new TuttiConfig("tutti.properties", args);
+ TuttiApplicationConfig config = new TuttiApplicationConfig("tutti.properties", args);
// Create application context
TuttiUIContext context = TuttiUIContext.newContext(config);
@@ -116,7 +116,7 @@
}
public static void updateTuttiJreOrApplication(TuttiUIContext context) {
- TuttiConfig config = context.getConfig();
+ TuttiApplicationConfig config = context.getConfig();
File current = config.getTuttiBasedir();
if (current == null || !current.exists()) {
@@ -143,7 +143,7 @@
}
public static void updateTuttiDatabase(TuttiUIContext context) {
- TuttiConfig config = context.getConfig();
+ TuttiApplicationConfig config = context.getConfig();
String url = config.getDatabaseUpdateUrl();
ApplicationUpdater up = new ApplicationUpdater();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-02-03 11:43:18 UTC (rev 305)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-02-03 12:46:05 UTC (rev 306)
@@ -33,7 +33,7 @@
import fr.ifremer.tutti.service.PersistenceService;
import fr.ifremer.tutti.service.TuttiService;
import fr.ifremer.tutti.service.TuttiServiceContext;
-import fr.ifremer.tutti.ui.swing.config.TuttiConfig;
+import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
import fr.ifremer.tutti.ui.swing.util.UIMessageNotifier;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
@@ -101,7 +101,7 @@
*
* @since 0.1
*/
- protected final TuttiConfig config;
+ protected final TuttiApplicationConfig config;
/**
* ClassLoader ressource.
@@ -168,7 +168,7 @@
private MainUI mainUI;
- public static TuttiUIContext newContext(TuttiConfig config) {
+ public static TuttiUIContext newContext(TuttiApplicationConfig config) {
Preconditions.checkNotNull(config);
Preconditions.checkState(applicationContext == null,
"Application context was already opened!");
@@ -176,7 +176,7 @@
return applicationContext;
}
- protected TuttiUIContext(TuttiConfig config) {
+ protected TuttiUIContext(TuttiApplicationConfig config) {
this.config = config;
this.resourceLoader = new RessourceClassLoader(Thread.currentThread().getContextClassLoader());
this.serviceContext = new TuttiServiceContext(resourceLoader, config.getServiceConfig());
@@ -198,7 +198,7 @@
return serviceContext.getService(serviceType);
}
- public TuttiConfig getConfig() {
+ public TuttiApplicationConfig getConfig() {
return config;
}
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java (from rev 304, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfig.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java 2013-02-03 12:46:05 UTC (rev 306)
@@ -0,0 +1,284 @@
+package fr.ifremer.tutti.ui.swing.config;
+
+/*
+ * #%L
+ * Tutti :: Application
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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.ifremer.tutti.service.TuttiServiceTechnicalException;
+import fr.ifremer.tutti.service.config.TuttiServiceConfig;
+import fr.ifremer.tutti.ui.swing.util.editor.CoordinateEditorType;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.util.ApplicationConfig;
+import org.nuiton.util.ApplicationConfigHelper;
+import org.nuiton.util.ApplicationConfigProvider;
+import org.nuiton.util.ArgumentsParserException;
+import org.nuiton.util.Version;
+
+import javax.swing.KeyStroke;
+import java.awt.Color;
+import java.io.File;
+import java.net.URL;
+import java.util.Locale;
+import java.util.Set;
+
+/**
+ * Tutti application config.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.1
+ */
+public class TuttiApplicationConfig {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(TuttiApplicationConfig.class);
+
+ /**
+ * Delegate application config object containing configuration.
+ *
+ * @since 0.1
+ */
+ protected final ApplicationConfig applicationConfig;
+
+ /**
+ * Service configuration to pass to service context.
+ *
+ * @since 0.1
+ */
+ protected final TuttiServiceConfig serviceConfig;
+
+ protected final String[] optionKeyToNotSave;
+
+ public TuttiApplicationConfig(String file, String... args) {
+
+ applicationConfig = new ApplicationConfig();
+
+ // get all config providers
+ Set<ApplicationConfigProvider> providers =
+ ApplicationConfigHelper.getProviders(null,
+ null,
+ null,
+ true);
+
+ // load all default options
+ ApplicationConfigHelper.loadAllDefaultOption(applicationConfig,
+ providers);
+
+ // get all transient and final option keys
+ Set<String> optionToSkip =
+ ApplicationConfigHelper.getTransientOrFinalOptionKey(providers);
+
+ if (log.isInfoEnabled()) {
+ log.info("Option that won't be saved: " + optionToSkip);
+ }
+ optionKeyToNotSave = optionToSkip.toArray(new String[optionToSkip.size()]);
+
+ applicationConfig.setConfigFileName(file);
+
+ try {
+ applicationConfig.parse(args);
+
+ } catch (ArgumentsParserException e) {
+ throw new TuttiServiceTechnicalException(
+ "Could not parse configuration", e);
+ }
+
+ //TODO Review this, this is very dirty to do this...
+ File tuttiBasedir = getTuttiBasedir();
+
+ if (tuttiBasedir == null) {
+ tuttiBasedir = new File("");
+ }
+ if (!tuttiBasedir.isAbsolute()) {
+ tuttiBasedir = new File(tuttiBasedir.getAbsolutePath());
+ }
+ if (tuttiBasedir.getName().equals("..")) {
+ tuttiBasedir = tuttiBasedir.getParentFile().getParentFile();
+ }
+ if (tuttiBasedir.getName().equals(".")) {
+ tuttiBasedir = tuttiBasedir.getParentFile();
+ }
+ if (log.isInfoEnabled()) {
+ log.info("Application basedir: " + tuttiBasedir);
+ }
+ applicationConfig.setOption(TuttiApplicationConfigOption.TUTTI_APPLICATION_BASEDIR.getKey(), tuttiBasedir.getAbsolutePath());
+
+ log.info(this + " is initializing...");
+
+ serviceConfig = new TuttiServiceConfig(applicationConfig);
+ }
+
+ public ApplicationConfig getApplicationConfig() {
+ return applicationConfig;
+ }
+
+ public TuttiServiceConfig getServiceConfig() {
+ return serviceConfig;
+ }
+
+ public void save() {
+ applicationConfig.saveForUser(optionKeyToNotSave);
+ }
+
+ @Override
+ public String toString() {
+ return ReflectionToStringBuilder.toString(this);
+ }
+
+ public String getTuttiLaunchMode() {
+ return applicationConfig.getOption(TuttiApplicationConfigOption.TUTTI_LAUNCH_MODE.getKey());
+ }
+
+ /** @return {@link TuttiApplicationConfigOption#UI_CONFIG_FILE} value */
+ public File getUIConfigFile() {
+ return applicationConfig.getOptionAsFile(TuttiApplicationConfigOption.UI_CONFIG_FILE.getKey());
+ }
+
+ public boolean isAutoPopupNumberEditor() {
+ return applicationConfig.getOptionAsBoolean(TuttiApplicationConfigOption.AUTO_POPUP_NUMBER_EDITOR.getKey());
+ }
+
+ public boolean isShowNumberEditorButton() {
+ return applicationConfig.getOptionAsBoolean(TuttiApplicationConfigOption.SHOW_NUMBER_EDITOR_BUTTON.getKey());
+ }
+
+ public CoordinateEditorType getCoordinateEditorType() {
+ String value = applicationConfig.getOption(TuttiApplicationConfigOption.COORDINATE_EDITOR_TYPE.getKey());
+ return CoordinateEditorType.valueOf(value);
+ }
+
+ public String getProgramId() {
+ String result = applicationConfig.getOption(TuttiApplicationConfigOption.PROGRAM_ID.getKey());
+ return StringUtils.isBlank(result) ? null : result;
+ }
+
+ public String getCruiseId() {
+ String result = applicationConfig.getOption(TuttiApplicationConfigOption.CRUISE_ID.getKey());
+ return StringUtils.isBlank(result) ? null : result;
+ }
+
+ public String getProtocolId() {
+ String result = applicationConfig.getOption(TuttiApplicationConfigOption.PROTOCOL_ID.getKey());
+ return StringUtils.isBlank(result) ? null : result;
+ }
+
+ public Color getColorRowInvalid() {
+ return applicationConfig.getOptionAsColor(TuttiApplicationConfigOption.COLOR_ROW_INVALID.getKey());
+ }
+
+ public Color getColorRowReadOnly() {
+ return applicationConfig.getOptionAsColor(TuttiApplicationConfigOption.COLOR_ROW_READ_ONLY.getKey());
+ }
+
+ public Color getColorCellWithValue() {
+ return applicationConfig.getOptionAsColor(TuttiApplicationConfigOption.COLOR_CELL_WITH_VALUE.getKey());
+ }
+
+ public KeyStroke getShortcutClosePopup() {
+ return applicationConfig.getOptionAsKeyStroke(TuttiApplicationConfigOption.SHORTCUT_CLOSE_POPUP.getKey());
+ }
+
+ public KeyStroke getShortCut(String actionName) {
+ KeyStroke result = applicationConfig.getOptionAsKeyStroke(
+ "tutti.ui." + actionName);
+ return result;
+ }
+
+ public String getDateFormat() {
+ return applicationConfig.getOption(TuttiApplicationConfigOption.DATE_FORMAT.getKey());
+ }
+
+ public Version getVersion() {
+ return serviceConfig.getVersion();
+ }
+
+ public int getInceptionYear() {
+ return serviceConfig.getInceptionYear();
+ }
+
+ public URL getSiteUrl() {
+ return serviceConfig.getSiteUrl();
+ }
+
+ public String getOrganizationName() {
+ return serviceConfig.getOrganizationName();
+ }
+
+ public File getTmpDirectory() {
+ return serviceConfig.getTmpDirectory();
+ }
+
+ public File getNewTmpDirectory(String name) {
+ return new File(getTmpDirectory(), name + "_" + System.nanoTime());
+ }
+
+ public File getDataDirectory() {
+ return serviceConfig.getDataDirectory();
+ }
+
+ public File getI18nDirectory() {
+ return applicationConfig.getOptionAsFile(
+ TuttiApplicationConfigOption.TUTTI_I18N_DIRECTORY.getKey());
+ }
+
+ public Locale getI18nLocale() {
+ return applicationConfig.getOptionAsLocale(
+ TuttiApplicationConfigOption.TUTTI_I18N_LOCALE.getKey());
+ }
+
+ public void setProgramId(String programId) {
+ if (programId == null) {
+ programId = "";
+ }
+ applicationConfig.setOption(TuttiApplicationConfigOption.PROGRAM_ID.getKey(), programId);
+ }
+
+ public void setCruiseId(String cruiseId) {
+ if (cruiseId == null) {
+ cruiseId = "";
+ }
+ applicationConfig.setOption(TuttiApplicationConfigOption.CRUISE_ID.getKey(), cruiseId);
+ }
+
+ public void setProtocolId(String protocolId) {
+ if (protocolId == null) {
+ protocolId = "";
+ }
+ applicationConfig.setOption(TuttiApplicationConfigOption.PROTOCOL_ID.getKey(), protocolId);
+ }
+
+ public File getTuttiBasedir() {
+ return applicationConfig.getOptionAsFile(TuttiApplicationConfigOption.TUTTI_APPLICATION_BASEDIR.getKey());
+ }
+
+ public String getApplicationUpdateUrl() {
+ return applicationConfig.getOption(TuttiApplicationConfigOption.TUTTI_UPDATE_APPLICATION_URL.getKey());
+ }
+
+ public String getDatabaseUpdateUrl() {
+ return applicationConfig.getOption(TuttiApplicationConfigOption.TUTTI_UPDATE_DATABASE_URL.getKey());
+ }
+}
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java (from rev 304, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigOption.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java 2013-02-03 12:46:05 UTC (rev 306)
@@ -0,0 +1,262 @@
+package fr.ifremer.tutti.ui.swing.config;
+
+/*
+ * #%L
+ * Tutti :: Application
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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.ifremer.tutti.ui.swing.util.editor.CoordinateEditorType;
+import org.nuiton.util.ApplicationConfig;
+
+import javax.swing.KeyStroke;
+import java.awt.Color;
+import java.io.File;
+import java.util.Locale;
+
+import static org.nuiton.i18n.I18n.n_;
+
+/**
+ * All Tutti configuration options.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.1
+ */
+public enum TuttiApplicationConfigOption implements ApplicationConfig.OptionDef {
+
+ TUTTI_LAUNCH_MODE(
+ "tutti.launch.mode",
+ n_("tutti.option.launch.mode.description"),
+ null,
+ String.class,
+ true,
+ true
+ ),
+
+ TUTTI_APPLICATION_BASEDIR(
+ "tutti.application.basedir",
+ n_("tutti.option.application.basedir.description"),
+ null,
+ File.class,
+ true,
+ true
+ ),
+
+ TUTTI_I18N_DIRECTORY(
+ "tutti.i18n.directory",
+ n_("tutti.option.i18n.directory.description"),
+ "${tutti.config.directory}/i18n",
+ File.class
+ ),
+
+ TUTTI_I18N_LOCALE(
+ "tutti.i18n.locale",
+ n_("tutti.option.i18n.locale.description"),
+ Locale.FRANCE.getCountry(),
+ Locale.class
+ ),
+
+ TUTTI_UPDATE_APPLICATION_URL(
+ "tutti.update.application.url",
+ n_("tutti.option.update.application.url.description"),
+ null,
+ String.class,
+ true,
+ false
+ ),
+
+ TUTTI_UPDATE_DATABASE_URL(
+ "tutti.update.database.url",
+ n_("tutti.option.update.database.url.description"),
+ null,
+ String.class,
+ true,
+ false
+ ),
+
+ UI_CONFIG_FILE(
+ "tutti.ui.config.file",
+ n_("tutti.option.ui.config.file.description"),
+ "${tutti.data.directory}/tuttiUI.xml",
+ File.class
+ ),
+
+ PROGRAM_ID(
+ "tutti.programId",
+ n_("tutti.option.programId.description"),
+ null,
+ String.class
+ ),
+
+ CRUISE_ID(
+ "tutti.cruiseId",
+ n_("tutti.option.cruiseId.description"),
+ null,
+ String.class
+ ),
+
+ PROTOCOL_ID(
+ "tutti.protocolId",
+ n_("tutti.option.protocolId.description"),
+ null,
+ String.class
+ ),
+
+ AUTO_POPUP_NUMBER_EDITOR(
+ "tutti.ui.autoPopupNumberEditor",
+ n_("tutti.option.ui.autoPopupNumberEditor.description"),
+ String.valueOf(false),
+ Boolean.class
+ ),
+
+ SHOW_NUMBER_EDITOR_BUTTON(
+ "tutti.ui.showNumberEditorButton",
+ n_("tutti.option.ui.showNumberEditorButton.description"),
+ String.valueOf(true),
+ Boolean.class
+ ),
+
+ COLOR_ROW_READ_ONLY(
+ "tutti.ui.color.rowReadOnly",
+ n_("tutti.option.ui.color.rowReadOnly.description"),
+ new Color(192, 192, 192).toString(),
+ Color.class
+ ),
+
+ COLOR_ROW_INVALID(
+ "tutti.ui.color.rowInvalid",
+ n_("tutti.option.ui.color.rowInvalid.description"),
+ new Color(255, 128, 128).toString(),
+ Color.class
+ ),
+
+ COLOR_CELL_WITH_VALUE(
+ "tutti.ui.color.cellWithValue",
+ n_("tutti.option.ui.color.cellWithValue.description"),
+ new Color(128, 255, 128).toString(),
+ Color.class
+ ),
+
+ SHORTCUT_CLOSE_POPUP(
+ "tutti.ui.shortcut.closePopup",
+ n_("tutti.option.ui.shortcut.closePopup.description"),
+ "alt pressed F",
+ KeyStroke.class
+ ),
+
+ COORDINATE_EDITOR_TYPE(
+ "tutti.ui.coordinateEditorType",
+ n_("tutti.option.ui.coordinateEditorType.description"),
+ CoordinateEditorType.DD.toString(),
+ CoordinateEditorType.class
+ ),
+
+ DATE_FORMAT(
+ "tutti.ui.dateFormat",
+ n_("tutti.option.ui.dateFormat.description"),
+ "dd/MM/yyyy",
+ String.class
+ );
+
+ /** Configuration key. */
+ private final String key;
+
+ /** I18n key of option description */
+ private final String description;
+
+ /** Type of option */
+ private final Class<?> type;
+
+ /** Default value of option. */
+ private String defaultValue;
+
+ /** Flag to not keep option value on disk */
+ private boolean isTransient;
+
+ /** Flag to not allow option value modification */
+ private boolean isFinal;
+
+ TuttiApplicationConfigOption(String key,
+ String description,
+ String defaultValue,
+ Class<?> type,
+ boolean isTransient,
+ boolean isFinal) {
+ this.key = key;
+ this.description = description;
+ this.defaultValue = defaultValue;
+ this.type = type;
+ this.isTransient = isTransient;
+ this.isFinal = isFinal;
+ }
+
+ TuttiApplicationConfigOption(String key,
+ String description,
+ String defaultValue,
+ Class<?> type) {
+ this(key, description, defaultValue, type, false, false);
+ }
+
+ @Override
+ public String getKey() {
+ return key;
+ }
+
+ @Override
+ public Class<?> getType() {
+ return type;
+ }
+
+ @Override
+ public String getDescription() {
+ return description;
+ }
+
+ @Override
+ public String getDefaultValue() {
+ return defaultValue;
+ }
+
+ @Override
+ public boolean isTransient() {
+ return isTransient;
+ }
+
+ @Override
+ public boolean isFinal() {
+ return isFinal;
+ }
+
+ @Override
+ public void setDefaultValue(String defaultValue) {
+ this.defaultValue = defaultValue;
+ }
+
+ @Override
+ public void setTransient(boolean newValue) {
+ // not used
+ }
+
+ @Override
+ public void setFinal(boolean newValue) {
+ // not used
+ }
+}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigProvider.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigProvider.java 2013-02-03 11:43:18 UTC (rev 305)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigProvider.java 2013-02-03 12:46:05 UTC (rev 306)
@@ -51,7 +51,7 @@
@Override
public ApplicationConfig.OptionDef[] getOptions() {
- return TuttiConfigOption.values();
+ return TuttiApplicationConfigOption.values();
}
@Override
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfig.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfig.java 2013-02-03 11:43:18 UTC (rev 305)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfig.java 2013-02-03 12:46:05 UTC (rev 306)
@@ -1,283 +0,0 @@
-package fr.ifremer.tutti.ui.swing.config;
-
-/*
- * #%L
- * Tutti :: Application
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2012 Ifremer
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General 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.ifremer.tutti.service.TuttiServiceTechnicalException;
-import fr.ifremer.tutti.service.config.TuttiServiceConfig;
-import fr.ifremer.tutti.ui.swing.util.editor.CoordinateEditorType;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.util.ApplicationConfig;
-import org.nuiton.util.ApplicationConfigHelper;
-import org.nuiton.util.ApplicationConfigProvider;
-import org.nuiton.util.ArgumentsParserException;
-import org.nuiton.util.Version;
-
-import javax.swing.KeyStroke;
-import java.awt.Color;
-import java.io.File;
-import java.net.URL;
-import java.util.Locale;
-import java.util.Set;
-
-/**
- * Tutti application config.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.1
- */
-public class TuttiConfig {
-
- /** Logger. */
- private static final Log log = LogFactory.getLog(TuttiConfig.class);
-
- /**
- * Delegate application config object containing configuration.
- *
- * @since 0.1
- */
- protected final ApplicationConfig applicationConfig;
-
- /**
- * Service configuration to pass to service context.
- *
- * @since 0.1
- */
- protected final TuttiServiceConfig serviceConfig;
-
- protected final String[] optionKeyToNotSave;
-
- public TuttiConfig(String file, String... args) {
-
- applicationConfig = new ApplicationConfig();
-
- // get all config providers
- Set<ApplicationConfigProvider> providers =
- ApplicationConfigHelper.getProviders(null,
- null,
- null,
- true);
-
- // load all default options
- ApplicationConfigHelper.loadAllDefaultOption(applicationConfig,
- providers);
-
- // get all transient and final option keys
- Set<String> optionToSkip =
- ApplicationConfigHelper.getTransientOrFinalOptionKey(providers);
-
- if (log.isInfoEnabled()) {
- log.info("Option that won't be saved: " + optionToSkip);
- }
- optionKeyToNotSave = optionToSkip.toArray(new String[optionToSkip.size()]);
-
- applicationConfig.setConfigFileName(file);
-
- try {
- applicationConfig.parse(args);
-
- } catch (ArgumentsParserException e) {
- throw new TuttiServiceTechnicalException(
- "Could not parse configuration", e);
- }
-
- //TODO Review this, this is very dirty to do this...
- File tuttiBasedir = getTuttiBasedir();
-
- if (tuttiBasedir == null) {
- tuttiBasedir = new File("");
- }
- if (!tuttiBasedir.isAbsolute()) {
- tuttiBasedir = new File(tuttiBasedir.getAbsolutePath());
- }
- if (tuttiBasedir.getName().equals("..")) {
- tuttiBasedir = tuttiBasedir.getParentFile().getParentFile();
- }
- if (tuttiBasedir.getName().equals(".")) {
- tuttiBasedir = tuttiBasedir.getParentFile();
- }
- if (log.isInfoEnabled()) {
- log.info("Application basedir: " + tuttiBasedir);
- }
- applicationConfig.setOption(TuttiConfigOption.TUTTI_APPLICATION_BASEDIR.getKey(), tuttiBasedir.getAbsolutePath());
-
- log.info(this + " is initializing...");
-
- serviceConfig = new TuttiServiceConfig(applicationConfig);
- }
-
- public ApplicationConfig getApplicationConfig() {
- return applicationConfig;
- }
-
- public TuttiServiceConfig getServiceConfig() {
- return serviceConfig;
- }
-
- public void save() {
- applicationConfig.saveForUser(optionKeyToNotSave);
- }
-
- @Override
- public String toString() {
- return ReflectionToStringBuilder.toString(this);
- }
-
- public String getTuttiLaunchMode() {
- return applicationConfig.getOption(TuttiConfigOption.TUTTI_LAUNCH_MODE.getKey());
- }
-
- /** @return {@link TuttiConfigOption#UI_CONFIG_FILE} value */
- public File getUIConfigFile() {
- return applicationConfig.getOptionAsFile(TuttiConfigOption.UI_CONFIG_FILE.getKey());
- }
-
- public boolean isAutoPopupNumberEditor() {
- return applicationConfig.getOptionAsBoolean(TuttiConfigOption.AUTO_POPUP_NUMBER_EDITOR.getKey());
- }
-
- public boolean isShowNumberEditorButton() {
- return applicationConfig.getOptionAsBoolean(TuttiConfigOption.SHOW_NUMBER_EDITOR_BUTTON.getKey());
- }
-
- public CoordinateEditorType getCoordinateEditorType() {
- String value = applicationConfig.getOption(TuttiConfigOption.COORDINATE_EDITOR_TYPE.getKey());
- return CoordinateEditorType.valueOf(value);
- }
-
- public String getProgramId() {
- String result = applicationConfig.getOption(TuttiConfigOption.PROGRAM_ID.getKey());
- return StringUtils.isBlank(result) ? null : result;
- }
-
- public String getCruiseId() {
- String result = applicationConfig.getOption(TuttiConfigOption.CRUISE_ID.getKey());
- return StringUtils.isBlank(result) ? null : result;
- }
-
- public String getProtocolId() {
- String result = applicationConfig.getOption(TuttiConfigOption.PROTOCOL_ID.getKey());
- return StringUtils.isBlank(result) ? null : result;
- }
-
- public Color getColorRowInvalid() {
- return applicationConfig.getOptionAsColor(TuttiConfigOption.COLOR_ROW_INVALID.getKey());
- }
-
- public Color getColorRowReadOnly() {
- return applicationConfig.getOptionAsColor(TuttiConfigOption.COLOR_ROW_READ_ONLY.getKey());
- }
-
- public Color getColorCellWithValue() {
- return applicationConfig.getOptionAsColor(TuttiConfigOption.COLOR_CELL_WITH_VALUE.getKey());
- }
-
- public KeyStroke getShortcutClosePopup() {
- return applicationConfig.getOptionAsKeyStroke(TuttiConfigOption.SHORTCUT_CLOSE_POPUP.getKey());
- }
-
- public KeyStroke getShortCut(String actionName) {
- KeyStroke result = applicationConfig.getOptionAsKeyStroke(
- "tutti.ui." + actionName);
- return result;
- }
-
- public String getDateFormat() {
- return applicationConfig.getOption(TuttiConfigOption.DATE_FORMAT.getKey());
- }
-
- public Version getVersion() {
- return serviceConfig.getVersion();
- }
-
- public int getInceptionYear() {
- return serviceConfig.getInceptionYear();
- }
-
- public URL getSiteUrl() {
- return serviceConfig.getSiteUrl();
- }
-
- public String getOrganizationName() {
- return serviceConfig.getOrganizationName();
- }
-
- public File getTmpDirectory() {
- return serviceConfig.getTmpDirectory();
- }
-
- public File getNewTmpDirectory(String name) {
- return new File(getTmpDirectory(), name + "_" + System.nanoTime());
- }
-
- public File getDataDirectory() {
- return serviceConfig.getDataDirectory();
- }
-
- public File getI18nDirectory() {
- return applicationConfig.getOptionAsFile(
- TuttiConfigOption.TUTTI_I18N_DIRECTORY.getKey());
- }
-
- public Locale getI18nLocale() {
- return applicationConfig.getOptionAsLocale(
- TuttiConfigOption.TUTTI_I18N_LOCALE.getKey());
- }
-
- public void setProgramId(String programId) {
- if (programId == null) {
- programId = "";
- }
- applicationConfig.setOption(TuttiConfigOption.PROGRAM_ID.getKey(), programId);
- }
-
- public void setCruiseId(String cruiseId) {
- if (cruiseId == null) {
- cruiseId = "";
- }
- applicationConfig.setOption(TuttiConfigOption.CRUISE_ID.getKey(), cruiseId);
- }
-
- public void setProtocolId(String protocolId) {
- if (protocolId == null) {
- protocolId = "";
- }
- applicationConfig.setOption(TuttiConfigOption.PROTOCOL_ID.getKey(), protocolId);
- }
-
- public File getTuttiBasedir() {
- return applicationConfig.getOptionAsFile(TuttiConfigOption.TUTTI_APPLICATION_BASEDIR.getKey());
- }
-
- public String getApplicationUpdateUrl() {
- return applicationConfig.getOption(TuttiConfigOption.TUTTI_UPDATE_APPLICATION_URL.getKey());
- }
-
- public String getDatabaseUpdateUrl() {
- return applicationConfig.getOption(TuttiConfigOption.TUTTI_UPDATE_DATABASE_URL.getKey());
- }
-}
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigOption.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigOption.java 2013-02-03 11:43:18 UTC (rev 305)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigOption.java 2013-02-03 12:46:05 UTC (rev 306)
@@ -1,266 +0,0 @@
-package fr.ifremer.tutti.ui.swing.config;
-
-/*
- * #%L
- * Tutti :: Application
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2012 Ifremer
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General 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.ifremer.tutti.ui.swing.util.editor.CoordinateEditorType;
-import org.nuiton.util.ApplicationConfig;
-
-import javax.swing.KeyStroke;
-import java.awt.Color;
-import java.io.File;
-import java.util.Locale;
-
-import static org.nuiton.i18n.I18n.n_;
-
-/**
- * All Tutti configuration options.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.1
- */
-public enum TuttiConfigOption implements ApplicationConfig.OptionDef {
-
- TUTTI_LAUNCH_MODE(
- "tutti.launch.mode",
- n_("tutti.launch.mode.description"),
- null,
- String.class,
- true,
- true
- ),
-
- TUTTI_APPLICATION_BASEDIR(
- "tutti.application.basedir",
- n_("tutti.application.basedir.description"),
- null,
- File.class,
- true,
- true
- ),
-
- TUTTI_I18N_DIRECTORY(
- "tutti.i18n.directory",
- n_("tutti.i18n.directory.description"),
- "${tutti.data.directory}/i18n",
- File.class,
- true,
- true
- ),
-
- TUTTI_I18N_LOCALE(
- "tutti.i18n.locale",
- n_("tutti.i18n.locale.description"),
- Locale.FRANCE.getCountry(),
- Locale.class,
- true,
- true
- ),
-
- TUTTI_UPDATE_APPLICATION_URL(
- "tutti.update.application.url",
- n_("tutti.update.application.url.description"),
- null,
- String.class,
- true,
- false
- ),
-
- TUTTI_UPDATE_DATABASE_URL(
- "tutti.update.database.url",
- n_("tutti.update.database.url.description"),
- null,
- String.class,
- true,
- false
- ),
-
- UI_CONFIG_FILE(
- "tutti.ui.config",
- n_("tutti.config.ui.config"),
- "${tutti.data.directory}/tuttiUI.xml",
- File.class
- ),
-
- PROGRAM_ID(
- "tutti.programId",
- n_("tutti.config.programId"),
- null,
- String.class
- ),
-
- CRUISE_ID(
- "tutti.cruiseId",
- n_("tutti.config.cruiseId"),
- null,
- String.class
- ),
-
- PROTOCOL_ID(
- "tutti.protocolId",
- n_("tutti.config.protocolId"),
- null,
- String.class
- ),
-
- AUTO_POPUP_NUMBER_EDITOR(
- "tutti.ui.autoPopupNumberEditor",
- n_("tutti.config.ui.autoPopupNumberEditor"),
- String.valueOf(false),
- Boolean.class
- ),
-
- SHOW_NUMBER_EDITOR_BUTTON(
- "tutti.ui.showNumberEditorButton",
- n_("tutti.config.ui.showNumberEditorButton"),
- String.valueOf(true),
- Boolean.class
- ),
-
- COLOR_ROW_READ_ONLY(
- "tutti.ui.color.rowReadOnly",
- n_("tutti.config.ui.color.rowReadOnly"),
- new Color(192, 192, 192).toString(),
- Color.class
- ),
-
- COLOR_ROW_INVALID(
- "tutti.ui.color.rowInvalid",
- n_("tutti.config.ui.color.rowInvalid"),
- new Color(255, 128, 128).toString(),
- Color.class
- ),
-
- COLOR_CELL_WITH_VALUE(
- "tutti.ui.color.cellWithValue",
- n_("tutti.config.ui.color.cellWithValue"),
- new Color(128, 255, 128).toString(),
- Color.class
- ),
-
- SHORTCUT_CLOSE_POPUP(
- "tutti.ui.shortcut.closePopup",
- n_("tutti.config.ui.shortcut.closePopup"),
- "alt pressed F",
- KeyStroke.class
- ),
-
- COORDINATE_EDITOR_TYPE(
- "tutti.ui.coordinateEditorType",
- n_("tutti.config.ui.coordinateEditorType"),
- CoordinateEditorType.DD.toString(),
- CoordinateEditorType.class
- ),
-
- DATE_FORMAT(
- "tutti.ui.dateFormat",
- n_("tutti.config.ui.dateFormat"),
- "dd/MM/yyyy",
- String.class
- );
-
- /** Configuration key. */
- private final String key;
-
- /** I18n key of option description */
- private final String description;
-
- /** Type of option */
- private final Class<?> type;
-
- /** Default value of option. */
- private String defaultValue;
-
- /** Flag to not keep option value on disk */
- private boolean isTransient;
-
- /** Flag to not allow option value modification */
- private boolean isFinal;
-
- TuttiConfigOption(String key,
- String description,
- String defaultValue,
- Class<?> type,
- boolean isTransient,
- boolean isFinal) {
- this.key = key;
- this.description = description;
- this.defaultValue = defaultValue;
- this.type = type;
- this.isTransient = isTransient;
- this.isFinal = isFinal;
- }
-
- TuttiConfigOption(String key,
- String description,
- String defaultValue,
- Class<?> type) {
- this(key, description, defaultValue, type, false, false);
- }
-
- @Override
- public String getKey() {
- return key;
- }
-
- @Override
- public Class<?> getType() {
- return type;
- }
-
- @Override
- public String getDescription() {
- return description;
- }
-
- @Override
- public String getDefaultValue() {
- return defaultValue;
- }
-
- @Override
- public boolean isTransient() {
- return isTransient;
- }
-
- @Override
- public boolean isFinal() {
- return isFinal;
- }
-
- @Override
- public void setDefaultValue(String defaultValue) {
- this.defaultValue = defaultValue;
- }
-
- @Override
- public void setTransient(boolean newValue) {
- // not used
- }
-
- @Override
- public void setFinal(boolean newValue) {
- // not used
- }
-}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java 2013-02-03 11:43:18 UTC (rev 305)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java 2013-02-03 12:46:05 UTC (rev 306)
@@ -55,7 +55,7 @@
public void createUI() {
- TuttiConfig config = mainUI.getHandler().getContext().getConfig();
+ TuttiApplicationConfig config = mainUI.getHandler().getContext().getConfig();
ConfigUIHelper helper = new ConfigUIHelper(config.getApplicationConfig());
@@ -99,25 +99,25 @@
CALLBACK_APPLICATION)
.addOption(TuttiServiceConfigOption.DATA_DIRECTORY)
.addOption(TuttiServiceConfigOption.SITE_URL)
- .addOption(TuttiConfigOption.UI_CONFIG_FILE);
+ .addOption(TuttiApplicationConfigOption.UI_CONFIG_FILE);
// UI
helper.addCategory(n_("tutti.config.category.ui"),
n_("tutti.config.category.ui.description"),
CALLBACK_UI)
- .addOption(TuttiConfigOption.COLOR_ROW_INVALID)
- .addOption(TuttiConfigOption.COLOR_ROW_READ_ONLY)
- .addOption(TuttiConfigOption.COLOR_CELL_WITH_VALUE)
- .addOption(TuttiConfigOption.DATE_FORMAT)
- .addOption(TuttiConfigOption.COORDINATE_EDITOR_TYPE);
+ .addOption(TuttiApplicationConfigOption.COLOR_ROW_INVALID)
+ .addOption(TuttiApplicationConfigOption.COLOR_ROW_READ_ONLY)
+ .addOption(TuttiApplicationConfigOption.COLOR_CELL_WITH_VALUE)
+ .addOption(TuttiApplicationConfigOption.DATE_FORMAT)
+ .addOption(TuttiApplicationConfigOption.COORDINATE_EDITOR_TYPE);
// SHORTCUT
helper.addCategory(n_("tutti.config.category.shortcuts"),
n_("tutti.config.category.shortcuts.description"),
CALLBACK_SHORTCUT)
- .addOption(TuttiConfigOption.SHORTCUT_CLOSE_POPUP);
+ .addOption(TuttiApplicationConfigOption.SHORTCUT_CLOSE_POPUP);
helper.setFinalizer(new MainCallBackFinalizer(CALLBACK_APPLICATION));
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-02-03 11:43:18 UTC (rev 305)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-02-03 12:46:05 UTC (rev 306)
@@ -94,7 +94,6 @@
tutti.action.validate=Valider
tutti.action.validateCatches=Valider les captures
tutti.action.validateCatches.tip=Valider les captures
-tutti.application.basedir.description=Répertoire principale de l'application
tutti.application.config=Configuration de l'application Tutti
tutti.application.directory.description=Répertoire contentant uniquement tutti
tutti.application.name=Tutti
@@ -104,19 +103,6 @@
tutti.config.category.shortcuts.description=Liste des raccourcis clavier
tutti.config.category.ui=Interface utilisateur
tutti.config.category.ui.description=Options de l'interface utilisateur
-tutti.config.cruiseId=Identifiant de la dernière campagne utilisée
-tutti.config.programId=Identifiant de la dernière série de campagne utilisée
-tutti.config.protocolId=Identifiant du dernier protocole utilisé
-tutti.config.ui.autoPopupNumberEditor=Toujours afficher le pavé numérique lors de l'édition d'un nombre
-tutti.config.ui.color.cellWithValue=Couleur d'une cellule avec des données
-tutti.config.ui.color.rowInvalid=Ligne invalide
-tutti.config.ui.color.rowReadOnly=Cellule non éditable
-tutti.config.ui.config=Chemin du fichier de configuration des interfaces graphiques
-tutti.config.ui.coordinateEditorType=Type de l'éditeur de coordonnées
-tutti.config.ui.dateFormat=Format de dates
-tutti.config.ui.shortcut.closePopup=Fermer une popup
-tutti.config.ui.showNumberEditorButton=Afficher le pavé numérique de saisie
-tutti.config.ui.useSexagecimalEditor=Utiliser l'éditeur sexagécimal pour entrer des coordonnées
tutti.dialog.askSaveBeforeLeaving.message=Vous avez fait des modifications qu vous n'avez pas enregistrées. Voulez-vous les enregistrer ?
tutti.dialog.askSaveBeforeLeaving.title=Modifications non enregistrées
tutti.dialog.catches.species.split.weightNotNull.message=Pour catégoriser un lot, il ne doit pas avoir de poids sous-échantillonné. Catégoriser le lot mettra le poids sous-échantillonné à nul.
@@ -125,9 +111,6 @@
tutti.errorTable.title=Rapport de contrôles
tutti.file.csv=Extension d'un fichier csv
tutti.file.protocol=Extension d'un fichier de protocole Tutti
-tutti.i18n.directory.description=Répertoire des fichiers de traductions
-tutti.i18n.locale.description=Langue utilisée dans l'application
-tutti.jre.directory.description=Répertoire de la jre
tutti.label.attachmentEditor.file=Fichier
tutti.label.attachmentEditor.fileComment=Commentaire
tutti.label.attachmentEditor.fileName=Nom
@@ -254,7 +237,6 @@
tutti.label.tab.protocol.species=Espèces
tutti.label.tab.species=Espèces
tutti.label.traitReminder=Trait \: %s
-tutti.launch.mode.description=
tutti.legend.catch.benthos=Benthos
tutti.legend.catch.macroWaste=Macro déchets
tutti.legend.catch.species=Espèces
@@ -276,6 +258,26 @@
tutti.menu.synchronisations=Synchronisation
tutti.menu.synchronisations.tip=Import/Export
tutti.message.action.running=<html>Action <strong>%s</strong> en cours d'execution...<hr/></html>
+tutti.option.application.basedir.description=Répertoire principale de l'application
+tutti.option.cruiseId.description=Identifiant de la dernière campagne utilisée
+tutti.option.i18n.directory.description=Répertoire des fichiers de traductions
+tutti.option.i18n.locale.description=Langue utilisée dans l'application
+tutti.option.jre.directory.description=Répertoire de la jre
+tutti.option.launch.mode.description=Mode de démarrage de l'application
+tutti.option.programId.description=Identifiant de la dernière série de campagne utilisée
+tutti.option.protocolId.description=Identifiant du dernier protocole utilisé
+tutti.option.ui.autoPopupNumberEditor.description=Toujours afficher le pavé numérique lors de l'édition d'un nombre
+tutti.option.ui.color.cellWithValue.description=Couleur d'une cellule avec des données
+tutti.option.ui.color.rowInvalid.description=Ligne invalide
+tutti.option.ui.color.rowReadOnly.description=Cellule non éditable
+tutti.option.ui.config.file.description=Chemin du fichier de configuration des interfaces graphiques
+tutti.option.ui.coordinateEditorType.description=Type de l'éditeur de coordonnées
+tutti.option.ui.dateFormat.description=Format de dates
+tutti.option.ui.shortcut.closePopup.description=Fermer une popup
+tutti.option.ui.showNumberEditorButton.description=Afficher le pavé numérique de saisie
+tutti.option.ui.useSexagecimalEditor=Utiliser l'éditeur sexagécimal pour entrer des coordonnées
+tutti.option.update.application.url.description=URL de mise à jour de la jre et de l'application
+tutti.option.update.database.url.description=URL de mise à jour de la base de données
tutti.sampleCategoryType.age=Age
tutti.sampleCategoryType.maturity=Maturité
tutti.sampleCategoryType.sex=Sexe
@@ -374,8 +376,6 @@
tutti.to.be.done=< A FAIRE >
tutti.tooltip.attachment.none=Pas de pièce-jointes
tutti.tooltip.comment.none=Pas de commentaire
-tutti.update.application.url.description=URL de mise à jour de la jre et de l'application
-tutti.update.database.url.description=URL de mise à jour de la base de données
tutti.validator.alert.none=Aucune alerte
tutti.validator.alert.one=1 alerte
tutti.validator.alert.several=%s alertes
1
0