r2043 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui: input sensitivity simulator
Author: sletellier Date: 2009-03-30 14:04:32 +0000 (Mon, 30 Mar 2009) New Revision: 2043 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EquationContinuousPanel.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java Log: Factor equation stored in bean Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx 2009-03-30 12:12:16 UTC (rev 2042) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx 2009-03-30 14:04:32 UTC (rev 2043) @@ -77,15 +77,12 @@ if (classBean != null){ isSensitivity = UtilsUI.isSensitivity(classBean.getSimpleName().replace("Impl", "") + "." + method); } - ui = null; if (isSensitivity){ - jaxx.runtime.swing.BlockingLayerUI2 ui = active ? layerUI2.clone() : null; + jaxx.runtime.swing.BlockingLayerUI2 ui = active ? layerUI2.clone() : null; SwingUtil.getLayer(boxed).setUI(ui); } else { jaxx.runtime.swing.BlockingLayerUI ui = active ? layerUI.clone() : null; - if (classBean == null && ui != null){ - ui.setBlock(true); - } + ui.setBlock(true); ui.setUseIcon(isSensitivity && isActif()); SwingUtil.getLayer(boxed).setUI(ui); } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EquationContinuousPanel.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EquationContinuousPanel.jaxx 2009-03-30 12:12:16 UTC (rev 2042) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EquationContinuousPanel.jaxx 2009-03-30 14:04:32 UTC (rev 2043) @@ -169,7 +169,7 @@ Pattern p = Pattern.compile("(^.*\\ *" + variableName + "\\ *\\=\\ *).*\\;$"); Matcher matcher = p.matcher(line); if (matcher.find()) { - line = matcher.group(1) + "getValueAndCompute('" + bean.toString() + "." + StringUtils.uncapitalize(methodGet) + "." + variableName + "');"; + line = matcher.group(1) + "context.getValueAndCompute('" + bean.toString() + "." + StringUtils.uncapitalize(methodGet) + "." + variableName + "');"; } result += line + "\n"; } 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-30 12:12:16 UTC (rev 2042) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java 2009-03-30 14:04:32 UTC (rev 2043) @@ -21,16 +21,24 @@ import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationContinuousDomain; import fr.ifremer.isisfish.ui.simulator.SimulAction; import java.io.Serializable; +import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; import javax.swing.JComponent; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.codelutin.math.matrix.MatrixND; +import org.codelutin.topia.persistence.TopiaEntity; /** * * @author letellier */ public class FactorAction { + + /** to use log facility, just put in your code: log.info(\"...\"); */ + private static Log log = LogFactory.getLog(SimulAction.class); + public static void saveContinue(JComponent cOrigine, String name, String comment, String path, ContinuousPanelContainer panel, SimulAction action, boolean exist){ DefaultContinuousPanel defaultPanel = null; if (MatrixContinuousPanel.class.isInstance(panel)){ @@ -41,10 +49,26 @@ action.addContinuousMatrixFactor(name, comment, path, coef, matrix, operateur, cOrigine, exist); } else if (EquationContinuousPanel.class.isInstance(panel)){ - EquationContinuousPanel equationPanel = (EquationContinuousPanel)panel; - List<EquationContinuousDomain> domains = equationPanel.getDomains(); - for (EquationContinuousDomain domain : domains){ - action.addContinuousEquationFactor(name, comment, path, domain, equationPanel.getEditor().getEditor().getText(), cOrigine, exist); + try { + EquationContinuousPanel equationPanel = (EquationContinuousPanel) panel; + + TopiaEntity bean = equationPanel.getBean(); + String methodSet = equationPanel.getMethodSet(); + Method m = bean.getClass().getMethod("set" + methodSet, String.class); + m.invoke(bean, equationPanel.getEditor().getEditor().getText()); + + // Save equation + bean.update(); + bean.getTopiaContext().commitTransaction(); + + List<EquationContinuousDomain> domains = equationPanel.getDomains(); + for (EquationContinuousDomain domain : domains) { + action.addContinuousEquationFactor(name, comment, path, domain, cOrigine, exist); + } + } catch (Exception ex) { + if (log.isErrorEnabled()) { + log.error("Can't call method : ", ex); + } } } else if (DefaultContinuousPanel.class.isInstance(panel)){ defaultPanel = (DefaultContinuousPanel)panel; 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-30 12:12:16 UTC (rev 2042) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-03-30 14:04:32 UTC (rev 2043) @@ -871,10 +871,9 @@ } public void addContinuousEquationFactor(String name, String comment, String path, - EquationContinuousDomain domain, String equation, JComponent c, + EquationContinuousDomain domain, JComponent c, boolean exist) { Factor f = new Factor(name); - f.setValue(equation); f.setDomain(domain); f.setComment(comment); f.setPath(path + domain.getVariableName());
participants (1)
-
sletellier@users.labs.libre-entreprise.org