Author: sletellier Date: 2012-01-26 17:27:47 +0100 (Thu, 26 Jan 2012) New Revision: 39 Url: http://forge.codelutin.com/repositories/revision/jmexico/39 Log: - Allow to clear cache if needed Modified: trunk/jmexico-editor/src/main/java/fr/reseaumexico/editor/InputDesignEditor.jaxx trunk/jmexico-editor/src/main/java/fr/reseaumexico/editor/InputDesignTableModel.java trunk/jmexico-editor/src/main/java/fr/reseaumexico/editor/factorValue/FactorValueEditorFactory.java trunk/jmexico-model/src/main/java/fr/reseaumexico/model/parser/ExperimentDesignParser.java trunk/jmexico-model/src/main/java/fr/reseaumexico/model/writer/XmlNode.java Modified: trunk/jmexico-editor/src/main/java/fr/reseaumexico/editor/InputDesignEditor.jaxx =================================================================== --- trunk/jmexico-editor/src/main/java/fr/reseaumexico/editor/InputDesignEditor.jaxx 2012-01-26 14:40:44 UTC (rev 38) +++ trunk/jmexico-editor/src/main/java/fr/reseaumexico/editor/InputDesignEditor.jaxx 2012-01-26 16:27:47 UTC (rev 39) @@ -36,7 +36,7 @@ <InputDesignEditorHandler id='handler'/> - <InputDesignTableModel id='model' javaBean="new InputDesignTableModel()"/> + <InputDesignTableModel id='model' constructorParams='this'/> <FactorValueCellEditor id='cellEditor' constructorParams='this'/> Modified: trunk/jmexico-editor/src/main/java/fr/reseaumexico/editor/InputDesignTableModel.java =================================================================== --- trunk/jmexico-editor/src/main/java/fr/reseaumexico/editor/InputDesignTableModel.java 2012-01-26 14:40:44 UTC (rev 38) +++ trunk/jmexico-editor/src/main/java/fr/reseaumexico/editor/InputDesignTableModel.java 2012-01-26 16:27:47 UTC (rev 39) @@ -24,6 +24,7 @@ */ package fr.reseaumexico.editor; +import fr.reseaumexico.editor.factorValue.FactorValueEditorFactory; import fr.reseaumexico.model.Factor; import fr.reseaumexico.model.InputDesign; import fr.reseaumexico.model.MexicoUtil; @@ -31,6 +32,7 @@ import fr.reseaumexico.model.ValueType; import fr.reseaumexico.model.event.InputDesignScenarioEvent; import fr.reseaumexico.model.event.InputDesignScenarioListener; +import jaxx.runtime.JAXXContext; import org.apache.commons.lang3.ObjectUtils; import javax.swing.table.AbstractTableModel; @@ -59,7 +61,12 @@ protected List<Factor> factors; - public InputDesignTableModel() { + protected FactorValueEditorFactory factory; + + public InputDesignTableModel(JAXXContext context) { + // search specific factory in context + factory = context.getContextValue(FactorValueEditorFactory.class); + delegate = new DefaultTableModel(); } @@ -79,6 +86,8 @@ } }); + factory.clearCache(); + fireTableStructureChanged(); } Modified: trunk/jmexico-editor/src/main/java/fr/reseaumexico/editor/factorValue/FactorValueEditorFactory.java =================================================================== --- trunk/jmexico-editor/src/main/java/fr/reseaumexico/editor/factorValue/FactorValueEditorFactory.java 2012-01-26 14:40:44 UTC (rev 38) +++ trunk/jmexico-editor/src/main/java/fr/reseaumexico/editor/factorValue/FactorValueEditorFactory.java 2012-01-26 16:27:47 UTC (rev 39) @@ -128,6 +128,10 @@ return getCellEditor(factor, value); } + public void clearCache() { + factorValueEditorCache = Maps.newHashMap(); + } + protected interface FactorValueCellRenderer { Component getComponent(); Modified: trunk/jmexico-model/src/main/java/fr/reseaumexico/model/parser/ExperimentDesignParser.java =================================================================== --- trunk/jmexico-model/src/main/java/fr/reseaumexico/model/parser/ExperimentDesignParser.java 2012-01-26 14:40:44 UTC (rev 38) +++ trunk/jmexico-model/src/main/java/fr/reseaumexico/model/parser/ExperimentDesignParser.java 2012-01-26 16:27:47 UTC (rev 39) @@ -164,7 +164,7 @@ if (parser.getEventType() == XmlPullParser.START_TAG && parserEqual(parser, FEATURE)) { - List<Feature> features = Lists.newLinkedList(); + List<Feature> features = Lists.newArrayList(); while (parserEqual(parser, FEATURE)) { Modified: trunk/jmexico-model/src/main/java/fr/reseaumexico/model/writer/XmlNode.java =================================================================== --- trunk/jmexico-model/src/main/java/fr/reseaumexico/model/writer/XmlNode.java 2012-01-26 14:40:44 UTC (rev 38) +++ trunk/jmexico-model/src/main/java/fr/reseaumexico/model/writer/XmlNode.java 2012-01-26 16:27:47 UTC (rev 39) @@ -26,13 +26,12 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; +import java.util.List; +import java.util.Map; +import java.util.Set; import org.apache.commons.lang3.StringEscapeUtils; import org.apache.commons.lang3.StringUtils; -import java.util.LinkedList; -import java.util.Map; -import java.util.Set; - /** * Represent an XML node * @@ -46,7 +45,7 @@ public static final String START_TAG = "%s<%s%s>"; public static final String END_TAG = "%s</%s>\n"; - protected LinkedList<XmlNode> children; + protected List<XmlNode> children; protected Map<String, String> attributes; protected String tagName; protected String text; @@ -58,7 +57,7 @@ public XmlNode(String tagName, String text) { this.tagName = tagName; this.text = text; - children = Lists.newLinkedList(); + children = Lists.newArrayList(); attributes = Maps.newHashMap(); }