Author: sletellier Date: 2009-03-11 11:13:55 +0000 (Wed, 11 Mar 2009) New Revision: 1935 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java Log: Factor modification is working Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java 2009-03-11 11:01:09 UTC (rev 1934) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java 2009-03-11 11:13:55 UTC (rev 1935) @@ -29,16 +29,16 @@ * @author letellier */ public class FactorAction { - public static void saveContinue(JComponent cOrigine, String name, String path, JComponent min, JComponent max, String increment, SimulAction action){ + public static void saveContinue(JComponent cOrigine, String name, String path, JComponent min, JComponent max, String increment, SimulAction action, boolean exist){ Serializable oMin = (Serializable)EditorHelper.getValue(min); Serializable oMax = (Serializable)EditorHelper.getValue(max); - action.addContinueFactors(name, path, oMin, oMax, Integer.parseInt(increment), cOrigine); + action.addContinueFactors(name, path, oMin, oMax, Integer.parseInt(increment), cOrigine, exist); } - public static void saveDiscret(JComponent cOrigine, String name, String path, List<JComponent> components, SimulAction action){ + public static void saveDiscret(JComponent cOrigine, String name, String path, List<JComponent> components, SimulAction action, boolean exist){ List<Serializable> values = new ArrayList<Serializable>(); for(JComponent c: components){ values.add((Serializable)EditorHelper.getValue(c)); } - action.addDiscreteFactors(name, path, values, cOrigine); + action.addDiscreteFactors(name, path, values, cOrigine, exist); } } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-11 11:01:09 UTC (rev 1934) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-11 11:13:55 UTC (rev 1935) @@ -168,9 +168,9 @@ } protected void save(){ if (continueRadion.isSelected()){ - getFactorAction().saveContinue(cOrigine, factorName.getText(), path, continueMin, continueMax, increment.getText(), getSimulAction()); + getFactorAction().saveContinue(cOrigine, factorName.getText(), path, continueMin, continueMax, increment.getText(), getSimulAction(), isExistingValue()); } else { - getFactorAction().saveDiscret(cOrigine, factorName.getText(), path, discretComponents, getSimulAction()); + getFactorAction().saveDiscret(cOrigine, factorName.getText(), path, discretComponents, getSimulAction(), isExistingValue()); } getContextValue(InputSaveVerifier.class).getSensPanel().setFactorModel(); this.dispose(); Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx 2009-03-11 11:01:09 UTC (rev 1934) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx 2009-03-11 11:13:55 UTC (rev 1935) @@ -104,7 +104,7 @@ if (Factor.class.isInstance(o)){ Factor f = (Factor)o; FactorWizard wizard = new FactorWizard(this); - wizard.initExisting(getSimulAction().getFactorComponant(f.getPath()), f); + wizard.initExisting(getSimulAction().getFactorComponent(f.getPath()), f); wizard.pack(); wizard.setVisible(true); } 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-03-11 11:01:09 UTC (rev 1934) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-03-11 11:13:55 UTC (rev 1935) @@ -104,7 +104,7 @@ protected String simulName = null; protected SensitivityStorage sensitivityStorage = null; protected Map<String, Factor<? extends Serializable>> factors = new HashMap<String, Factor<? extends Serializable>>(); - protected Map<String, JComponent> factorComponant = new HashMap<String, JComponent>(); + protected Map<String, JComponent> factorComponent = new HashMap<String, JComponent>(); /* ************ * Init @@ -622,12 +622,12 @@ } public void addFactor(String path, Factor f, JComponent c){ factors.put(path, f); - factorComponant.put(path, c); + factorComponent.put(path, c); } public Factor<? extends Serializable> getFactor(String name){ return factors.get(name); } - public void addContinueFactors(String name, String path, Serializable min, Serializable max, int inc, JComponent c){ + public void addContinueFactors(String name, String path, Serializable min, Serializable max, int inc, JComponent c, boolean exist){ Factor f = new Factor(name); ContinuousDomain<Serializable> domain = new ContinuousDomain<Serializable>(); domain.setMinBound(min); @@ -635,9 +635,11 @@ domain.setCardinality(inc); f.setDomain(domain); f.setPath(path); + if (exist) + removeFactor(path); addFactor(path, f, c); } - public void addDiscreteFactors(String name, String path, List<Serializable> values, JComponent c){ + public void addDiscreteFactors(String name, String path, List<Serializable> values, JComponent c, boolean exist){ Factor f = new Factor(name); DiscreteDomain<Serializable> domain = new DiscreteDomain<Serializable>(); int i = 0; @@ -647,14 +649,16 @@ } f.setDomain(domain); f.setPath(path); + if (exist) + removeFactor(path); addFactor(path, f, c); } - public JComponent getFactorComponant(String path){ - return factorComponant.get(path); + public JComponent getFactorComponent(String path){ + return factorComponent.get(path); } public void removeFactor(String path){ factors.remove(path); - factorComponant.remove(path); + factorComponent.remove(path); } /*