1 package org.codehaus.modello.plugin.xsd;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import javax.xml.parsers.SAXParser;
26
27 import java.util.Properties;
28
29 import org.codehaus.modello.AbstractModelloGeneratorTest;
30 import org.codehaus.modello.core.ModelloCore;
31 import org.codehaus.modello.model.Model;
32 import org.xml.sax.SAXException;
33 import org.xml.sax.SAXParseException;
34 import org.xml.sax.helpers.DefaultHandler;
35
36
37
38
39
40
41
42 public class ModelloXsdGeneratorTest extends AbstractModelloGeneratorTest {
43 public ModelloXsdGeneratorTest() {
44 super("modello");
45 }
46
47 public void testXsdGenerator() throws Throwable {
48 ModelloCore modello = (ModelloCore) lookup(ModelloCore.ROLE);
49
50 Properties parameters = getModelloParameters("1.4.0");
51
52 Model model = modello.loadModel(getTestFile("../../src/main/mdo/modello.mdo"));
53
54 modello.generate(model, "xsd", parameters);
55
56 SAXParser saxParser = createSaxParserWithSchema("modello-1.4.0.xsd");
57
58
59 saxParser.parse(getTestFile("../../src/main/mdo/modello.mdo"), new Handler());
60
61
62 saxParser.parse(getClass().getResourceAsStream("/features.mdo"), new Handler());
63 }
64
65 private static class Handler extends DefaultHandler {
66 public void warning(SAXParseException e) throws SAXException {
67 throw e;
68 }
69
70 public void error(SAXParseException e) throws SAXException {
71 throw e;
72 }
73 }
74 }