Author: sletellier Date: 2012-01-18 10:54:16 +0100 (Wed, 18 Jan 2012) New Revision: 24 Url: http://forge.codelutin.com/repositories/revision/jmexico/24 Log: - Take care of type - Fix traductions Modified: trunk/jmexico-model/src/main/java/fr/reseaumexico/model/parser/ExperimentDesignParser.java trunk/jmexico-model/src/main/java/fr/reseaumexico/model/parser/InputDesignParser.java trunk/jmexico-model/src/main/java/fr/reseaumexico/model/parser/MexicoXmlParser.java trunk/jmexico-swing-editor/src/main/java/fr/reseaumexico/editor/ui/MexicoMainUI.css trunk/jmexico-swing-editor/src/main/java/fr/reseaumexico/editor/ui/editor/factorValue/FactorValueEditorFactory.java trunk/jmexico-swing-editor/src/main/resources/i18n/jmexico-swing-editor_en_GB.properties trunk/jmexico-swing-editor/src/main/resources/i18n/jmexico-swing-editor_fr_FR.properties 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-18 09:32:11 UTC (rev 23) +++ trunk/jmexico-model/src/main/java/fr/reseaumexico/model/parser/ExperimentDesignParser.java 2012-01-18 09:54:16 UTC (rev 24) @@ -223,13 +223,14 @@ // valueType String domaineValueType = parser.getAttributeValue(null, DOMAIN_VALUE_TYPE); - domain.setValueType(ValueType.valueOf(domaineValueType)); + ValueType domaineType = ValueType.valueOf(domaineValueType); + domain.setValueType(domaineType); // nominaleValue - // TODO sletellier 20111215 : take care of type String nominaleValue = parser.getAttributeValue(null, DOMAIN_NOMINAL_VALUE); - domain.setNominalValue(nominaleValue); + domain.setNominalValue(getTypedValue(domaineType, nominaleValue)); + // while all child attributes is not parsed while (!(parser.getEventType() == XmlPullParser.END_TAG && parserEqual(parser, DOMAIN))) { @@ -247,15 +248,15 @@ String name = parser.getAttributeValue(null, DISTRIBUTION_PARAMETER_NAME); distributionParameter.setName(name); + // valueType + String valueType = parser.getAttributeValue(null, DISTRIBUTION_PARAMETER_VALUE_TYPE); + ValueType type = ValueType.valueOf(valueType); + distributionParameter.setValueType(type); + // value - // TODO sletellier 20111215 : take care of type String value = parser.getAttributeValue(null, DISTRIBUTION_PARAMETER_VALUE); - distributionParameter.setValue(value); + distributionParameter.setValue(getTypedValue(type, value)); - // valueType - String valueType = parser.getAttributeValue(null, DISTRIBUTION_PARAMETER_VALUE_TYPE); - distributionParameter.setValueType(ValueType.valueOf(valueType)); - distributionParameters.add(distributionParameter); // read close tag @@ -298,15 +299,15 @@ String name = parser.getAttributeValue(null, FEATURE_NAME); feature.setName(name); + // value type + String valueType = parser.getAttributeValue(null, FEATURE_VALUE_TYPE); + ValueType type = ValueType.valueOf(valueType); + feature.setValueType(type); + // value - // TODO sletellier 20111215 : take care of type String value = parser.getAttributeValue(null, FEATURE_VALUE); - feature.setValue(value); + feature.setValue(getTypedValue(type, value)); - // value type - String valueType = parser.getAttributeValue(null, FEATURE_VALUE_TYPE); - feature.setValueType(ValueType.valueOf(valueType)); - return feature; } Modified: trunk/jmexico-model/src/main/java/fr/reseaumexico/model/parser/InputDesignParser.java =================================================================== --- trunk/jmexico-model/src/main/java/fr/reseaumexico/model/parser/InputDesignParser.java 2012-01-18 09:32:11 UTC (rev 23) +++ trunk/jmexico-model/src/main/java/fr/reseaumexico/model/parser/InputDesignParser.java 2012-01-18 09:54:16 UTC (rev 24) @@ -33,6 +33,7 @@ import fr.reseaumexico.model.MexicoTechnicalException; import fr.reseaumexico.model.Scenario; import fr.reseaumexico.model.ScenarioImpl; +import fr.reseaumexico.model.ValueType; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; @@ -133,10 +134,12 @@ String factorId = parser.getAttributeValue(null, FACTOR); Factor factor = experimentDesignParser.getFactors().get(factorId); + ValueType valueType = factor.getDomain().getValueType(); + // factor value String value = parser.nextText(); - factorValues.put(factor, value); + factorValues.put(factor, getTypedValue(valueType, value)); // read next tag parser.nextTag(); Modified: trunk/jmexico-model/src/main/java/fr/reseaumexico/model/parser/MexicoXmlParser.java =================================================================== --- trunk/jmexico-model/src/main/java/fr/reseaumexico/model/parser/MexicoXmlParser.java 2012-01-18 09:32:11 UTC (rev 23) +++ trunk/jmexico-model/src/main/java/fr/reseaumexico/model/parser/MexicoXmlParser.java 2012-01-18 09:54:16 UTC (rev 24) @@ -25,6 +25,7 @@ package fr.reseaumexico.model.parser; import fr.reseaumexico.model.DateFormatFactory; +import fr.reseaumexico.model.ValueType; import java.io.File; import java.io.FileNotFoundException; import java.text.ParseException; @@ -45,4 +46,20 @@ public Date parseDate(String toParse) throws ParseException { return DateFormatFactory.getMexicoDateFormat().parse(toParse); } + + public Object getTypedValue(ValueType type, String value) { + Object result; + if (value == null) { + return null; + } + switch (type) { + case INTEGER: result = Integer.parseInt(value); break; + case BOOLEAN: result = Boolean.parseBoolean(value); break; + case DECIMAL: result = Double.parseDouble(value); break; + default: result = value; break; + // TODO sletelier : convert string to matrice + // case MATRICE: + } + return result; + } } Modified: trunk/jmexico-swing-editor/src/main/java/fr/reseaumexico/editor/ui/MexicoMainUI.css =================================================================== --- trunk/jmexico-swing-editor/src/main/java/fr/reseaumexico/editor/ui/MexicoMainUI.css 2012-01-18 09:32:11 UTC (rev 23) +++ trunk/jmexico-swing-editor/src/main/java/fr/reseaumexico/editor/ui/MexicoMainUI.css 2012-01-18 09:54:16 UTC (rev 24) @@ -35,5 +35,5 @@ mnemonic:S; } #exit { - text:"masc.menu.exit"; + text:"jmexico.menu.exit"; } \ No newline at end of file Modified: trunk/jmexico-swing-editor/src/main/java/fr/reseaumexico/editor/ui/editor/factorValue/FactorValueEditorFactory.java =================================================================== --- trunk/jmexico-swing-editor/src/main/java/fr/reseaumexico/editor/ui/editor/factorValue/FactorValueEditorFactory.java 2012-01-18 09:32:11 UTC (rev 23) +++ trunk/jmexico-swing-editor/src/main/java/fr/reseaumexico/editor/ui/editor/factorValue/FactorValueEditorFactory.java 2012-01-18 09:54:16 UTC (rev 24) @@ -31,6 +31,7 @@ import javax.swing.JCheckBox; import javax.swing.JTextField; import jaxx.runtime.swing.editor.NumberEditor; +import org.apache.commons.lang3.StringUtils; /** * Factory used to open specific editor to input factor value @@ -113,7 +114,8 @@ protected JTextField component; public DefaultFactorValueInlineEditor(Object value) { - this.component = new JTextField(String.valueOf(value)); + this.component = new JTextField(getStringValue(value)); + this.component.setBorder(null); } @Override @@ -156,7 +158,7 @@ numberEditor.setModel(value); // FIXME sletellier 20120105 : we dont need to set modelText - numberEditor.setModelText(String.valueOf(value)); + numberEditor.setModelText(getStringValue(value)); numberEditor.setUseFloat(false); numberEditor.setUseSign(true); } @@ -181,7 +183,7 @@ numberEditor.setModel(value); // FIXME sletellier 20120105 : we dont need to set modelText - numberEditor.setModelText(String.valueOf(value)); + numberEditor.setModelText(getStringValue(value)); numberEditor.setModelType(Double.class); numberEditor.setUseFloat(true); numberEditor.setUseSign(true); @@ -197,4 +199,12 @@ return numberEditor; } } + + protected static String getStringValue(Object value) { + String text = String.valueOf(value); + if (value == null) { + text = StringUtils.EMPTY; + } + return text; + } } Modified: trunk/jmexico-swing-editor/src/main/resources/i18n/jmexico-swing-editor_en_GB.properties =================================================================== --- trunk/jmexico-swing-editor/src/main/resources/i18n/jmexico-swing-editor_en_GB.properties 2012-01-18 09:32:11 UTC (rev 23) +++ trunk/jmexico-swing-editor/src/main/resources/i18n/jmexico-swing-editor_en_GB.properties 2012-01-18 09:54:16 UTC (rev 24) @@ -4,6 +4,7 @@ jmexico.factor.name=Factor jmexico.file.open.dialog=Open an InputDesign file. jmexico.input.msg=New value +jmexico.menu.exit=Exit jmexico.menu.file=File jmexico.menu.file.open=Open jmexico.menu.file.save=Save Modified: trunk/jmexico-swing-editor/src/main/resources/i18n/jmexico-swing-editor_fr_FR.properties =================================================================== --- trunk/jmexico-swing-editor/src/main/resources/i18n/jmexico-swing-editor_fr_FR.properties 2012-01-18 09:32:11 UTC (rev 23) +++ trunk/jmexico-swing-editor/src/main/resources/i18n/jmexico-swing-editor_fr_FR.properties 2012-01-18 09:54:16 UTC (rev 24) @@ -4,6 +4,7 @@ jmexico.factor.name=Facteur jmexico.file.open.dialog=Ouvrir un fichier InputDesign jmexico.input.msg=Nouvelle valeur +jmexico.menu.exit=Quitter jmexico.menu.file=Fichier jmexico.menu.file.open=Ouvrir jmexico.menu.file.save=Sauvegarder