Revision 22975 trunk/extensions/extNormalization/src-test/org/gvsig/normalization/operations/TestMarshall.java
TestMarshall.java | ||
---|---|---|
30 | 30 |
import java.io.File; |
31 | 31 |
import java.io.FileNotFoundException; |
32 | 32 |
import java.io.FileReader; |
33 |
import java.io.StringReader;
|
|
34 |
import java.io.StringWriter;
|
|
33 |
import java.io.FileWriter;
|
|
34 |
import java.io.IOException;
|
|
35 | 35 |
|
36 | 36 |
import junit.framework.TestCase; |
37 | 37 |
|
38 | 38 |
import org.apache.log4j.Logger; |
39 |
import org.exolab.castor.xml.Unmarshaller; |
|
40 |
import org.gvsig.geocoding.patterns.normalization.Addresselement; |
|
41 |
import org.gvsig.geocoding.patterns.normalization.Patternnormalization; |
|
39 |
import org.gvsig.patterns.normalization.Element; |
|
40 |
import org.gvsig.patterns.normalization.Patternnormalization; |
|
41 |
import org.gvsig.tools.storage.IStorage; |
|
42 |
import org.gvsig.tools.storage.StorageXML; |
|
42 | 43 |
|
43 | 44 |
import com.iver.andami.PluginServices; |
44 | 45 |
|
... | ... | |
49 | 50 |
public void testMarshallUnmarshall() { |
50 | 51 |
|
51 | 52 |
log.info("testMarshallUnmarshall. start test"); |
52 |
Patternnormalization pat = null; |
|
53 |
File f = new File( |
|
53 |
Patternnormalization pat = new Patternnormalization(); |
|
54 |
Patternnormalization pat3 = new Patternnormalization(); |
|
55 |
File file = new File( |
|
54 | 56 |
"src-test/org/gvsig/normalization/operations/testdata/patSplitChain.xml"); |
55 | 57 |
|
56 |
FileReader red = null; |
|
58 |
FileReader reader = null; |
|
59 |
IStorage storage = new StorageXML(); |
|
57 | 60 |
|
61 |
Element elem1 = null; |
|
62 |
|
|
63 |
// PARSER |
|
58 | 64 |
try { |
59 |
red = new FileReader(f); |
|
60 |
pat = (Patternnormalization) Patternnormalization.unmarshal(red); |
|
65 |
reader = new FileReader(file); |
|
66 |
storage.load(reader); |
|
67 |
pat.setstate(storage); |
|
61 | 68 |
|
62 |
Addresselement al = pat.getAddresselements().getAddresselement()[0];
|
|
63 |
Addresselement elem = null;
|
|
69 |
assertEquals(11, pat.getElements().size());
|
|
70 |
assertEquals(0, pat.getNofirstrows());
|
|
64 | 71 |
|
65 |
assertNotNull(al);
|
|
72 |
elem1 = (Element) pat.getElements().get(0);
|
|
66 | 73 |
|
67 |
StringWriter stw = new StringWriter();
|
|
68 |
al.marshal(stw);
|
|
74 |
assertNotNull(elem1);
|
|
75 |
assertEquals("NewField", elem1.getFieldname());
|
|
69 | 76 |
|
70 |
elem = (Addresselement) Addresselement.unmarshal(new StringReader( |
|
71 |
stw.toString())); |
|
77 |
} catch (FileNotFoundException e) { |
|
78 |
log.error("Parsing and serializing the pattern", e); |
|
79 |
} catch (ClassNotFoundException e) { |
|
80 |
log.error("Parsing and serializing the pattern", e); |
|
81 |
} |
|
72 | 82 |
|
73 |
assertNotNull(elem); |
|
74 |
assertEquals(al.getImportfield(), elem.getImportfield()); |
|
75 |
assertEquals(al.getFieldwidth(), elem.getFieldwidth()); |
|
76 |
assertEquals(al.getNewfieldname(), elem.getNewfieldname()); |
|
77 |
assertEquals(al.getInfieldseparators().getDecimalseparator() |
|
78 |
.getValue(), elem.getInfieldseparators() |
|
79 |
.getDecimalseparator().getValue()); |
|
83 |
// SERIALIZER |
|
84 |
IStorage storage2 = new StorageXML(); |
|
85 |
pat.getstate(storage2); |
|
86 |
File ftemp = null; |
|
87 |
try { |
|
88 |
//ftemp = File.createTempFile("tem", "txt"); |
|
89 |
ftemp = new File("C:\\000.txt"); |
|
90 |
FileWriter writer2 = new FileWriter(ftemp); |
|
91 |
storage2.dump(writer2); |
|
92 |
writer2.close(); |
|
93 |
} catch (IOException e) { |
|
94 |
log.error("Parsing and serializing the pattern", e); |
|
95 |
} |
|
80 | 96 |
|
81 |
} catch (Exception e) { |
|
97 |
// PARSER |
|
98 |
IStorage storage3 = new StorageXML(); |
|
99 |
FileReader reader3; |
|
100 |
try { |
|
101 |
assertNotNull(ftemp); |
|
102 |
reader3 = new FileReader(ftemp); |
|
103 |
storage3.load(reader3); |
|
104 |
pat3.setstate(storage3); |
|
105 |
|
|
106 |
Element elem2 = (Element) pat3.getElements().get(0); |
|
107 |
|
|
108 |
assertNotNull(elem2); |
|
109 |
|
|
110 |
assertEquals(elem1.getImportfield(), elem2.getImportfield()); |
|
111 |
assertEquals(elem1.getFieldwidth(), elem2.getFieldwidth()); |
|
112 |
assertEquals(elem1.getFieldname(), elem2.getFieldname()); |
|
113 |
assertEquals(elem1.getInfieldseparators().getDecimalseparator(), |
|
114 |
elem2.getInfieldseparators().getDecimalseparator()); |
|
115 |
|
|
116 |
} catch (FileNotFoundException e) { |
|
82 | 117 |
log.error("Parsing and serializing the pattern", e); |
83 |
e.printStackTrace(); |
|
118 |
} catch (ClassNotFoundException e) { |
|
119 |
log.error("Parsing and serializing the pattern", e); |
|
84 | 120 |
} |
85 |
log.info("testMarshallUnmarshall. test finished"); |
|
86 | 121 |
} |
87 | 122 |
|
88 | 123 |
public void testUnmarshall() { |
... | ... | |
100 | 135 |
} |
101 | 136 |
|
102 | 137 |
// Marshal the person object |
103 |
Patternnormalization pat = null; |
|
138 |
Patternnormalization pat = new Patternnormalization(); |
|
139 |
IStorage storage = new StorageXML(); |
|
104 | 140 |
try { |
105 |
pat = (Patternnormalization) Unmarshaller.unmarshal(
|
|
106 |
Patternnormalization.class, reader);
|
|
141 |
storage.load(reader);
|
|
142 |
pat.setstate(storage);
|
|
107 | 143 |
assertNotNull(pat); |
108 | 144 |
} catch (Exception e) { |
109 | 145 |
log.error("Unmarshall the pattern"); |
... | ... | |
111 | 147 |
} |
112 | 148 |
log.info("pattern loaded"); |
113 | 149 |
// results |
114 |
assertEquals(11, pat.getAddresselements().getAddresselementCount()); |
|
115 |
assertEquals(0, pat.getAddresselements().getAddresselement(3) |
|
116 |
.getFieldwidth()); |
|
117 |
assertEquals(true, pat.getAddresselements().getAddresselement(2) |
|
150 |
assertEquals(11, pat.getElements().size()); |
|
151 |
assertEquals(0, ((Element) pat.getElements().get(3)).getFieldwidth()); |
|
152 |
assertEquals(true, ((Element) pat.getElements().get(2)) |
|
118 | 153 |
.getImportfield()); |
119 |
assertEquals(true, pat.getAddresselements().getAddresselement(4)
|
|
154 |
assertEquals(true, ((Element) pat.getElements().get(4))
|
|
120 | 155 |
.getFieldseparator().getSemicolonsep()); |
121 | 156 |
|
122 | 157 |
log.info("testMarshallUnmarshall. test finished"); |
Also available in: Unified diff