Author: kmorin Date: 2012-12-20 18:05:25 +0100 (Thu, 20 Dec 2012) New Revision: 99 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/99 Log: refs #1812 Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/CaracteristicRow.java 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/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/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/gearshooting/GearShootingRowModel.java 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/HydrologyRowModel.java 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/HydrologyTabUIModel.java 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 2012-12-20 16:08:26 UTC (rev 98) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2012-12-20 17:05:25 UTC (rev 99) @@ -26,8 +26,10 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; +import fr.ifremer.tutti.persistence.entities.CaracteristicMap; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.entities.data.Program; +import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.persistence.entities.referential.FishingOperationLocation; import fr.ifremer.tutti.persistence.entities.referential.Person; import fr.ifremer.tutti.persistence.entities.referential.Zone; @@ -53,7 +55,6 @@ import java.util.List; import java.util.Map; -import static org.nuiton.i18n.I18n._; /** * Handler for UI {@link EditFishingOperationUI}. @@ -218,42 +219,45 @@ //init gear shooting GearShootingTabUIModel gearShootingModel = ui.getGearShootingTabContent().getModel(); + gearShootingModel.setAvailableCaracteristics(persistenceService.getAllFishingOperationGearCaracteristic()); gearShootingModel.addPropertyChangeListener( - EditFishingOperationUIModel.PROPERTY_GEAR_SHOOTING_PARAMETERS, + EditFishingOperationUIModel.PROPERTY_GEAR_SHOOTING_CARACTERISTICS, new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { model.setModify(true); - model.setGearShootingParameters((Map<Object, Object>) evt.getNewValue()); + model.setGearShootingCaracteristics((CaracteristicMap) evt.getNewValue()); } } ); - Map<Object, Object> gearShootingParams = getDefaultGearShootingParams(); - ui.getModel().setGearShootingParameters(gearShootingParams); - gearShootingModel.setGearShootingParameters(gearShootingParams); + CaracteristicMap gearShootingCaracteristics = getDefaultGearShootingCaracteristics(); + ui.getModel().setGearShootingCaracteristics(gearShootingCaracteristics); + gearShootingModel.setGearShootingCaracteristics(gearShootingCaracteristics); //init environment EnvironmentTabUIModel environmentModel = ui.getEnvironmentTabContent().getModel(); + environmentModel.setAvailableCaracteristics(persistenceService.getAllFishingOperationEnvironmentCaracteristic()); environmentModel.addPropertyChangeListener( - EditFishingOperationUIModel.PROPERTY_ENVIRONMENT_PARAMETERS, + EditFishingOperationUIModel.PROPERTY_ENVIRONMENT_CARACTERISTICS, new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { model.setModify(true); - model.setEnvironmentParameters((Map<Object, Object>) evt.getNewValue()); + model.setEnvironmentCaracteristics((CaracteristicMap) evt.getNewValue()); } } ); - Map<Object, Object> environmentParams = getDefaultEnvironmentParams(); - ui.getModel().setEnvironmentParameters(environmentParams); - environmentModel.setEnvironmentParameters(environmentParams); + CaracteristicMap environmentCaracteristics = ui.getModel().getEnvironmentCaracteristics(); + ui.getModel().setEnvironmentCaracteristics(environmentCaracteristics); + environmentModel.setEnvironmentCaracteristics(environmentCaracteristics); //init hydrology HydrologyTabUIModel hydrologyModel = ui.getHydrologyTabContent().getModel(); + hydrologyModel.setAvailableCaracteristics(persistenceService.getAllFishingOperationHydrologicCaracteristic()); hydrologyModel.addPropertyChangeListener( - EditFishingOperationUIModel.PROPERTY_HYDROLOGY_PARAMETERS, + EditFishingOperationUIModel.PROPERTY_HYDROLOGY_CARACTERISTICS, new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { @@ -261,85 +265,87 @@ } } ); - Map<Object, Object> hydrologyParams = getDefaultHydrologyParams(); - ui.getModel().setHydrologyParameters(hydrologyParams); - hydrologyModel.setHydrologyParameters(getDefaultHydrologyParams()); + CaracteristicMap hydrologyCaracteristics = getDefaultHydrologyCaracteristics(); + ui.getModel().setHydrologyCaracteristics(hydrologyCaracteristics); + hydrologyModel.setHydrologyCaracteristics(hydrologyCaracteristics); } - protected Map<Object, Object> getDefaultGearShootingParams() { - Map<Object, Object> gearShootingParams = Maps.newLinkedHashMap(); - gearShootingParams.put( - _(new String("tutti.table.fishing.gearShooting.keys." + GearShootingTabUIModel.KEY_START_DEPTH)), - null - ); - gearShootingParams.put( - _(new String("tutti.table.fishing.gearShooting.keys." + GearShootingTabUIModel.KEY_END_DEPTH)), - null - ); - gearShootingParams.put( - _(new String("tutti.table.fishing.gearShooting.keys." + GearShootingTabUIModel.KEY_HORIZONTAL_APERTURE)), - null - ); - gearShootingParams.put( - _(new String("tutti.table.fishing.gearShooting.keys." + GearShootingTabUIModel.KEY_VERTICAL_APERTURE)), - null - ); - gearShootingParams.put( - _(new String("tutti.table.fishing.gearShooting.keys." + GearShootingTabUIModel.KEY_WARP_LENGTH)), - null - ); - gearShootingParams.put( - _(new String("tutti.table.fishing.gearShooting.keys." + GearShootingTabUIModel.KEY_ARM_LENGTH)), - null - ); - gearShootingParams.put( - _(new String("tutti.table.fishing.gearShooting.keys." + GearShootingTabUIModel.KEY_SYSTEME_FERMETURE_CUL)), - null - ); - gearShootingParams.put( - _(new String("tutti.table.fishing.gearShooting.keys." + GearShootingTabUIModel.KEY_MEASURED_GEOMETRY)), - null - ); + protected CaracteristicMap getDefaultGearShootingCaracteristics() { + CaracteristicMap gearShootingCaracteristics = new CaracteristicMap(); +// gearShootingParams.put( +// _(new String("tutti.table.fishing.gearShooting.keys." + GearShootingTabUIModel.KEY_START_DEPTH)), +// null +// ); +// gearShootingParams.put( +// _(new String("tutti.table.fishing.gearShooting.keys." + GearShootingTabUIModel.KEY_END_DEPTH)), +// null +// ); +// gearShootingParams.put( +// _(new String("tutti.table.fishing.gearShooting.keys." + GearShootingTabUIModel.KEY_HORIZONTAL_APERTURE)), +// null +// ); +// gearShootingParams.put( +// _(new String("tutti.table.fishing.gearShooting.keys." + GearShootingTabUIModel.KEY_VERTICAL_APERTURE)), +// null +// ); +// gearShootingParams.put( +// _(new String("tutti.table.fishing.gearShooting.keys." + GearShootingTabUIModel.KEY_WARP_LENGTH)), +// null +// ); +// gearShootingParams.put( +// _(new String("tutti.table.fishing.gearShooting.keys." + GearShootingTabUIModel.KEY_ARM_LENGTH)), +// null +// ); +// gearShootingParams.put( +// _(new String("tutti.table.fishing.gearShooting.keys." + GearShootingTabUIModel.KEY_SYSTEME_FERMETURE_CUL)), +// null +// ); +// gearShootingParams.put( +// _(new String("tutti.table.fishing.gearShooting.keys." + GearShootingTabUIModel.KEY_MEASURED_GEOMETRY)), +// null +// ); - return gearShootingParams; + return gearShootingCaracteristics; } - protected Map<Object, Object> getDefaultEnvironmentParams() { - Map<Object, Object> environmentParams = Maps.newLinkedHashMap(); - environmentParams.put( - _(new String("tutti.table.fishing.environment.keys." + EnvironmentTabUIModel.KEY_BEAUFORT_SCALE)), - null - ); - environmentParams.put( - _(new String("tutti.table.fishing.environment.keys." + EnvironmentTabUIModel.KEY_WIND_DIRECTION)), - null - ); - environmentParams.put( - _(new String("tutti.table.fishing.environment.keys." + EnvironmentTabUIModel.KEY_SEA_STATE)), - null - ); - return environmentParams; + protected CaracteristicMap getDefaultEnvironmentCaracteristics() { + CaracteristicMap environmentCaracteristics = new CaracteristicMap(); + List<Caracteristic> availableCaracteristics = ui.getEnvironmentTabContent().getModel().getAvailableCaracteristics(); +// environmentCaracteristics.put(availableCaracteristics.get(0), ); +// environmentCaracteristics.put( +// _(new String("tutti.table.fishing.environment.keys." + EnvironmentTabUIModel.KEY_BEAUFORT_SCALE)), +// null +// ); +// environmentCaracteristics.put( +// _(new String("tutti.table.fishing.environment.keys." + EnvironmentTabUIModel.KEY_WIND_DIRECTION)), +// null +// ); +// environmentCaracteristics.put( +// _(new String("tutti.table.fishing.environment.keys." + EnvironmentTabUIModel.KEY_SEA_STATE)), +// null +// ); + return environmentCaracteristics; } - protected Map<Object, Object> getDefaultHydrologyParams() { - Map<Object, Object> hydrologyParams = Maps.newLinkedHashMap(); - hydrologyParams.put( - _(new String("tutti.table.fishing.hydrology.keys." + HydrologyTabUIModel.TEMPERATURE + "." + HydrologyTabUIModel.SURFACE)), - null - ); - hydrologyParams.put( - _(new String("tutti.table.fishing.hydrology.keys." + HydrologyTabUIModel.TEMPERATURE + "." + HydrologyTabUIModel.BOTTOM)), - null - ); - hydrologyParams.put( - _(new String("tutti.table.fishing.hydrology.keys." + HydrologyTabUIModel.SALINITY + "." + HydrologyTabUIModel.SURFACE)), - null - ); - hydrologyParams.put( - _(new String("tutti.table.fishing.hydrology.keys." + HydrologyTabUIModel.SALINITY + "." + HydrologyTabUIModel.BOTTOM)), - null - ); - return hydrologyParams; + protected CaracteristicMap getDefaultHydrologyCaracteristics() { + CaracteristicMap hydrologyCaracteristics = new CaracteristicMap(); +// hydrologyCaracteristics.put( +// _(new String("tutti.table.fishing.hydrology.keys." + HydrologyTabUIModel.TEMPERATURE + "." + HydrologyTabUIModel.SURFACE)), +// null +// ); +// hydrologyCaracteristics.put( +// _(new String("tutti.table.fishing.hydrology.keys." + HydrologyTabUIModel.TEMPERATURE + "." + HydrologyTabUIModel.BOTTOM)), +// null +// ); +// hydrologyCaracteristics.put( +// _(new String("tutti.table.fishing.hydrology.keys." + HydrologyTabUIModel.SALINITY + "." + HydrologyTabUIModel.SURFACE)), +// null +// ); +// hydrologyCaracteristics.put( +// _(new String("tutti.table.fishing.hydrology.keys." + HydrologyTabUIModel.SALINITY + "." + HydrologyTabUIModel.BOTTOM)), +// null +// ); + return hydrologyCaracteristics; } @Override @@ -424,17 +430,17 @@ //reset gear shooting GearShootingTabUI gearShootingTab = ui.getGearShootingTabContent(); - gearShootingTab.getModel().setGearShootingParameters(getDefaultGearShootingParams()); + gearShootingTab.getModel().setGearShootingCaracteristics(getDefaultGearShootingCaracteristics()); gearShootingTab.getHandler().reset(); //reset environment EnvironmentTabUI environmentTab = ui.getEnvironmentTabContent(); - environmentTab.getModel().setEnvironmentParameters(getDefaultEnvironmentParams()); + environmentTab.getModel().setEnvironmentCaracteristics(getDefaultEnvironmentCaracteristics()); environmentTab.getHandler().reset(); //reset hydrology HydrologyTabUI hydrologyTab = ui.getHydrologyTabContent(); - hydrologyTab.getModel().setHydrologyParameters(getDefaultHydrologyParams()); + hydrologyTab.getModel().setHydrologyCaracteristics(getDefaultHydrologyCaracteristics()); hydrologyTab.getHandler().reset(); fishingOperationMonitor.clearModified(); @@ -483,12 +489,12 @@ // getModel().setModify(false); - for (Object key : ui.getModel().getEnvironmentParameters().keySet()) { - log.info(key + " : " + ui.getModel().getEnvironmentParameters().get(key)); + for (Object key : ui.getModel().getEnvironmentCaracteristics().keySet()) { + log.info(key + " : " + ui.getModel().getEnvironmentCaracteristics().get(key)); } - for (Object key : ui.getModel().getHydrologyParameters().keySet()) { - log.info(key + " : " + ui.getModel().getHydrologyParameters().get(key)); + for (Object key : ui.getModel().getHydrologyCaracteristics().keySet()) { + log.info(key + " : " + ui.getModel().getHydrologyCaracteristics().get(key)); } } 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 2012-12-20 16:08:26 UTC (rev 98) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java 2012-12-20 17:05:25 UTC (rev 99) @@ -24,12 +24,14 @@ * #L% */ +import fr.ifremer.tutti.persistence.entities.CaracteristicMap; import fr.ifremer.tutti.persistence.entities.data.Cruise; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.entities.referential.FishingOperationLocation; import fr.ifremer.tutti.persistence.entities.referential.Person; import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel; import fr.ird.type.SexagecimalPosition; +import java.util.Collection; import org.nuiton.util.beans.Binder; import org.nuiton.util.beans.BinderFactory; @@ -85,11 +87,11 @@ public static final String PROPERTY_SAISISSEUR = "saisisseur"; - public static final String PROPERTY_GEAR_SHOOTING_PARAMETERS = "gearShootingParameters"; + public static final String PROPERTY_GEAR_SHOOTING_CARACTERISTICS = "gearShootingCaracteristics"; - public static final String PROPERTY_ENVIRONMENT_PARAMETERS = "environmentParameters"; + public static final String PROPERTY_ENVIRONMENT_CARACTERISTICS = "environmentCaracteristics"; - public static final String PROPERTY_HYDROLOGY_PARAMETERS = "hydrologyParameters"; + public static final String PROPERTY_HYDROLOGY_CARACTERISTICS = "hydrologyCaracteristics"; protected boolean empty; @@ -145,14 +147,14 @@ protected List<Person> saisisseur; - protected Map<Object, Object> gearShootingParameters; + protected CaracteristicMap gearShootingCaracteristics; - protected Map<Object, Object> environmentParameters; + protected CaracteristicMap environmentCaracteristics; + protected CaracteristicMap hydrologyCaracteristics; + protected FishingOperation fishingOperation; - protected Map<Object, Object> hydrologyParameters; - protected static Binder<EditFishingOperationUIModel, FishingOperation> toBeanBinder = BinderFactory.newBinder(EditFishingOperationUIModel.class, FishingOperation.class); @@ -374,33 +376,33 @@ return fishingOperation; } - public Map<Object, Object> getGearShootingParameters() { - return gearShootingParameters; + public CaracteristicMap getGearShootingCaracteristics() { + return gearShootingCaracteristics; } - public void setGearShootingParameters(Map<Object, Object> gearShootingParameters) { - Object oldValue = getGearShootingParameters(); - this.gearShootingParameters = gearShootingParameters; - firePropertyChange(PROPERTY_GEAR_SHOOTING_PARAMETERS, oldValue, gearShootingParameters); + public void setGearShootingCaracteristics(CaracteristicMap gearShootingParameters) { + Object oldValue = getGearShootingCaracteristics(); + this.gearShootingCaracteristics = gearShootingParameters; + firePropertyChange(PROPERTY_GEAR_SHOOTING_CARACTERISTICS, oldValue, gearShootingParameters); } - public Map<Object, Object> getEnvironmentParameters() { - return environmentParameters; + public CaracteristicMap getEnvironmentCaracteristics() { + return environmentCaracteristics; } - public void setEnvironmentParameters(Map<Object, Object> environmentParameters) { - Object oldValue = getEnvironmentParameters(); - this.environmentParameters = environmentParameters; - firePropertyChange(PROPERTY_ENVIRONMENT_PARAMETERS, oldValue, environmentParameters); + public void setEnvironmentCaracteristics(CaracteristicMap environmentParameters) { + Object oldValue = getEnvironmentCaracteristics(); + this.environmentCaracteristics = environmentParameters; + firePropertyChange(PROPERTY_ENVIRONMENT_CARACTERISTICS, oldValue, environmentParameters); } - public Map<Object, Object> getHydrologyParameters() { - return hydrologyParameters; + public CaracteristicMap getHydrologyCaracteristics() { + return hydrologyCaracteristics; } - public void setHydrologyParameters(Map<Object, Object> hydrologyParameters) { - Object oldValue = getHydrologyParameters(); - this.hydrologyParameters = hydrologyParameters; - firePropertyChange(PROPERTY_HYDROLOGY_PARAMETERS, oldValue, hydrologyParameters); + public void setHydrologyCaracteristics(CaracteristicMap hydrologyParameters) { + Object oldValue = getHydrologyCaracteristics(); + this.hydrologyCaracteristics = hydrologyParameters; + firePropertyChange(PROPERTY_HYDROLOGY_CARACTERISTICS, oldValue, hydrologyParameters); } } \ No newline at end of file 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 2012-12-20 16:08:26 UTC (rev 98) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentRowModel.java 2012-12-20 17:05:25 UTC (rev 99) @@ -24,7 +24,10 @@ * #L% */ +import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel; +import fr.ifremer.tutti.ui.swing.util.table.CaracteristicRow; +import java.util.Map.Entry; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.util.beans.Binder; @@ -35,39 +38,39 @@ * @author kmorin * @since 0.3 */ -public class EnvironmentRowModel extends AbstractTuttiBeanUIModel<Object, EnvironmentRowModel> { +public class EnvironmentRowModel extends AbstractTuttiBeanUIModel<CaracteristicRow, EnvironmentRowModel> { private static final Log log = LogFactory.getLog(EnvironmentRowModel.class); public static final String PROPERTY_KEY = "key"; public static final String PROPERTY_VALUE = "value"; - protected static final Binder<Object, EnvironmentRowModel> fromBeanBinder = - BinderFactory.newBinder(Object.class, + protected static final Binder<CaracteristicRow, EnvironmentRowModel> fromBeanBinder = + BinderFactory.newBinder(CaracteristicRow.class, EnvironmentRowModel.class); - protected static final Binder<EnvironmentRowModel, Object> toBeanBinder = + protected static final Binder<EnvironmentRowModel, CaracteristicRow> toBeanBinder = BinderFactory.newBinder(EnvironmentRowModel.class, - Object.class); + CaracteristicRow.class); - protected String key; + protected Caracteristic key; protected String value; public EnvironmentRowModel() { - super(Object.class, fromBeanBinder, toBeanBinder); + super(CaracteristicRow.class, fromBeanBinder, toBeanBinder); } - public EnvironmentRowModel(String key) { + public EnvironmentRowModel(Caracteristic key) { this(); this.key = key; } - public String getKey() { + public Caracteristic getKey() { return key; } - public void setKey(String key) { + public void setKey(Caracteristic key) { Object oldValue = getKey(); this.key = key; firePropertyChange(PROPERTY_KEY, oldValue, key); 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 2012-12-20 16:08:26 UTC (rev 98) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java 2012-12-20 17:05:25 UTC (rev 99) @@ -25,10 +25,13 @@ */ import com.google.common.collect.Lists; +import fr.ifremer.tutti.persistence.entities.CaracteristicMap; +import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUI; import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor; import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableModel; import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler; +import fr.ifremer.tutti.ui.swing.util.table.CaracteristicRow; import fr.ifremer.tutti.ui.swing.util.table.TableRowModificationListener; import java.util.Collection; import java.util.List; @@ -39,6 +42,7 @@ import javax.swing.event.ListDataListener; import javax.swing.event.ListSelectionListener; import javax.swing.table.TableColumnModel; +import jaxx.runtime.swing.renderer.DecoratorTableCellRenderer; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdesktop.swingx.JXTable; @@ -77,7 +81,7 @@ { - addColumnToModel(columnModel, EnvironmentTableModel.KEY); + addColumnToModel(columnModel, null, newTableCellRender(Caracteristic.class), EnvironmentTableModel.KEY); } { @@ -155,7 +159,7 @@ TuttiBeanMonitor<EnvironmentRowModel> monitor = getRowMonitor(); EnvironmentRowModel row = monitor.getBean(); if (row != null) { - ui.getModel().setParameter(row.getKey(), row.getValue()); + ui.getModel().setCaracteristic(row.getKey(), row.getValue()); } } }; @@ -177,24 +181,25 @@ */ public void addRow() { JComboBox keyCombo = ui.getNewRowKey(); - String key = (String) keyCombo.getSelectedItem(); - EnvironmentRowModel row = new EnvironmentRowModel(key); + CaracteristicRow selectedItem = (CaracteristicRow) keyCombo.getSelectedItem(); + Caracteristic caracteristic = selectedItem.getCaracteristics()[0]; + EnvironmentRowModel row = new EnvironmentRowModel(caracteristic); getTableModel().addNewRow(getTable().getRowCount(), row); - ui.getModel().setParameter(key, null); + ui.getModel().setCaracteristic(caracteristic, null); - keyCombo.removeItem(key); + keyCombo.removeItem(selectedItem); } /** * Resets the table with the data from the database */ public void reset() { - Map<Object, Object> environmentParameters = ui.getModel().getEnvironmentParameters(); + CaracteristicMap environmentCaracteristics = ui.getModel().getEnvironmentCaracteristics(); List<EnvironmentRowModel> rows = Lists.newArrayList(); - Collection<Object> params = environmentParameters.keySet(); - for (Object key : environmentParameters.keySet()) { - rows.add(new EnvironmentRowModel(key.toString())); + Collection<Caracteristic> caracteristics = environmentCaracteristics.keySet(); + for (Caracteristic key : environmentCaracteristics.keySet()) { + rows.add(new EnvironmentRowModel(key)); } AbstractTuttiTableModel<EnvironmentRowModel> tableModel = getTableModel(); @@ -203,9 +208,13 @@ JComboBox keyCombo = ui.getNewRowKey(); DefaultComboBoxModel keyComboModel = (DefaultComboBoxModel) keyCombo.getModel(); keyComboModel.removeAllElements(); - for (String param : ui.getModel().getKeys()) { - if (!params.contains(param)) { - keyComboModel.addElement(param); + + List<Caracteristic> availableCaracteristics = ui.getModel().getAvailableCaracteristics(); + log.info(availableCaracteristics); + for (Caracteristic caracteristic : availableCaracteristics) { + if (!caracteristics.contains(caracteristic)) { + CaracteristicRow row = new CaracteristicRow(caracteristic.getName(), caracteristic); + keyComboModel.addElement(row); } } } 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 2012-12-20 16:08:26 UTC (rev 98) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIModel.java 2012-12-20 17:05:25 UTC (rev 99) @@ -24,9 +24,12 @@ * #L% */ +import java.util.List; +import fr.ifremer.tutti.persistence.entities.CaracteristicMap; import com.google.common.collect.Maps; import java.util.Map; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; +import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUIModel; import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIModel; import org.nuiton.util.beans.Binder; @@ -41,11 +44,9 @@ */ public class EnvironmentTabUIModel extends AbstractTuttiTableUIModel<FishingOperation, EnvironmentRowModel, EnvironmentTabUIModel> { - protected Map<Object, Object> environmentParameters; + protected CaracteristicMap environmentCaracteristics; - public static final String KEY_BEAUFORT_SCALE = "beaufortScale"; - public static final String KEY_WIND_DIRECTION = "windDirection"; - public static final String KEY_SEA_STATE = "seaState"; + protected List<Caracteristic> availableCaracteristics; protected static final Binder<FishingOperation, EnvironmentTabUIModel> fromBeanBinder = BinderModelBuilder.newEmptyBuilder(FishingOperation.class, EnvironmentTabUIModel.class) .toBinder(); @@ -57,28 +58,27 @@ super(FishingOperation.class, fromBeanBinder, toBeanBinder); } - public Map<Object, Object> getEnvironmentParameters() { - return environmentParameters; + public CaracteristicMap getEnvironmentCaracteristics() { + return environmentCaracteristics; } - public void setEnvironmentParameters(Map<Object, Object> environmentParameters) { - this.environmentParameters = environmentParameters; + public void setEnvironmentCaracteristics(CaracteristicMap environmentCaracteristics) { + this.environmentCaracteristics = environmentCaracteristics; } - public void setParameter(Object param, Object value) { - Object oldValue = Maps.newLinkedHashMap(environmentParameters); - environmentParameters.put(param, value); - firePropertyChange(EditFishingOperationUIModel.PROPERTY_ENVIRONMENT_PARAMETERS, oldValue, environmentParameters); + public void setCaracteristic(Caracteristic caracteristic, Object value) { + Object oldValue = environmentCaracteristics.clone(); + environmentCaracteristics.put(caracteristic, value); + firePropertyChange(EditFishingOperationUIModel.PROPERTY_ENVIRONMENT_CARACTERISTICS, oldValue, environmentCaracteristics); } - public String[] getKeys() { - return new String[] { - _(new String("tutti.table.fishing.environment.keys." + KEY_BEAUFORT_SCALE)), - _(new String("tutti.table.fishing.environment.keys." + KEY_WIND_DIRECTION)), - _(new String("tutti.table.fishing.environment.keys." + KEY_SEA_STATE)), - _(new String("tutti.table.fishing.environment.keys." + "key3")), - _(new String("tutti.table.fishing.environment.keys." + "key4")), - _(new String("tutti.table.fishing.environment.keys." + "key5")) - }; + public List<Caracteristic> getAvailableCaracteristics() { + return availableCaracteristics; } + + public void setAvailableCaracteristics(List<Caracteristic> caracteristics) { +// Object oldValue = availableCaracteristics; + availableCaracteristics = caracteristics; +// firePropertyChange(EditFishingOperationUIModel.PROPERTY_ENVIRONMENT_CARACTERISTICS, oldValue, availableCaracteristics); + } } 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 2012-12-20 16:08:26 UTC (rev 98) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingRowModel.java 2012-12-20 17:05:25 UTC (rev 99) @@ -24,7 +24,9 @@ * #L% */ +import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel; +import fr.ifremer.tutti.ui.swing.util.table.CaracteristicRow; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.util.beans.Binder; @@ -35,39 +37,39 @@ * @author kmorin * @since 0.3 */ -public class GearShootingRowModel extends AbstractTuttiBeanUIModel<Object, GearShootingRowModel> { +public class GearShootingRowModel extends AbstractTuttiBeanUIModel<CaracteristicRow, GearShootingRowModel> { private static final Log log = LogFactory.getLog(GearShootingRowModel.class); public static final String PROPERTY_KEY = "key"; public static final String PROPERTY_VALUE = "value"; - protected static final Binder<Object, GearShootingRowModel> fromBeanBinder = - BinderFactory.newBinder(Object.class, + protected static final Binder<CaracteristicRow, GearShootingRowModel> fromBeanBinder = + BinderFactory.newBinder(CaracteristicRow.class, GearShootingRowModel.class); - protected static final Binder<GearShootingRowModel, Object> toBeanBinder = + protected static final Binder<GearShootingRowModel, CaracteristicRow> toBeanBinder = BinderFactory.newBinder(GearShootingRowModel.class, - Object.class); + CaracteristicRow.class); - protected String key; + protected Caracteristic key; protected String value; public GearShootingRowModel() { - super(Object.class, fromBeanBinder, toBeanBinder); + super(CaracteristicRow.class, fromBeanBinder, toBeanBinder); } - public GearShootingRowModel(String key) { + public GearShootingRowModel(Caracteristic key) { this(); this.key = key; } - public String getKey() { + public Caracteristic getKey() { return key; } - public void setKey(String key) { + public void setKey(Caracteristic key) { Object oldValue = getKey(); this.key = key; firePropertyChange(PROPERTY_KEY, oldValue, key); 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 2012-12-20 16:08:26 UTC (rev 98) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java 2012-12-20 17:05:25 UTC (rev 99) @@ -25,14 +25,16 @@ */ import com.google.common.collect.Lists; +import fr.ifremer.tutti.persistence.entities.CaracteristicMap; +import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUI; import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor; import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableModel; import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler; +import fr.ifremer.tutti.ui.swing.util.table.CaracteristicRow; import fr.ifremer.tutti.ui.swing.util.table.TableRowModificationListener; import java.util.Collection; import java.util.List; -import java.util.Map; import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; import javax.swing.event.ListDataEvent; @@ -155,7 +157,7 @@ TuttiBeanMonitor<GearShootingRowModel> monitor = getRowMonitor(); GearShootingRowModel row = monitor.getBean(); if (row != null) { - ui.getModel().setParameter(row.getKey(), row.getValue()); + ui.getModel().setCaracteristic(row.getKey(), row.getValue()); } } }; @@ -177,10 +179,10 @@ */ public void addRow() { JComboBox keyCombo = ui.getNewRowKey(); - String key = (String) keyCombo.getSelectedItem(); + Caracteristic key = (Caracteristic) keyCombo.getSelectedItem(); GearShootingRowModel row = new GearShootingRowModel(key); getTableModel().addNewRow(getTable().getRowCount(), row); - ui.getModel().setParameter(key, null); + ui.getModel().setCaracteristic(key, null); keyCombo.removeItem(key); } @@ -189,12 +191,12 @@ * Resets the table with the data from the database */ public void reset() { - Map<Object, Object> gearShootingParameters = ui.getModel().getGearShootingParameters(); + CaracteristicMap gearShootingCaracteristics = ui.getModel().getGearShootingCaracteristics(); List<GearShootingRowModel> rows = Lists.newArrayList(); - Collection<Object> params = gearShootingParameters.keySet(); - for (Object key : gearShootingParameters.keySet()) { - rows.add(new GearShootingRowModel(key.toString())); + Collection<Caracteristic> caracteristics = gearShootingCaracteristics.keySet(); + for (Caracteristic key : gearShootingCaracteristics.keySet()) { + rows.add(new GearShootingRowModel(key)); } AbstractTuttiTableModel<GearShootingRowModel> tableModel = getTableModel(); @@ -203,9 +205,13 @@ JComboBox keyCombo = ui.getNewRowKey(); DefaultComboBoxModel keyComboModel = (DefaultComboBoxModel) keyCombo.getModel(); keyComboModel.removeAllElements(); - for (String param : ui.getModel().getKeys()) { - if (!params.contains(param)) { - keyComboModel.addElement(param); + + List<Caracteristic> availableCaracteristics = ui.getModel().getAvailableCaracteristics(); + log.info(availableCaracteristics); + for (Caracteristic caracteristic : availableCaracteristics) { + if (!caracteristics.contains(caracteristic)) { + CaracteristicRow row = new CaracteristicRow(caracteristic.getName(), caracteristic); + keyComboModel.addElement(row); } } } 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 2012-12-20 16:08:26 UTC (rev 98) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIModel.java 2012-12-20 17:05:25 UTC (rev 99) @@ -24,16 +24,16 @@ * #L% */ +import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import com.google.common.collect.Maps; -import java.util.Map; +import fr.ifremer.tutti.persistence.entities.CaracteristicMap; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUIModel; import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIModel; -import java.util.HashMap; +import java.util.List; import org.nuiton.util.beans.Binder; import org.nuiton.util.beans.BinderModelBuilder; -import static org.nuiton.i18n.I18n._; /** * @@ -42,16 +42,9 @@ */ public class GearShootingTabUIModel extends AbstractTuttiTableUIModel<FishingOperation, GearShootingRowModel, GearShootingTabUIModel> { - protected Map<Object, Object> gearShootingParameters; + protected CaracteristicMap gearShootingCaracteristics; - public static final String KEY_START_DEPTH = "startDepth"; - public static final String KEY_END_DEPTH = "endDepth"; - public static final String KEY_VERTICAL_APERTURE = "verticalAperture"; - public static final String KEY_HORIZONTAL_APERTURE = "horizontalAperture"; - public static final String KEY_WARP_LENGTH = "warpLength"; - public static final String KEY_ARM_LENGTH = "armLength"; - public static final String KEY_SYSTEME_FERMETURE_CUL = "systemeFermetureCul"; - public static final String KEY_MEASURED_GEOMETRY = "measuredGeometry"; + protected List<Caracteristic> availableCaracteristics; protected static final Binder<FishingOperation, GearShootingTabUIModel> fromBeanBinder = BinderModelBuilder.newEmptyBuilder(FishingOperation.class, GearShootingTabUIModel.class) .toBinder(); @@ -63,33 +56,26 @@ super(FishingOperation.class, fromBeanBinder, toBeanBinder); } - public Map<Object, Object> getGearShootingParameters() { - return gearShootingParameters; + public CaracteristicMap getGearShootingCaracteristics() { + return gearShootingCaracteristics; } - public void setGearShootingParameters(Map<Object, Object> gearShooting) { - this.gearShootingParameters = gearShooting; + public void setGearShootingCaracteristics(CaracteristicMap gearShooting) { + this.gearShootingCaracteristics = gearShooting; } - public void setParameter(Object param, Object value) { - Object oldValue = Maps.newLinkedHashMap(gearShootingParameters); - gearShootingParameters.put(param, value); - firePropertyChange(EditFishingOperationUIModel.PROPERTY_GEAR_SHOOTING_PARAMETERS, oldValue, gearShootingParameters); + public void setCaracteristic(Caracteristic caracteristic, Object value) { + Object oldValue = Maps.newLinkedHashMap(gearShootingCaracteristics); + gearShootingCaracteristics.put(caracteristic, value); + firePropertyChange(EditFishingOperationUIModel.PROPERTY_GEAR_SHOOTING_CARACTERISTICS, oldValue, gearShootingCaracteristics); } - - public String[] getKeys() { - return new String[] { - _(new String("tutti.table.fishing.gearShooting.keys." + KEY_START_DEPTH)), - _(new String("tutti.table.fishing.gearShooting.keys." + KEY_END_DEPTH)), - _(new String("tutti.table.fishing.gearShooting.keys." + KEY_HORIZONTAL_APERTURE)), - _(new String("tutti.table.fishing.gearShooting.keys." + KEY_VERTICAL_APERTURE)), - _(new String("tutti.table.fishing.gearShooting.keys." + KEY_WARP_LENGTH)), - _(new String("tutti.table.fishing.gearShooting.keys." + KEY_ARM_LENGTH)), - _(new String("tutti.table.fishing.gearShooting.keys." + KEY_SYSTEME_FERMETURE_CUL)), - _(new String("tutti.table.fishing.gearShooting.keys." + KEY_MEASURED_GEOMETRY)), - _(new String("tutti.table.fishing.gearShooting.keys." + "key3")), - _(new String("tutti.table.fishing.gearShooting.keys." + "key4")), - _(new String("tutti.table.fishing.gearShooting.keys." + "key5")) - }; + + public List<Caracteristic> getAvailableCaracteristics() { + return availableCaracteristics; } + + public void setAvailableCaracteristics(List<Caracteristic> availableCaracteristics) { + this.availableCaracteristics = availableCaracteristics; + } + } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyRowModel.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyRowModel.java 2012-12-20 16:08:26 UTC (rev 98) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyRowModel.java 2012-12-20 17:05:25 UTC (rev 99) @@ -24,7 +24,9 @@ * #L% */ +import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel; +import fr.ifremer.tutti.ui.swing.util.table.CaracteristicRow; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.util.beans.Binder; @@ -35,7 +37,7 @@ * @author kmorin * @since 0.3 */ -public class HydrologyRowModel extends AbstractTuttiBeanUIModel<Object, HydrologyRowModel> { +public class HydrologyRowModel extends AbstractTuttiBeanUIModel<CaracteristicRow, HydrologyRowModel> { private static final Log log = LogFactory.getLog(HydrologyRowModel.class); @@ -44,15 +46,15 @@ public static final String PROPERTY_GEAR_SHOOTING_END_VALUE = "gearShootingEndValue"; public static final String PROPERTY_AVERAGE_VALUE = "averageValue"; - protected static final Binder<Object, HydrologyRowModel> fromBeanBinder = - BinderFactory.newBinder(Object.class, + protected static final Binder<CaracteristicRow, HydrologyRowModel> fromBeanBinder = + BinderFactory.newBinder(CaracteristicRow.class, HydrologyRowModel.class); - protected static final Binder<HydrologyRowModel, Object> toBeanBinder = + protected static final Binder<HydrologyRowModel, CaracteristicRow> toBeanBinder = BinderFactory.newBinder(HydrologyRowModel.class, - Object.class); + CaracteristicRow.class); - protected String key; + protected Caracteristic key; protected String gearShootingStartValue; @@ -61,19 +63,19 @@ protected String averageValue; public HydrologyRowModel() { - super(Object.class, fromBeanBinder, toBeanBinder); + super(CaracteristicRow.class, fromBeanBinder, toBeanBinder); } - public HydrologyRowModel(String key) { + public HydrologyRowModel(Caracteristic key) { this(); this.key = key; } - public String getKey() { + public Caracteristic getKey() { return key; } - public void setKey(String key) { + public void setKey(Caracteristic key) { Object oldValue = getKey(); this.key = key; firePropertyChange(PROPERTY_KEY, oldValue, key); 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 2012-12-20 16:08:26 UTC (rev 98) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java 2012-12-20 17:05:25 UTC (rev 99) @@ -25,14 +25,16 @@ */ import com.google.common.collect.Lists; +import fr.ifremer.tutti.persistence.entities.CaracteristicMap; +import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUI; import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor; import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableModel; import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler; +import fr.ifremer.tutti.ui.swing.util.table.CaracteristicRow; import fr.ifremer.tutti.ui.swing.util.table.TableRowModificationListener; import java.util.Collection; import java.util.List; -import java.util.Map; import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; import javax.swing.event.ListDataEvent; @@ -169,7 +171,7 @@ TuttiBeanMonitor<HydrologyRowModel> monitor = getRowMonitor(); HydrologyRowModel row = monitor.getBean(); if (row != null) { - ui.getModel().setParameter(row.getKey(), + ui.getModel().setCaracteristic(row.getKey(), row.getGearShootingStartValue(), row.getGearShootingEndValue(), row.getAverageValue() @@ -194,25 +196,25 @@ * Adds a row with the parameter selected in the combo box */ public void addRow() { - JComboBox keyCombo = ui.getNewRowKey(); - String key = (String) keyCombo.getSelectedItem(); - HydrologyRowModel row = new HydrologyRowModel(key); - getTableModel().addNewRow(getTable().getRowCount(), row); - ui.getModel().setParameter(key, null, null, null); - - keyCombo.removeItem(key); +// JComboBox keyCombo = ui.getNewRowKey(); +// CaracteristicRow key = (CaracteristicRow) keyCombo.getSelectedItem(); +// HydrologyRowModel row = new HydrologyRowModel(key); +// getTableModel().addNewRow(getTable().getRowCount(), row); +// ui.getModel().setCaracteristic(row.getKey(), null, null, null); +// +// keyCombo.removeItem(key); } /** * Resets the table with the data from the database */ public void reset() { - Map<Object, Object> hydrologyParameters = ui.getModel().getHydrologyParameters(); + CaracteristicMap hydrologyCaracteristics = ui.getModel().getHydrologyCaracteristics(); List<HydrologyRowModel> rows = Lists.newArrayList(); - Collection<Object> params = hydrologyParameters.keySet(); - for (Object key : hydrologyParameters.keySet()) { - rows.add(new HydrologyRowModel(key.toString())); + Collection<Caracteristic> caracteristics = hydrologyCaracteristics.keySet(); + for (Caracteristic key : hydrologyCaracteristics.keySet()) { + rows.add(new HydrologyRowModel(key)); } AbstractTuttiTableModel<HydrologyRowModel> tableModel = getTableModel(); @@ -221,9 +223,13 @@ JComboBox keyCombo = ui.getNewRowKey(); DefaultComboBoxModel keyComboModel = (DefaultComboBoxModel) keyCombo.getModel(); keyComboModel.removeAllElements(); - for (String param : ui.getModel().getKeys()) { - if (!params.contains(param)) { - keyComboModel.addElement(param); + + List<Caracteristic> availableCaracteristics = ui.getModel().getAvailableCaracteristics(); + log.info(availableCaracteristics); + for (Caracteristic caracteristic : availableCaracteristics) { + if (!caracteristics.contains(caracteristic)) { + CaracteristicRow row = new CaracteristicRow(caracteristic.getName(), caracteristic); + keyComboModel.addElement(row); } } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIModel.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIModel.java 2012-12-20 16:08:26 UTC (rev 98) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIModel.java 2012-12-20 17:05:25 UTC (rev 99) @@ -25,14 +25,15 @@ */ import com.google.common.collect.Maps; -import java.util.Map; +import fr.ifremer.tutti.persistence.entities.CaracteristicMap; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; +import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUIModel; import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIModel; +import java.util.List; import org.nuiton.util.beans.Binder; import org.nuiton.util.beans.BinderModelBuilder; -import static org.nuiton.i18n.I18n._; /** * @@ -41,15 +42,9 @@ */ public class HydrologyTabUIModel extends AbstractTuttiTableUIModel<FishingOperation, HydrologyRowModel, HydrologyTabUIModel> { - protected Map<Object, Object> hydrologyParameters; + protected CaracteristicMap hydrologyCaracteristics; - public static final String GEAR_SHOOTING_START = "gearShootingStart"; - public static final String GEAR_SHOOTING_END = "gearShootingEnd"; - public static final String AVERAGE = "average"; - public static final String SURFACE = "surface"; - public static final String BOTTOM = "bottom"; - public static final String TEMPERATURE = "temperature"; - public static final String SALINITY = "salinity"; + protected List<Caracteristic> availableCaracteristics; protected static final Binder<FishingOperation, HydrologyTabUIModel> fromBeanBinder = BinderModelBuilder.newEmptyBuilder(FishingOperation.class, HydrologyTabUIModel.class) .toBinder(); @@ -61,33 +56,30 @@ super(FishingOperation.class, fromBeanBinder, toBeanBinder); } - public Map<Object, Object> getHydrologyParameters() { - return hydrologyParameters; + public CaracteristicMap getHydrologyCaracteristics() { + return hydrologyCaracteristics; } - public void setHydrologyParameters(Map<Object, Object> environmentParameters) { - this.hydrologyParameters = environmentParameters; + public void setHydrologyCaracteristics(CaracteristicMap hydrologyCaracteristics) { + this.hydrologyCaracteristics = hydrologyCaracteristics; } - public void setParameter(Object param, Object gearShootingStartValue, + public void setCaracteristic(Caracteristic param, Object gearShootingStartValue, Object gearShootingEndValue, Object averageValue) { - Object oldValue = Maps.newLinkedHashMap(hydrologyParameters); - hydrologyParameters.put(param + "." + GEAR_SHOOTING_START, gearShootingStartValue); - hydrologyParameters.put(param + "." + GEAR_SHOOTING_END, gearShootingEndValue); - hydrologyParameters.put(param + "." + AVERAGE, averageValue); - firePropertyChange(EditFishingOperationUIModel.PROPERTY_HYDROLOGY_PARAMETERS, oldValue, hydrologyParameters); + Object oldValue = Maps.newLinkedHashMap(hydrologyCaracteristics); +// hydrologyCaracteristics.put(param + "." + GEAR_SHOOTING_START, gearShootingStartValue); +// hydrologyCaracteristics.put(param + "." + GEAR_SHOOTING_END, gearShootingEndValue); +// hydrologyCaracteristics.put(param + "." + AVERAGE, averageValue); + firePropertyChange(EditFishingOperationUIModel.PROPERTY_HYDROLOGY_CARACTERISTICS, oldValue, hydrologyCaracteristics); } - - public String[] getKeys() { - return new String[] { - _(new String("tutti.table.fishing.hydrology.keys." + TEMPERATURE + "." + SURFACE)), - _(new String("tutti.table.fishing.hydrology.keys." + TEMPERATURE + "." + BOTTOM)), - _(new String("tutti.table.fishing.hydrology.keys." + SALINITY + "." + SURFACE)), - _(new String("tutti.table.fishing.hydrology.keys." + SALINITY + "." + BOTTOM)), - _(new String("tutti.table.fishing.hydrology.keys." + "key3")), - _(new String("tutti.table.fishing.hydrology.keys." + "key4")), - _(new String("tutti.table.fishing.hydrology.keys." + "key5")) - }; + + public List<Caracteristic> getAvailableCaracteristics() { + return availableCaracteristics; } + + public void setAvailableCaracteristics(List<Caracteristic> availableCaracteristics) { + this.availableCaracteristics = availableCaracteristics; + } + } Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/CaracteristicRow.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/CaracteristicRow.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/CaracteristicRow.java 2012-12-20 17:05:25 UTC (rev 99) @@ -0,0 +1,42 @@ +package fr.ifremer.tutti.ui.swing.util.table; + +import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; + +/** + * + * @author kmorin <kmorin@codelutin.com> + * @since 0.3 + */ +public class CaracteristicRow { + + protected Caracteristic[] caracteristics; + + protected String name; + + public CaracteristicRow(String name, Caracteristic... caracteristics) { + this.name = name; + this.caracteristics = caracteristics; + } + + public Caracteristic[] getCaracteristics() { + return caracteristics; + } + + public void setCaracteristics(Caracteristic[] caracteristics) { + this.caracteristics = caracteristics; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public String toString() { + return name; + } + +}