|
From: <de...@us...> - 2014-10-09 21:42:25
|
Revision: 8870
http://sourceforge.net/p/fudaa/svn/8870
Author: deniger
Date: 2014-10-09 21:42:19 +0000 (Thu, 09 Oct 2014)
Log Message:
-----------
prise en compte d'une valeur null
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierEtude1d.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierReseau.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/mascaret/DoubleConverter.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/mascaret/EdamoxXmlReaderWriter.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/mascaret/IntegerConverter.java
trunk/soft/fudaa-mascaret/server/src/main/resources/dtd/mascaret-1.0.dtd
trunk/soft/fudaa-mascaret/server/src/test/java/org/fudaa/dodico/mascaret/EdamoxXmlReaderWriterTest.java
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierEtude1d.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierEtude1d.java 2014-10-09 21:08:28 UTC (rev 8869)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierEtude1d.java 2014-10-09 21:42:19 UTC (rev 8870)
@@ -289,6 +289,7 @@
return calageAuto_;
}
+
public void calageAuto(MetierCalageAuto _calageAuto) {
if (calageAuto_ == _calageAuto) {
return;
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierReseau.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierReseau.java 2014-10-09 21:08:28 UTC (rev 8869)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierReseau.java 2014-10-09 21:42:19 UTC (rev 8870)
@@ -908,6 +908,9 @@
}
public MetierNoeud[] noeudsConnectesBiefs() {
+ if (biefs_ == null) {
+ return new MetierNoeud[0];
+ }
Vector noeuds = new Vector();
MetierNoeud n = null;
for (int i = 0; i < biefs_.length; i++) {
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/mascaret/DoubleConverter.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/mascaret/DoubleConverter.java 2014-10-09 21:08:28 UTC (rev 8869)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/mascaret/DoubleConverter.java 2014-10-09 21:42:19 UTC (rev 8870)
@@ -23,7 +23,7 @@
public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) {
Double values = (Double) source;
if (values == null || values.isNaN() || ConvH1D_Masc.RIEN == values.doubleValue()) {
- writer.setValue(StringUtils.EMPTY);
+ writer.setValue(IntegerConverter.NOTHING_VALUE);
} else {
writer.setValue(basicDoubleConverter.toString(values));
}
@@ -32,7 +32,7 @@
@Override
public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {
String value = reader.getValue();
- if (value == null || StringUtils.isBlank(value)) {
+ if (value == null || StringUtils.isBlank(value) || IntegerConverter.NOTHING_VALUE.equals(value)) {
return ConvH1D_Masc.RIEN;
}
return basicDoubleConverter.fromString(value);
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/mascaret/EdamoxXmlReaderWriter.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/mascaret/EdamoxXmlReaderWriter.java 2014-10-09 21:08:28 UTC (rev 8869)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/mascaret/EdamoxXmlReaderWriter.java 2014-10-09 21:42:19 UTC (rev 8870)
@@ -156,7 +156,7 @@
}
private XmlFriendlyNameCoder createReplacer() {
- return new XmlFriendlyNameCoder("#", "_") ;
+ return new XmlFriendlyNameCoder("#", "_");
}
public CtuluLog isValide(final File xml) {
@@ -406,21 +406,7 @@
private void configureXStream(XStream xstream) {
xstream.alias("fichierCas", EdamoxXMLContent.class);
- //ces converter traduisent des tableaux de double, boolean,... en chaine de caractere
- //avec chaque entr\xE9e s\xE9par\xE9s par un espace.
- //Si la lecture de ces lignes est trop compliqu\xE9 en fortran, il est possible
- //de supprimer ces converter. Ainsi chaque entr\xE9e sera dans des balises <double>,...
- xstream.registerConverter(new DoubleArrayConverter());
- xstream.registerConverter(new BooleanArrayConverter());
- xstream.registerConverter(new IntegerArrayConverter());
- xstream.registerConverter(new FloatArrayConverter());
- //pour enlever les caracteres speciaux
- xstream.registerConverter(new StringConverter());
- //pour les NAN
- xstream.registerConverter(new IntegerConverter());
- //pour les NAN
- xstream.registerConverter(new DoubleConverter());
-// xstream.registerConverter(new StringArrayConverter());
+ registerConverters(xstream);
xstream.alias("structureParametresCAS", SParametresCAS.class);
xstream.alias("noeud", SNoeud.class);
@@ -486,6 +472,24 @@
}
+ public static void registerConverters(XStream xstream) {
+ //ces converter traduisent des tableaux de double, boolean,... en chaine de caractere
+ //avec chaque entr\xE9e s\xE9par\xE9s par un espace.
+ //Si la lecture de ces lignes est trop compliqu\xE9 en fortran, il est possible
+ //de supprimer ces converter. Ainsi chaque entr\xE9e sera dans des balises <double>,...
+ xstream.registerConverter(new DoubleArrayConverter(IntegerConverter.NOTHING_VALUE));
+ xstream.registerConverter(new BooleanArrayConverter(IntegerConverter.NOTHING_VALUE));
+ xstream.registerConverter(new IntegerArrayConverter(IntegerConverter.NOTHING_VALUE));
+ xstream.registerConverter(new FloatArrayConverter(IntegerConverter.NOTHING_VALUE));
+ //pour enlever les caracteres speciaux
+ xstream.registerConverter(new StringConverter());
+ //pour les NAN
+ xstream.registerConverter(new IntegerConverter());
+ //pour les NAN
+ xstream.registerConverter(new DoubleConverter());
+// xstream.registerConverter(new StringArrayConverter());
+ }
+
protected static class CustomPrettyPrintWriter extends PrettyPrintWriter {
public CustomPrettyPrintWriter(Writer writer, char[] lineIndenter, NameCoder nameCoder) {
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/mascaret/IntegerConverter.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/mascaret/IntegerConverter.java 2014-10-09 21:08:28 UTC (rev 8869)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/mascaret/IntegerConverter.java 2014-10-09 21:42:19 UTC (rev 8870)
@@ -9,7 +9,6 @@
import com.thoughtworks.xstream.converters.basic.IntConverter;
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
-import java.text.Normalizer;
import org.apache.commons.lang.StringUtils;
import org.fudaa.dodico.hydraulique1d.conv.ConvH1D_Masc;
@@ -19,13 +18,15 @@
*/
public class IntegerConverter implements Converter {
+ public static String NOTHING_VALUE = "-0";
+
IntConverter basicIntConverter = new IntConverter();
@Override
public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) {
Integer values = (Integer) source;
if (values == null || ConvH1D_Masc.IRIEN == values.intValue()) {
- writer.setValue(StringUtils.EMPTY);
+ writer.setValue(NOTHING_VALUE);
} else {
writer.setValue(basicIntConverter.toString(values));
}
@@ -34,7 +35,7 @@
@Override
public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {
String value = reader.getValue();
- if (value == null || StringUtils.isBlank(value)) {
+ if (value == null || StringUtils.isBlank(value) || NOTHING_VALUE.equals(value)) {
return ConvH1D_Masc.IRIEN;
}
return basicIntConverter.fromString(value);
Modified: trunk/soft/fudaa-mascaret/server/src/main/resources/dtd/mascaret-1.0.dtd
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/resources/dtd/mascaret-1.0.dtd 2014-10-09 21:08:28 UTC (rev 8869)
+++ trunk/soft/fudaa-mascaret/server/src/main/resources/dtd/mascaret-1.0.dtd 2014-10-09 21:42:19 UTC (rev 8870)
@@ -57,8 +57,7 @@
perteChargeAutoElargissement?,
termesNonHydrostatiques?,
apportDebit?,
- attenuationConvection?,
- parametresNumeriqueCasier?)
+ attenuationConvection?)
>
<!ELEMENT parametresTemporels (
Modified: trunk/soft/fudaa-mascaret/server/src/test/java/org/fudaa/dodico/mascaret/EdamoxXmlReaderWriterTest.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/test/java/org/fudaa/dodico/mascaret/EdamoxXmlReaderWriterTest.java 2014-10-09 21:08:28 UTC (rev 8869)
+++ trunk/soft/fudaa-mascaret/server/src/test/java/org/fudaa/dodico/mascaret/EdamoxXmlReaderWriterTest.java 2014-10-09 21:42:19 UTC (rev 8870)
@@ -83,6 +83,7 @@
*/
public static void testCompare(SParametresCAS cas1, SParametresCAS cas2) {
XStream xstream = new XStream();
+ EdamoxXmlReaderWriter.registerConverters(xstream);
xstream.setMode(XStream.NO_REFERENCES);
// cas2.parametresGen.code=3;
String cas1ToXml = xstream.toXML(cas1);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|