Author: tchemit Date: 2013-01-10 14:42:09 +0100 (Thu, 10 Jan 2013) New Revision: 165 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/165 Log: continue queries + remove caracteristic booleanType and textType Added: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseFixtures.java Modified: trunk/pom.xml trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImpl.java trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/CruiseTest.java trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramTest.java trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevFixtures.java trunk/tutti-persistence/src/main/xmi/tutti-persistence.zargo trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/HydrologicCaracteristicUtil.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueEditor.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueRenderer.java Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2013-01-10 13:15:31 UTC (rev 164) +++ trunk/pom.xml 2013-01-10 13:42:09 UTC (rev 165) @@ -124,7 +124,7 @@ <h2Version>1.3.168</h2Version> <postgresqlVersion>9.1-901-1.jdbc4</postgresqlVersion> - <jaxxVersion>2.5.10-SNAPSHOT</jaxxVersion> + <jaxxVersion>2.5.9</jaxxVersion> <swingXVersion>1.6.4</swingXVersion> <xworkVersion>2.3.7</xworkVersion> Modified: trunk/tutti-persistence/src/main/xmi/tutti-persistence.zargo =================================================================== (Binary files differ) Modified: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImpl.java =================================================================== --- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImpl.java 2013-01-10 13:15:31 UTC (rev 164) +++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImpl.java 2013-01-10 13:42:09 UTC (rev 165) @@ -193,17 +193,22 @@ List<Vessel> result = Lists.newArrayList(); while (list.hasNext()) { Object[] source = list.next(); - Vessel target = new Vessel(); - target.setId((String) source[0]); - target.setRegistrationCode((String) source[1]); - target.setInternalRegistrationCode((String) source[2]); - target.setName((String) source[3]); - setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[4], target); + Vessel target = loadVessel(source); result.add(target); } return result; } + protected Vessel loadVessel(Object[] source) { + Vessel target = new Vessel(); + target.setId((String) source[0]); + target.setRegistrationCode((String) source[1]); + target.setInternalRegistrationCode((String) source[2]); + target.setName((String) source[3]); + setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[4], target); + return target; + } + @Override public List<Gear> getAllScientificGear() { @@ -249,12 +254,7 @@ List<Person> result = Lists.newArrayList(); while (list.hasNext()) { Object[] source = list.next(); - Person target = new Person(); - target.setId(String.valueOf(source[0])); - target.setFirstName(String.valueOf(source[1])); - target.setLastName(String.valueOf(source[2])); - target.setDepartment(String.valueOf(source[3])); - setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[4], target); + Person target = loadPerson(source); result.add(target); } return result; @@ -540,12 +540,41 @@ public Cruise getCruise(String id) { Object[] source = queryUnique( "cruise", - "cruiseId", StringType.INSTANCE, id); + "cruiseId", StringType.INSTANCE, id, + "locationLevelId", IntegerType.INSTANCE, getEnumerationIntegerCode("LocationLevelId.PAYS_ISO3")); Cruise result = new Cruise(); - result.setId((String) source[0]); - result.setName((String) source[1]); + result.setId(id); + String programCode = (String) source[0]; + Program program = getProgram(programCode); + result.setProgram(program); + + result.setYear((Integer) source[1]); + result.setName((String) source[2]); + + String countryId = String.valueOf(source[3]); + String countryLabel = (String) source[4]; + String countryName = (String) source[5]; + Country c = new Country(); + c.setId(countryId); + c.setName(countryName); + c.setLabel(countryLabel); + result.setCountry(c); + + result.setBeginDate((Date) source[6]); + result.setEndDate((Date) source[7]); + + String vesselCode = (String) source[8]; + Vessel vessel = getVessel(vesselCode); + result.setVessel(Lists.newArrayList(vessel)); + + Integer managerId = (Integer) source[9]; + Person manager = getPerson(managerId); + result.setHeadOfMission(Lists.newArrayList(manager)); + + result.setComment((String) source[10]); + // get secondary gears Iterator<Object[]> list = queryList( "allCruiseSecondaryGears", @@ -561,11 +590,36 @@ gears.add(target); } result.setGear(gears); + return result; + } + protected Vessel getVessel(String vesselCode) { + Object[] source = queryUnique( + "vessel", + "vesselCode", StringType.INSTANCE, vesselCode, + "refDate", DateType.INSTANCE, new Date()); + Vessel result = loadVessel(source); + return result; + } + protected Person getPerson(Integer personId) { + Object[] source = queryUnique( + "person", + "personId", IntegerType.INSTANCE, personId); + Person result = loadPerson(source); return result; } + protected Person loadPerson(Object[] source) { + Person target = new Person(); + target.setId(String.valueOf(source[0])); + target.setFirstName((String) source[1]); + target.setLastName((String) source[2]); + target.setDepartment((String) source[3]); + setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[4], target); + return target; + } + @Override public Cruise createCruise(Cruise bean) { throw new UnsupportedOperationException(); @@ -874,7 +928,8 @@ Integer pmfmId) { Preconditions.checkNotNull(caracteristic, "Caracteristic can not be null"); Preconditions.checkNotNull(pmfmId, "pmfmId can not be null"); - Preconditions.checkArgument(caracteristic.isQualitativeType(), "Caracteristic must be a qualitativeValue type"); + Preconditions.checkArgument(caracteristic.isQualitativeType(), + "Caracteristic must be a qualitativeValue type"); Iterator<Object[]> sources = queryList( "pmfmQualitativeValues", @@ -917,9 +972,11 @@ target.setMethodName(String.valueOf(source[4])); target.setNumberType(Boolean.valueOf(source[5].toString())); target.setQualitativeType(Boolean.valueOf(source[6].toString())); - - target.setUnit(String.valueOf(source[7])); - setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[8], target); + target.setSignifFiguresNumber(Integer.valueOf(source[7].toString())); + target.setMaximumNumberDecimals(Integer.valueOf(source[8].toString())); + target.setPrecision(Float.valueOf(source[9].toString())); + target.setUnit(String.valueOf(source[10])); + setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[11], target); return target; } Modified: trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml =================================================================== --- trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml 2013-01-10 13:15:31 UTC (rev 164) +++ trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml 2013-01-10 13:42:09 UTC (rev 165) @@ -86,30 +86,30 @@ <!-- Get a detail cruise [DAT-04] --> <query cacheable="true" name="cruise"> <![CDATA[ - select - sc.program.code as programCode, - year(sc.departureDateTime) as year, - -- partialSerie - pas stockée sous H2 ?? - sc.name, - lh.locationHierarchyPk.parent.label as countryLabel, - lh.locationHierarchyPk.parent.name as countryName, - sc.departureDateTime, - sc.returnDateTime, - sc.vessel.code as vesselCode, - mp.lastname as managerLastname, - mp.firstname as managerFirstName, - coalesce(sc.comments, ft.comments) as comments -from - ScientificCruiseImpl sc - left outer join sc.fishingTrips ft - left outer join sc.managerPerson mp, - LocationHierarchyImpl lh -where 1=1 - and sc.id = 100000 -- :scientificCruiseId - and lh.locationHierarchyPk.location.id = ft.departureLocation.id - and lh.locationHierarchyPk.parent.locationLevel.id = 21 -- locationLevel=Pays ISO 3 + SELECT + sc.program.code AS programCode, + year(sc.departureDateTime) AS year, + sc.name, + lh.locationHierarchyPk.parent.location.id AS countryId, + lh.locationHierarchyPk.parent.location.label AS countryLabel, + lh.locationHierarchyPk.parent.location.name AS countryName, + sc.departureDateTime, + sc.returnDateTime, + sc.vessel.code as vesselCode, + mp.id as managerId, + coalesce(sc.comments, ft.comments) as comments + FROM + ScientificCruiseImpl sc + LEFT OUTER JOIN sc.fishingTrips ft + LEFT OUTER JOIN sc.managerPerson mp, + LocationHierarchyImpl lh + WHERE + sc.id = :cruiseId + AND lh.locationHierarchyPk.location.id = ft.departureLocation.id + AND lh.locationHierarchyPk.parent.locationLevel.id = :countryLocationLevel ]]> - <query-param name="programCode" type="java.lang.String"/> + <query-param name="cruiseId" type="java.lang.String"/> + <query-param name="countryLocationLevel" type="java.lang.Integer"/> </query> <!-- Get all program zones [REF-01] --> @@ -179,6 +179,41 @@ <query-param name="refDate" type="java.util.Date"/> </query> + <!-- Get a vessel for a given vesselType [REF-03] et [REF-04]--> + <query cacheable="true" name="vessel"> + <![CDATA[ + SELECT + v.code AS vesselCode, + vrp.registrationCode AS nationalRegistrationCode, + vrp.internationalRegistrationCode as internationalRegistrationCode, + vf.name AS vesselName, + v.status AS status + FROM + VesselImpl v + INNER JOIN v.vesselRegistrationPeriods AS vrp + LEFT OUTER JOIN v.vesselFeatures AS vf + WHERE v.code = :vesselCode + AND v.status.code IN (1, 2) + AND vrp.vesselRegistrationPeriodPk.startDateTime = + ( + SELECT MAX(vrp2.vesselRegistrationPeriodPk.startDateTime) + FROM VesselRegistrationPeriodImpl vrp2 WHERE + vrp2.vesselRegistrationPeriodPk.vessel.code = v.code + AND (vrp2.vesselRegistrationPeriodPk.startDateTime <= :refDate OR :refDate IS NULL) + GROUP BY vrp2.vesselRegistrationPeriodPk.vessel.code + ) + AND vf.startDateTime = + ( + SELECT MAX(vf2.startDateTime) + FROM VesselFeaturesImpl vf2 WHERE + vf2.vessel.code = v.code + AND (vf2.startDateTime <= :refDate OR :refDate IS NULL) + GROUP BY vf2.vessel.code + )]]> + <query-param name="vesselCode" type="java.lang.String"/> + <query-param name="refDate" type="java.util.Date"/> + </query> + <!-- Get all gears [REF-05] and [REF-06] --> <query cacheable="true" name="allGears"> <![CDATA[ @@ -210,6 +245,22 @@ ]]> </query> + <!-- Get one persons [REF-07] --> + <query cacheable="true" name="person"> + <![CDATA[ + SELECT DISTINCT + p.id, + p.firstname, + p.lastname, + p.department, + p.status + FROM + PersonImpl p + WHERE p.id = :personId + ]]> + <query-param name="personId" type="java.lang.Integer"/> + </query> + <!-- TODO Fix it! Get all species [REF-08] --> <query cacheable="true" name="allSpecies"> <![CDATA[ @@ -461,6 +512,9 @@ p.method.name AS methodName, p.parameter.isAlphanumeric AS isAlphanumeric, p.parameter.isQualitative AS isQualitative, + p.signifFiguresNumber, + p.maximumNumberDecimals, + p.precision, p.unit.symbol AS symbol, p.status AS status FROM PmfmImpl p @@ -481,6 +535,9 @@ p.method.name AS methodName, p.parameter.isAlphanumeric AS isAlphanumeric, p.parameter.isQualitative AS isQualitative, + p.signifFiguresNumber, + p.maximumNumberDecimals, + p.precision, p.unit.symbol AS symbol, p.status AS status FROM PmfmImpl p Modified: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/CruiseTest.java =================================================================== --- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/CruiseTest.java 2013-01-10 13:15:31 UTC (rev 164) +++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/CruiseTest.java 2013-01-10 13:42:09 UTC (rev 165) @@ -24,11 +24,15 @@ * #L% */ +import fr.ifremer.tutti.persistence.entities.data.Cruise; import fr.ifremer.tutti.persistence.entities.data.Program; +import org.junit.Assert; import org.junit.ClassRule; import org.junit.Ignore; import org.junit.Test; +import java.util.List; + /** * To test operations around {@link Program}. * @@ -43,12 +47,18 @@ @Test public void getAllCruise(/*String programId*/) { - + String programCode = dbResource.getFixtures().programCode(); + List<Cruise> result = dbResource.getDriver().getAllCruise(programCode); + Assert.assertNotNull(result); + Assert.assertEquals(1, result.size()); } @Test public void getCruise(/*String id*/) { + String cruiseId = dbResource.getFixtures().cruiseId(); + Cruise result = dbResource.getDriver().getCruise(cruiseId); + Assert.assertNotNull(result); } @Test Added: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseFixtures.java =================================================================== --- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseFixtures.java (rev 0) +++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseFixtures.java 2013-01-10 13:42:09 UTC (rev 165) @@ -0,0 +1,42 @@ +package fr.ifremer.tutti.persistence; + +/* + * #%L + * Tutti :: Persistence Adagio (impl) + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 - 2013 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% + */ + +/** + * Fixtures for the allegro db. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.3 + */ +public class DatabaseFixtures { + + public String programCode() { + return "CAM-CGFS"; + } + + public String cruiseId() { + return "100000"; + } +} Property changes on: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseFixtures.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java =================================================================== --- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java 2013-01-10 13:15:31 UTC (rev 164) +++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java 2013-01-10 13:42:09 UTC (rev 165) @@ -60,6 +60,8 @@ protected TuttiPersistence driver; + protected DatabaseFixtures fixtures; + public TuttiPersistenceAdagioConfig getConfig() { return config; } @@ -68,6 +70,10 @@ return driver; } + public DatabaseFixtures getFixtures() { + return fixtures; + } + @Override public Statement apply(final Statement base, final Description description) { @@ -101,6 +107,7 @@ log.info("Prepare test " + testClass); } + fixtures = new DatabaseFixtures(); config = createConfig(testClass, ""); if (log.isDebugEnabled()) { Modified: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramTest.java =================================================================== --- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramTest.java 2013-01-10 13:15:31 UTC (rev 164) +++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramTest.java 2013-01-10 13:42:09 UTC (rev 165) @@ -52,7 +52,7 @@ @Test public void getProgram(/*String id*/) { - String programCode = "CAM-CGFS"; + String programCode = dbResource.getFixtures().programCode(); Program actual = dbResource.getDriver().getProgram(programCode); Assert.assertNotNull(actual); Assert.assertNotNull(actual.getId()); Modified: trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevFixtures.java =================================================================== --- trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevFixtures.java 2013-01-10 13:15:31 UTC (rev 164) +++ trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevFixtures.java 2013-01-10 13:42:09 UTC (rev 165) @@ -235,7 +235,7 @@ Caracteristic ca; ca = createQualitativeCaracteristic("Vent Beaufort", - CaracteristicEnum.FishingOperationEnvironment.name()); + CaracteristicEnum.FishingOperationEnvironment.name()); createCaracteristicQualitativeValue(ca, "Calme"); createCaracteristicQualitativeValue(ca, "Très légère brise"); @@ -247,7 +247,7 @@ createCaracteristicQualitativeValue(ca, "Fort coup de vent"); ca = createQualitativeCaracteristic("État de la mer", - CaracteristicEnum.FishingOperationEnvironment.name()); + CaracteristicEnum.FishingOperationEnvironment.name()); createCaracteristicQualitativeValue(ca, "Mer calme"); createCaracteristicQualitativeValue(ca, "Mer agitée"); @@ -269,11 +269,17 @@ CaracteristicEnum.FishingOperationGear.name()); createNumberCaracteristic("Longueur bras", CaracteristicEnum.FishingOperationGear.name()); - createBooleanCaracteristic("Systeme cul ferme", - CaracteristicEnum.FishingOperationGear.name()); - createBooleanCaracteristic("Géométrie mesurée", - CaracteristicEnum.FishingOperationGear.name()); + ca = createQualitativeCaracteristic("Systeme cul ferme", + CaracteristicEnum.FishingOperationGear.name()); + createCaracteristicQualitativeValue(ca, "Oui"); + createCaracteristicQualitativeValue(ca, "Non"); + + ca = createQualitativeCaracteristic("Géométrie mesurée", + CaracteristicEnum.FishingOperationGear.name()); + createCaracteristicQualitativeValue(ca, "Oui"); + createCaracteristicQualitativeValue(ca, "Non"); + createNumberCaracteristic("Température Surface_S", CaracteristicEnum.FishingOperationHydrologic_surfaceTemperature.name()); createNumberCaracteristic("Température Surface_E", @@ -372,7 +378,7 @@ createCaracteristicQualitativeValue(ca, "piece"); ca = createQualitativeCaracteristic("MacroWaste Size category", - CaracteristicEnum.MacroWasteSizeCategory.name()); + CaracteristicEnum.MacroWasteSizeCategory.name()); createCaracteristicQualitativeValue(ca, "<5*5cm = 25cm²"); createCaracteristicQualitativeValue(ca, "<10*10cm = 100cm²"); createCaracteristicQualitativeValue(ca, "<20*20cm = 400cm²"); @@ -423,16 +429,6 @@ return ca; } - protected Caracteristic createBooleanCaracteristic(String name, String category) { - Caracteristic ca = new Caracteristic(); - ca.setId(UUID.randomUUID().toString()); - ca.setName(name); - ca.setCategory(category); - ca.setBooleanType(true); - cache.put(Caracteristic.class, ca); - return ca; - } - protected Caracteristic createNumberCaracteristic(String name, String category) { Caracteristic ca = new Caracteristic(); ca.setId(UUID.randomUUID().toString()); @@ -443,16 +439,6 @@ return ca; } - protected Caracteristic createTextCaracteristic(String name, String category) { - Caracteristic ca = new Caracteristic(); - ca.setId(UUID.randomUUID().toString()); - ca.setName(name); - ca.setCategory(category); - ca.setTextType(true); - cache.put(Caracteristic.class, ca); - return ca; - } - public <B extends IdAware> List<B> getData(Class<B> entityType) { List<B> result = (List<B>) cache.get(entityType); return result; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/HydrologicCaracteristicUtil.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/HydrologicCaracteristicUtil.java 2013-01-10 13:15:31 UTC (rev 164) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/HydrologicCaracteristicUtil.java 2013-01-10 13:42:09 UTC (rev 165) @@ -52,11 +52,12 @@ caracteristic.setId(name); if (toClone != null) { caracteristic.setCategory(toClone.getCategory()); - caracteristic.setBooleanType(toClone.isBooleanType()); + caracteristic.setPrecision(toClone.getPrecision()); + caracteristic.setMaximumNumberDecimals(toClone.getMaximumNumberDecimals()); + caracteristic.setSignifFiguresNumber(toClone.getSignifFiguresNumber()); caracteristic.setNumberType(toClone.isNumberType()); caracteristic.setQualitativeType(toClone.isQualitativeType()); caracteristic.setQualitativeValue(toClone.getQualitativeValue()); - caracteristic.setTextType(toClone.isTextType()); caracteristic.setUnit(toClone.getUnit()); } return caracteristic; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueEditor.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueEditor.java 2013-01-10 13:15:31 UTC (rev 164) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueEditor.java 2013-01-10 13:42:09 UTC (rev 165) @@ -88,10 +88,7 @@ Caracteristic caracteristic = (Caracteristic) table.getModel().getValueAt(row, caracteristicColumn); if (caracteristic != null) { - if (caracteristic.isBooleanType()) { - editor = table.getDefaultEditor(Boolean.class); - - } else if (caracteristic.isNumberType()) { + if (caracteristic.isNumberType()) { NumberCellEditor<Float> editor = JAXXWidgetUtil.newNumberTableCellEditor(Float.class, false); editor.getNumberEditor().setSelectAllTextOnError(true); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueRenderer.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueRenderer.java 2013-01-10 13:15:31 UTC (rev 164) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueRenderer.java 2013-01-10 13:42:09 UTC (rev 165) @@ -64,10 +64,7 @@ TableCellRenderer renderer = table.getDefaultRenderer(Object.class); Caracteristic caracteristic = (Caracteristic) table.getModel().getValueAt(row, caracteristicColumn); if (caracteristic != null) { - if (caracteristic.isBooleanType()) { - renderer = table.getDefaultRenderer(Boolean.class); - - } else if (caracteristic.isQualitativeType()) { + if (caracteristic.isQualitativeType()) { renderer = new DecoratorTableCellRenderer(decorator); } }