Author: chatellier Date: 2009-06-12 17:35:02 +0000 (Fri, 12 Jun 2009) New Revision: 2376 Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleComboModel.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleComboRenderer.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleListCellRenderer.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellEditor.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellRenderer.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java Removed: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellEditor.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/ Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanComboModel.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanComboRenderer.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanListModel.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanListRenderer.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableCellEditor.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableCellRenderer.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableModel.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleListModel.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java Log: Move models (also commons to sensitivity) Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan (from rev 2374, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan) Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanComboModel.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanComboModel.java 2009-06-12 16:39:20 UTC (rev 2374) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanComboModel.java 2009-06-12 17:35:02 UTC (rev 2376) @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *##%*/ -package fr.ifremer.isisfish.ui.simulator.analyzeplan; +package fr.ifremer.isisfish.ui.models.analyzeplan; import java.util.List; @@ -45,7 +45,7 @@ public AnalyzePlanComboModel() { this(null); } - + /** * Constructor with rule list. * @@ -72,7 +72,7 @@ */ public void setAnalyzePlanNames(List<String> analyzePlanNames) { this.analyzePlanNames = analyzePlanNames; - + // default first selected if (!analyzePlanNames.isEmpty()) { setSelectedItem(analyzePlanNames.get(0)); @@ -93,7 +93,7 @@ @Override public int getSize() { int size = 0; - + if (analyzePlanNames != null) { size = analyzePlanNames.size(); } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanComboRenderer.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanComboRenderer.java 2009-06-12 16:39:20 UTC (rev 2374) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanComboRenderer.java 2009-06-12 17:35:02 UTC (rev 2376) @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *##%*/ -package fr.ifremer.isisfish.ui.simulator.analyzeplan; +package fr.ifremer.isisfish.ui.models.analyzeplan; import java.awt.Component; import java.util.HashMap; @@ -39,7 +39,8 @@ * Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $ * By : $Author: chatellier $ */ -public class AnalyzePlanComboRenderer extends DefaultListCellRenderer implements ListCellRenderer { +public class AnalyzePlanComboRenderer extends DefaultListCellRenderer implements + ListCellRenderer { /** serialVersionUID. */ private static final long serialVersionUID = -4070846632975105788L; @@ -60,21 +61,24 @@ @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - + // this must be used to have alterned highlight rows and default // selection color - JLabel c = (JLabel)super.getListCellRendererComponent(list,value,index, isSelected, cellHasFocus); - - String analysePlanName = (String)value; + JLabel c = (JLabel) super.getListCellRendererComponent(list, value, + index, isSelected, cellHasFocus); + + String analysePlanName = (String) value; c.setText(analysePlanName); - + // c'est tres couteux d'avoir une instance // on les met en cache try { AnalysePlan plan = analysePlanCache.get(analysePlanName); if (plan == null) { - AnalysePlanStorage storage = AnalysePlanStorage.getAnalysePlan(analysePlanName); + AnalysePlanStorage storage = AnalysePlanStorage + .getAnalysePlan(analysePlanName); plan = storage.getNewAnalysePlanInstance(); + analysePlanCache.put(analysePlanName, plan); } c.setToolTipText(plan.getDescription()); Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanListModel.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanListModel.java 2009-06-12 16:39:20 UTC (rev 2374) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanListModel.java 2009-06-12 17:35:02 UTC (rev 2376) @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *##%*/ -package fr.ifremer.isisfish.ui.simulator.analyzeplan; +package fr.ifremer.isisfish.ui.models.analyzeplan; import java.util.List; @@ -37,7 +37,7 @@ /** serialVersionUID. */ private static final long serialVersionUID = -4070846632975105788L; - + protected List<AnalysePlan> plans; /** @@ -46,7 +46,7 @@ public AnalyzePlanListModel() { this(null); } - + /** * Constructor with plan list. * @@ -89,7 +89,7 @@ @Override public int getSize() { int size = 0; - + if (plans != null) { size = plans.size(); } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanListRenderer.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanListRenderer.java 2009-06-12 16:39:20 UTC (rev 2374) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanListRenderer.java 2009-06-12 17:35:02 UTC (rev 2376) @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *##%*/ -package fr.ifremer.isisfish.ui.simulator.analyzeplan; +package fr.ifremer.isisfish.ui.models.analyzeplan; import java.awt.Component; @@ -37,7 +37,8 @@ * Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $ * By : $Author: chatellier $ */ -public class AnalyzePlanListRenderer extends DefaultListCellRenderer implements ListCellRenderer { +public class AnalyzePlanListRenderer extends DefaultListCellRenderer implements + ListCellRenderer { /** serialVersionUID. */ private static final long serialVersionUID = -4070846632975105788L; @@ -48,12 +49,13 @@ @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - + // this must be used to have alterned highlight rows and default // selection color - JLabel c = (JLabel)super.getListCellRendererComponent(list,value,index, isSelected, cellHasFocus); - - AnalysePlan plan = (AnalysePlan)value; + JLabel c = (JLabel) super.getListCellRendererComponent(list, value, + index, isSelected, cellHasFocus); + + AnalysePlan plan = (AnalysePlan) value; c.setText(AnalysePlanStorage.getName(plan)); try { Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableCellEditor.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanParametersTableCellEditor.java 2009-06-12 16:39:20 UTC (rev 2374) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableCellEditor.java 2009-06-12 17:35:02 UTC (rev 2376) @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *##%*/ -package fr.ifremer.isisfish.ui.simulator.analyzeplan; +package fr.ifremer.isisfish.ui.models.analyzeplan; import java.util.ArrayList; import java.util.List; @@ -35,15 +35,16 @@ * Last update : $Date: 9 juin 2009 $ * By : $Author: chatellier $ */ -public class AnalyzePlanParametersTableCellEditor extends ParameterTableCellEditor { +public class AnalyzePlanParametersTableCellEditor extends + ParameterTableCellEditor { /** serialVersionUID. */ private static final long serialVersionUID = 8211639776194497615L; protected AnalysePlan plan; - + protected List<Class<?>> planParametersTypes; - + /** * Constructor with rule parameter. * @@ -51,15 +52,17 @@ */ public AnalyzePlanParametersTableCellEditor(AnalysePlan plan) { super(); - + this.plan = plan; planParametersTypes = new ArrayList<Class<?>>(); //TODO map may be sorted - Map<String, Class<?>> planParametersNamesAndTypes = AnalysePlanStorage.getParameterNames(plan); + Map<String, Class<?>> planParametersNamesAndTypes = AnalysePlanStorage + .getParameterNames(plan); for (Class<?> type : planParametersNamesAndTypes.values()) { planParametersTypes.add(type); } } + /* * @see fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor#getType(java.lang.Object, int, int) */ Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableCellRenderer.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanParametersTableCellRenderer.java 2009-06-12 16:39:20 UTC (rev 2374) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableCellRenderer.java 2009-06-12 17:35:02 UTC (rev 2376) @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *##%*/ -package fr.ifremer.isisfish.ui.simulator.analyzeplan; +package fr.ifremer.isisfish.ui.models.analyzeplan; import java.awt.Component; @@ -31,7 +31,7 @@ import fr.ifremer.isisfish.util.Doc; /** - * Specific editor for rule parameters. + * Specific renderer for plan parameters. * * @author chatellier * @version $Revision: 1.0 $ @@ -39,13 +39,14 @@ * Last update : $Date: 9 juin 2009 $ * By : $Author: chatellier $ */ -public class AnalyzePlanParametersTableCellRenderer extends DefaultTableCellRenderer implements TableCellRenderer { +public class AnalyzePlanParametersTableCellRenderer extends + DefaultTableCellRenderer implements TableCellRenderer { /** serialVersionUID. */ private static final long serialVersionUID = -1655744662816030649L; protected AnalysePlan plan; - + public AnalyzePlanParametersTableCellRenderer(AnalysePlan plan) { this.plan = plan; } @@ -56,20 +57,20 @@ @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { - + // this must be used to have alterned highlight rows and default // selection color - JLabel c = (JLabel)super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); - - String parameterName = (String)value; + JLabel c = (JLabel) super.getTableCellRendererComponent(table, value, + isSelected, hasFocus, row, column); + + String parameterName = (String) value; c.setText(parameterName); - + Doc doc = AnalysePlanStorage.getParameterDoc(plan, parameterName); String documentation = TooltipHelper.docToString(doc); c.setToolTipText(documentation); - + return c; } - } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableModel.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanParametersTableModel.java 2009-06-12 16:39:20 UTC (rev 2374) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableModel.java 2009-06-12 17:35:02 UTC (rev 2376) @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *##%*/ -package fr.ifremer.isisfish.ui.simulator.analyzeplan; +package fr.ifremer.isisfish.ui.models.analyzeplan; import static org.codelutin.i18n.I18n._; @@ -50,21 +50,20 @@ public class AnalyzePlanParametersTableModel extends AbstractTableModel { /** Log. */ - private static Log log = LogFactory.getLog(MetierSeasonInfoTargetSpeciesModel.class); - + private static Log log = LogFactory + .getLog(MetierSeasonInfoTargetSpeciesModel.class); + /** serialVersionUID. */ private static final long serialVersionUID = 3169786638868209920L; /** Columns names. */ - public final static String[] COLUMN_NAMES = { - _("isisfish.common.name"), + public final static String[] COLUMN_NAMES = { _("isisfish.common.name"), _("isisfish.common.value") }; protected AnalysePlan plan; - + protected List<String> planParametersNames; - - + /** * Constructor with data. * @@ -73,24 +72,16 @@ public AnalyzePlanParametersTableModel(AnalysePlan plan) { super(); this.plan = plan; - + //TODO map may be sorted planParametersNames = new ArrayList<String>(); - Map<String, Class<?>> planParametersNamesAndTypes = AnalysePlanStorage.getParameterNames(plan); + Map<String, Class<?>> planParametersNamesAndTypes = AnalysePlanStorage + .getParameterNames(plan); for (String names : planParametersNamesAndTypes.keySet()) { planParametersNames.add(names); } } - /** - * Return analyse plan. - * - * @return plan - */ - public AnalysePlan getAnalysePlan() { - return plan; - } - /* * @see javax.swing.table.TableModel#getColumnCount() */ @@ -143,7 +134,7 @@ public Class<?> getColumnClass(int columnIndex) { Class<?> result = null; - + switch (columnIndex) { case 0: result = String.class; @@ -154,7 +145,7 @@ default: throw new IndexOutOfBoundsException("No such column " + columnIndex); } - + return result; } @@ -179,7 +170,7 @@ */ @Override public void setValueAt(Object value, int rowIndex, int columnIndex) { - + if (log.isDebugEnabled()) { log.debug("Cell edition (column " + columnIndex + ") = " + value); } @@ -196,7 +187,8 @@ } break; default: - throw new IndexOutOfBoundsException("Can't edit column " + columnIndex); + throw new IndexOutOfBoundsException("Can't edit column " + + columnIndex); } } Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule (from rev 2358, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule) Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleComboModel.java (from rev 2374, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleComboBoxModel.java) =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleComboModel.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleComboModel.java 2009-06-12 17:35:02 UTC (rev 2376) @@ -0,0 +1,102 @@ +/* *##% + * Copyright (C) 2009 Code Lutin + * + * 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 2 + * 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +package fr.ifremer.isisfish.ui.models.rule; + +import java.util.List; + +import javax.swing.DefaultComboBoxModel; + +/** + * Model pour la liste des noms de regles. + * + * @author chatellier + * @version $Revision: 2350 $ + * + * Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $ + * By : $Author: chatellier $ + */ +public class RuleComboModel extends DefaultComboBoxModel { + + /** serialVersionUID. */ + private static final long serialVersionUID = -4070846632975105788L; + + /** Analyze plan names. */ + protected List<String> rulesNames; + + /** + * Empty constructor. + */ + public RuleComboModel() { + this(null); + } + + /** + * Constructor with rule names list. + * + * @param rulesNames exports Names + */ + public RuleComboModel(List<String> rulesNames) { + super(); + setExportNames(rulesNames); + } + + /** + * Get rule names. + * + * @return the analyze plan names + */ + public List<String> getExportNames() { + return rulesNames; + } + + /** + * Set rule names. + * + * @param rulesNames the rule names to set + */ + public void setExportNames(List<String> rulesNames) { + this.rulesNames = rulesNames; + + // default first selected + if (!rulesNames.isEmpty()) { + setSelectedItem(rulesNames.get(0)); + } + } + + /* + * @see javax.swing.ListModel#getElementAt(int) + */ + @Override + public Object getElementAt(int index) { + return rulesNames.get(index); + } + + /* + * @see javax.swing.ListModel#getSize() + */ + @Override + public int getSize() { + int size = 0; + + if (rulesNames != null) { + size = rulesNames.size(); + } + return size; + } +} Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleComboRenderer.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleComboRenderer.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleComboRenderer.java 2009-06-12 17:35:02 UTC (rev 2376) @@ -0,0 +1,89 @@ +/* *##% + * Copyright (C) 2009 Code Lutin + * + * 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 2 + * 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +package fr.ifremer.isisfish.ui.models.rule; + +import java.awt.Component; +import java.util.HashMap; +import java.util.Map; + +import javax.swing.DefaultListCellRenderer; +import javax.swing.JLabel; +import javax.swing.JList; +import javax.swing.ListCellRenderer; + +import fr.ifremer.isisfish.datastore.RuleStorage; +import fr.ifremer.isisfish.rule.Rule; + +/** + * Renderer pour la combo des noms de regles. + * + * @author chatellier + * @version $Revision: 2350 $ + * + * Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $ + * By : $Author: chatellier $ + */ +public class RuleComboRenderer extends DefaultListCellRenderer implements + ListCellRenderer { + + /** serialVersionUID. */ + private static final long serialVersionUID = -4070846632975105788L; + + /** Rule cache. */ + protected Map<String, Rule> ruleCache; + + /** + * Empty constructor. + */ + public RuleComboRenderer() { + ruleCache = new HashMap<String, Rule>(); + } + + /* + * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean) + */ + @Override + public Component getListCellRendererComponent(JList list, Object value, + int index, boolean isSelected, boolean cellHasFocus) { + + // this must be used to have alterned highlight rows and default + // selection color + JLabel c = (JLabel)super.getListCellRendererComponent(list,value,index, isSelected, cellHasFocus); + + String ruleName = (String)value; + c.setText(ruleName); + + // c'est tres couteux d'avoir une instance + // on les met en cache + try { + Rule rule = ruleCache.get(ruleName); + if (rule == null) { + RuleStorage storage = RuleStorage.getRule(ruleName); + rule = storage.getNewRuleInstance(); + ruleCache.put(ruleName, rule); + } + + c.setToolTipText(rule.getDescription()); + } catch (Exception e) { + // can't get exception + } + + return c; + } +} Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleListCellRenderer.java (from rev 2374, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleListCellRenderer.java) =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleListCellRenderer.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleListCellRenderer.java 2009-06-12 17:35:02 UTC (rev 2376) @@ -0,0 +1,72 @@ +/* *##% + * Copyright (C) 2009 Code Lutin + * + * 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 2 + * 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +package fr.ifremer.isisfish.ui.models.rule; + +import java.awt.Component; + +import javax.swing.DefaultListCellRenderer; +import javax.swing.JLabel; +import javax.swing.JList; +import javax.swing.ListCellRenderer; + +import fr.ifremer.isisfish.datastore.RuleStorage; +import fr.ifremer.isisfish.rule.Rule; + +/** + * Rendu des données d'une liste graphique de regles + * + * @author chatellier + * @version $Revision: 2350 $ + * + * Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $ + * By : $Author: chatellier $ + */ +public class RuleListCellRenderer extends DefaultListCellRenderer implements + ListCellRenderer { + + /** serialVersionUID. */ + private static final long serialVersionUID = -948394724922547715L; + + /* + * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean) + */ + @Override + public Component getListCellRendererComponent(JList list, Object value, + int index, boolean isSelected, boolean cellHasFocus) { + + // this must be used to have alterned highlight rows and default + // selection color + JLabel c = (JLabel) super.getListCellRendererComponent(list, value, + index, isSelected, cellHasFocus); + + if (value != null) { + Rule rule = (Rule) value; + String ruleName = RuleStorage.getName(rule); + c.setText(ruleName); + + try { + c.setToolTipText(rule.getDescription()); + } catch (Exception e) { + // can't get exception + } + } + + return c; + } +} Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleListModel.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleListModel.java 2009-06-09 17:50:12 UTC (rev 2358) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleListModel.java 2009-06-12 17:35:02 UTC (rev 2376) @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *##%*/ -package fr.ifremer.isisfish.ui.simulator.rule; +package fr.ifremer.isisfish.ui.models.rule; import java.awt.Component; import java.util.List; @@ -38,11 +38,12 @@ * Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $ * By : $Author: chatellier $ */ -public class RuleListModel extends AbstractListModel implements ListCellRenderer { +public class RuleListModel extends AbstractListModel implements + ListCellRenderer { /** serialVersionUID. */ private static final long serialVersionUID = -4070846632975105788L; - + protected List<Rule> rules; /** @@ -51,7 +52,7 @@ public RuleListModel() { this(null); } - + /** * Constructor with rule list. * @@ -94,7 +95,7 @@ @Override public int getSize() { int size = 0; - + if (rules != null) { size = rules.size(); } @@ -107,24 +108,24 @@ @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - + Rule rule = rules.get(index); - + JLabel label = new JLabel(); - + try { label.setToolTipText(rule.getDescription()); } catch (Exception e) { // can't get exception } label.setText(RuleStorage.getName(rule)); - - if(isSelected) { + + if (isSelected) { label.setBackground(list.getSelectionBackground()); label.setForeground(list.getSelectionForeground()); label.setOpaque(true); // background won't work } - + return label; } } Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellEditor.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableCellEditor.java 2009-06-09 17:50:12 UTC (rev 2358) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellEditor.java 2009-06-12 17:35:02 UTC (rev 2376) @@ -1,70 +0,0 @@ -/* *##% - * Copyright (C) 2009 Code Lutin - * - * 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 2 - * 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, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - *##%*/ - -package fr.ifremer.isisfish.ui.simulator.rule; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import fr.ifremer.isisfish.datastore.RuleStorage; -import fr.ifremer.isisfish.rule.Rule; -import fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor; - -/** - * Specific editor for rule parameters. - * - * @author chatellier - * @version $Revision: 1.0 $ - * - * Last update : $Date: 9 juin 2009 $ - * By : $Author: chatellier $ - */ -public class RuleParametersTableCellEditor extends ParameterTableCellEditor { - - /** serialVersionUID. */ - private static final long serialVersionUID = 8211639776194497615L; - - protected Rule rule; - - protected List<Class<?>> ruleParametersTypes; - - /** - * Constructor with rule parameter. - * - * @param rule rule - */ - public RuleParametersTableCellEditor(Rule rule) { - super(); - - this.rule = rule; - ruleParametersTypes = new ArrayList<Class<?>>(); - //TODO map may be sorted - Map<String, Class> ruleParametersNamesAndTypes = RuleStorage.getParameterNames(rule); - for (Class<?> type : ruleParametersNamesAndTypes.values()) { - ruleParametersTypes.add(type); - } - } - /* - * @see fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor#getType(java.lang.Object, int, int) - */ - @Override - protected Class<?> getType(Object value, int row, int column) { - return ruleParametersTypes.get(row); - } -} Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellEditor.java (from rev 2374, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableCellEditor.java) =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellEditor.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellEditor.java 2009-06-12 17:35:02 UTC (rev 2376) @@ -0,0 +1,72 @@ +/* *##% + * Copyright (C) 2009 Code Lutin + * + * 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 2 + * 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +package fr.ifremer.isisfish.ui.models.rule; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import fr.ifremer.isisfish.datastore.RuleStorage; +import fr.ifremer.isisfish.rule.Rule; +import fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor; + +/** + * Specific editor for rule parameters. + * + * @author chatellier + * @version $Revision: 1.0 $ + * + * Last update : $Date: 9 juin 2009 $ + * By : $Author: chatellier $ + */ +public class RuleParametersTableCellEditor extends ParameterTableCellEditor { + + /** serialVersionUID. */ + private static final long serialVersionUID = 8211639776194497615L; + + protected Rule rule; + + protected List<Class<?>> ruleParametersTypes; + + /** + * Constructor with rule parameter. + * + * @param rule rule + */ + public RuleParametersTableCellEditor(Rule rule) { + super(); + + this.rule = rule; + ruleParametersTypes = new ArrayList<Class<?>>(); + //TODO map may be sorted + Map<String, Class<?>> ruleParametersNamesAndTypes = RuleStorage + .getParameterNames(rule); + for (Class<?> type : ruleParametersNamesAndTypes.values()) { + ruleParametersTypes.add(type); + } + } + + /* + * @see fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor#getType(java.lang.Object, int, int) + */ + @Override + protected Class<?> getType(Object value, int row, int column) { + return ruleParametersTypes.get(row); + } +} Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellRenderer.java (from rev 2374, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableCellRenderer.java) =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellRenderer.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellRenderer.java 2009-06-12 17:35:02 UTC (rev 2376) @@ -0,0 +1,75 @@ +/* *##% + * Copyright (C) 2009 Code Lutin + * + * 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 2 + * 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +package fr.ifremer.isisfish.ui.models.rule; + +import java.awt.Component; + +import javax.swing.JLabel; +import javax.swing.JTable; +import javax.swing.table.DefaultTableCellRenderer; +import javax.swing.table.TableCellRenderer; + +import fr.ifremer.isisfish.datastore.RuleStorage; +import fr.ifremer.isisfish.rule.Rule; +import fr.ifremer.isisfish.ui.util.TooltipHelper; +import fr.ifremer.isisfish.util.Doc; + +/** + * Specific editor for rule parameters. + * + * @author chatellier + * @version $Revision: 1.0 $ + * + * Last update : $Date: 9 juin 2009 $ + * By : $Author: chatellier $ + */ +public class RuleParametersTableCellRenderer extends DefaultTableCellRenderer + implements TableCellRenderer { + + /** serialVersionUID. */ + private static final long serialVersionUID = -1655744662816030649L; + + protected Rule rule; + + public RuleParametersTableCellRenderer(Rule rule) { + this.rule = rule; + + } + + /* + * @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int) + */ + @Override + public Component getTableCellRendererComponent(JTable table, Object value, + boolean isSelected, boolean hasFocus, int row, int column) { + + JLabel c = (JLabel) super.getTableCellRendererComponent(table, value, + isSelected, hasFocus, row, column); + + String parameterName = (String) value; + c.setText(parameterName); + + Doc doc = RuleStorage.getParameterDoc(rule, parameterName); + String documentation = TooltipHelper.docToString(doc); + c.setToolTipText(documentation); + + return c; + } + +} Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableModel.java 2009-06-09 17:50:12 UTC (rev 2358) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java 2009-06-12 17:35:02 UTC (rev 2376) @@ -1,193 +0,0 @@ -/* *##% - * Copyright (C) 2009 Code Lutin - * - * 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 2 - * 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, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - *##%*/ - -package fr.ifremer.isisfish.ui.simulator.rule; - -import static org.codelutin.i18n.I18n._; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import javax.swing.table.AbstractTableModel; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import fr.ifremer.isisfish.IsisFishException; -import fr.ifremer.isisfish.datastore.RuleStorage; -import fr.ifremer.isisfish.rule.Rule; -import fr.ifremer.isisfish.ui.input.metier.MetierSeasonInfoTargetSpeciesModel; - -/** - * Model de la table de definition de parametre d'une regle. - * - * Columns : - * <li>Parameter name</li> - * <li>Parameter value</li> - * - * @author chatellier - * @version $Revision: 2350 $ - * - * Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $ - * By : $Author: chatellier $ - */ -public class RuleParametersTableModel extends AbstractTableModel { - - /** Log. */ - private static Log log = LogFactory.getLog(MetierSeasonInfoTargetSpeciesModel.class); - - /** serialVersionUID. */ - private static final long serialVersionUID = 3169786638868209920L; - - /** Columns names. */ - public final static String[] COLUMN_NAMES = { - _("isisfish.common.name"), - _("isisfish.common.value") }; - - protected Rule rule; - protected List<String> ruleParametersNames; - - - /** - * Constructor with data. - * - * @param rule rule to edit parameters - */ - public RuleParametersTableModel(Rule rule) { - super(); - this.rule = rule; - - //TODO map may be sorted - ruleParametersNames = new ArrayList<String>(); - Map<String, Class> ruleParametersNamesAndTypes = RuleStorage.getParameterNames(rule); - for (String names : ruleParametersNamesAndTypes.keySet()) { - ruleParametersNames.add(names); - } - } - - /* - * @see javax.swing.table.TableModel#getColumnCount() - */ - @Override - public int getColumnCount() { - return COLUMN_NAMES.length; - } - - /* - * @see javax.swing.table.TableModel#getRowCount() - */ - @Override - public int getRowCount() { - return ruleParametersNames.size(); - } - - /* - * @see javax.swing.table.TableModel#getValueAt(int, int) - */ - @Override - public Object getValueAt(int rowIndex, int columnIndex) { - - Object result = null; - - String name = ruleParametersNames.get(rowIndex); - switch (columnIndex) { - case 0: - result = name; - break; - case 1: - try { - result = RuleStorage.getParameterValue(rule, name); - } catch (IsisFishException e) { - if (log.isErrorEnabled()) { - log.debug("Can't get parameters value", e); - } - } - break; - default: - throw new IndexOutOfBoundsException("No such column " + columnIndex); - } - - return result; - } - - /* - * @see javax.swing.table.TableModel#getColumnClass(int) - */ - @Override - public Class<?> getColumnClass(int columnIndex) { - - Class<?> result = null; - - switch (columnIndex) { - case 0: - result = String.class; - break; - case 1: - result = Object.class; - break; - default: - throw new IndexOutOfBoundsException("No such column " + columnIndex); - } - - return result; - } - - /* - * @see javax.swing.table.TableModel#getColumnName(int) - */ - @Override - public String getColumnName(int columnIndex) { - return COLUMN_NAMES[columnIndex]; - } - - /* - * @see javax.swing.table.TableModel#isCellEditable(int, int) - */ - @Override - public boolean isCellEditable(int rowIndex, int columnIndex) { - return columnIndex > 0; - } - - /* - * @see javax.swing.table.TableModel#setValueAt(java.lang.Object, int, int) - */ - @Override - public void setValueAt(Object value, int rowIndex, int columnIndex) { - - if (log.isDebugEnabled()) { - log.debug("Cell edition (column " + columnIndex + ") = " + value); - } - - String name = ruleParametersNames.get(rowIndex); - switch (columnIndex) { - case 1: - try { - RuleStorage.setParameterValue(rule, name, value); - } catch (IsisFishException e) { - if (log.isErrorEnabled()) { - log.error("Can't set parameter value"); - } - } - break; - default: - throw new IndexOutOfBoundsException("Can't edit column " + columnIndex); - } - - } -} Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java (from rev 2374, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableModel.java) =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java 2009-06-12 17:35:02 UTC (rev 2376) @@ -0,0 +1,194 @@ +/* *##% + * Copyright (C) 2009 Code Lutin + * + * 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 2 + * 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +package fr.ifremer.isisfish.ui.models.rule; + +import static org.codelutin.i18n.I18n._; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import javax.swing.table.AbstractTableModel; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import fr.ifremer.isisfish.IsisFishException; +import fr.ifremer.isisfish.datastore.RuleStorage; +import fr.ifremer.isisfish.rule.Rule; +import fr.ifremer.isisfish.ui.input.metier.MetierSeasonInfoTargetSpeciesModel; + +/** + * Model de la table de definition de parametre d'une regle. + * + * Columns : + * <li>Parameter name</li> + * <li>Parameter value</li> + * + * @author chatellier + * @version $Revision: 2350 $ + * + * Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $ + * By : $Author: chatellier $ + */ +public class RuleParametersTableModel extends AbstractTableModel { + + /** Log. */ + private static Log log = LogFactory + .getLog(MetierSeasonInfoTargetSpeciesModel.class); + + /** serialVersionUID. */ + private static final long serialVersionUID = 3169786638868209920L; + + /** Columns names. */ + public final static String[] COLUMN_NAMES = { _("isisfish.common.name"), + _("isisfish.common.value") }; + + protected Rule rule; + protected List<String> ruleParametersNames; + + /** + * Constructor with data. + * + * @param rule rule to edit parameters + */ + public RuleParametersTableModel(Rule rule) { + super(); + this.rule = rule; + + //TODO map may be sorted + ruleParametersNames = new ArrayList<String>(); + Map<String, Class<?>> ruleParametersNamesAndTypes = RuleStorage + .getParameterNames(rule); + for (String names : ruleParametersNamesAndTypes.keySet()) { + ruleParametersNames.add(names); + } + } + + /* + * @see javax.swing.table.TableModel#getColumnCount() + */ + @Override + public int getColumnCount() { + return COLUMN_NAMES.length; + } + + /* + * @see javax.swing.table.TableModel#getRowCount() + */ + @Override + public int getRowCount() { + return ruleParametersNames.size(); + } + + /* + * @see javax.swing.table.TableModel#getValueAt(int, int) + */ + @Override + public Object getValueAt(int rowIndex, int columnIndex) { + + Object result = null; + + String name = ruleParametersNames.get(rowIndex); + switch (columnIndex) { + case 0: + result = name; + break; + case 1: + try { + result = RuleStorage.getParameterValue(rule, name); + } catch (IsisFishException e) { + if (log.isErrorEnabled()) { + log.debug("Can't get parameters value", e); + } + } + break; + default: + throw new IndexOutOfBoundsException("No such column " + columnIndex); + } + + return result; + } + + /* + * @see javax.swing.table.TableModel#getColumnClass(int) + */ + @Override + public Class<?> getColumnClass(int columnIndex) { + + Class<?> result = null; + + switch (columnIndex) { + case 0: + result = String.class; + break; + case 1: + result = Object.class; + break; + default: + throw new IndexOutOfBoundsException("No such column " + columnIndex); + } + + return result; + } + + /* + * @see javax.swing.table.TableModel#getColumnName(int) + */ + @Override + public String getColumnName(int columnIndex) { + return COLUMN_NAMES[columnIndex]; + } + + /* + * @see javax.swing.table.TableModel#isCellEditable(int, int) + */ + @Override + public boolean isCellEditable(int rowIndex, int columnIndex) { + return columnIndex > 0; + } + + /* + * @see javax.swing.table.TableModel#setValueAt(java.lang.Object, int, int) + */ + @Override + public void setValueAt(Object value, int rowIndex, int columnIndex) { + + if (log.isDebugEnabled()) { + log.debug("Cell edition (column " + columnIndex + ") = " + value); + } + + String name = ruleParametersNames.get(rowIndex); + switch (columnIndex) { + case 1: + try { + RuleStorage.setParameterValue(rule, name, value); + } catch (IsisFishException e) { + if (log.isErrorEnabled()) { + log.error("Can't set parameter value"); + } + } + break; + default: + throw new IndexOutOfBoundsException("Can't edit column " + + columnIndex); + } + + } +} Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx 2009-06-12 16:44:18 UTC (rev 2375) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx 2009-06-12 17:35:02 UTC (rev 2376) @@ -74,8 +74,7 @@ DefaultTableModel model = new DefaultTableModel(columnName, tagValue.size()){ @Override public boolean isCellEditable(int row, int column) { - boolean result = false; - return result; + return false; } }; Set<Entry<String, String>> set = tagValue.entrySet(); Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2009-06-12 16:44:18 UTC (rev 2375) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2009-06-12 17:35:02 UTC (rev 2376) @@ -36,12 +36,13 @@ import fr.ifremer.isisfish.entities.FisheryRegionImpl; import fr.ifremer.isisfish.datastore.StorageException; import fr.ifremer.isisfish.simulator.launcher.SimulationServiceListener; -import fr.ifremer.isisfish.ui.simulator.rule.RuleComboBoxModel; -import fr.ifremer.isisfish.ui.simulator.rule.RuleListCellRenderer; -import fr.ifremer.isisfish.ui.simulator.rule.RuleListModel; -import fr.ifremer.isisfish.ui.simulator.rule.RuleParametersTableModel; -import fr.ifremer.isisfish.ui.simulator.rule.RuleParametersTableCellEditor; -import fr.ifremer.isisfish.ui.simulator.rule.RuleParametersTableCellRenderer; +import fr.ifremer.isisfish.ui.models.rule.RuleComboModel; +import fr.ifremer.isisfish.ui.models.rule.RuleComboRenderer; +import fr.ifremer.isisfish.ui.models.rule.RuleListCellRenderer; +import fr.ifremer.isisfish.ui.models.rule.RuleListModel; +import fr.ifremer.isisfish.ui.models.rule.RuleParametersTableModel; +import fr.ifremer.isisfish.ui.models.rule.RuleParametersTableCellEditor; +import fr.ifremer.isisfish.ui.models.rule.RuleParametersTableCellRenderer; import fr.ifremer.isisfish.rule.Rule; // instances variables déclaration @@ -322,8 +323,8 @@ } } protected void addRules() { - Rule selectedRule = (Rule)fieldSimulParamsMesuresSelect.getSelectedItem(); - simulAction.addNewRule(selectedRule); + String selectedRuleName = (String)fieldSimulParamsMesuresSelect.getSelectedItem(); + simulAction.addNewRule(selectedRuleName); setRulesListModel(); } protected void removeRules() { @@ -522,7 +523,7 @@ </row> <row> <cell fill="horizontal"> - <JComboBox id="fieldSimulParamsMesuresSelect" model='{new RuleComboBoxModel(simulAction.getAvailableRules())}' renderer='{new RuleListCellRenderer()}'/> + <JComboBox id="fieldSimulParamsMesuresSelect" model='{new RuleComboModel(simulAction.getAvailableRuleNames())}' renderer='{new RuleComboRenderer()}'/> </cell> </row> <row> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx 2009-06-12 16:44:18 UTC (rev 2375) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx 2009-06-12 17:35:02 UTC (rev 2376) @@ -23,13 +23,13 @@ <script><![CDATA[ import javax.swing.table.DefaultTableModel; import fr.ifremer.isisfish.simulator.AnalysePlan; - import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanComboModel; - import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanComboRenderer; - import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanListModel; - import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanListRenderer; - import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanParametersTableModel; - import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanParametersTableCellEditor; - import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanParametersTableCellRenderer; + import fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanComboModel; + import fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanComboRenderer; + import fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanListModel; + import fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanListRenderer; + import fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanParametersTableModel; + import fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanParametersTableCellEditor; + import fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanParametersTableCellRenderer; public void refresh() { // analyse plans names list Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-06-12 16:44:18 UTC (rev 2375) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-06-12 17:35:02 UTC (rev 2376) @@ -353,10 +353,9 @@ * * Get a new instance of ruleItem, and add it to rule list. * - * @param ruleItem rule to get copy + * @param ruleName rule to get copy */ - public void addNewRule(Rule ruleItem) { - String ruleName = RuleStorage.getName(ruleItem); + public void addNewRule(String ruleName) { try { RuleStorage ruleStorage = RuleStorage.getRule(ruleName); Rule ruleTmp = ruleStorage.getNewRuleInstance(); @@ -386,19 +385,12 @@ * * @return instance rule list */ - public List<Rule> getAvailableRules() { - List<Rule> result = new ArrayList<Rule>(); + public List<String> getAvailableRuleNames() { + List<String> result = new ArrayList<String>(); for (String ruleName : RuleStorage.getRuleNames()) { - try { - // remove last .java - String shortRuleName = ruleName.substring(0, ruleName.length() - 5); - Rule rule = RuleStorage.getRule(shortRuleName).getNewRuleInstance(); - result.add(rule); - } catch (IsisFishException e) { - if (log.isErrorEnabled()) { - log.error("Can't get rule instance", e); - } - } + // remove last .java + String shortRuleName = ruleName.substring(0, ruleName.length() - 5); + result.add(shortRuleName); } return result; }