1 package org.codehaus.modello.generator.xml.stax;
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 java.util.Properties;
26
27 import org.codehaus.modello.AbstractModelloJavaGeneratorTest;
28 import org.codehaus.modello.ModelloParameterConstants;
29 import org.codehaus.modello.core.ModelloCore;
30 import org.codehaus.modello.model.Model;
31 import org.codehaus.plexus.util.StringUtils;
32
33 public abstract class AbstractStaxGeneratorTestCase extends AbstractModelloJavaGeneratorTest {
34 protected ModelloCore modello;
35
36 protected AbstractStaxGeneratorTestCase(String name) {
37 super(name);
38 }
39
40 protected void setUp() throws Exception {
41 super.setUp();
42
43 modello = (ModelloCore) lookup(ModelloCore.ROLE);
44 }
45
46 protected void verifyModel(Model model, String className) throws Exception {
47 verifyModel(model, className, null);
48 }
49
50 protected void verifyModel(Model model, String className, String[] versions) throws Exception {
51 Properties parameters = getModelloParameters("4.0.0");
52
53 modello.generate(model, "java", parameters);
54 modello.generate(model, "stax-writer", parameters);
55 modello.generate(model, "stax-reader", parameters);
56
57 if (versions != null && versions.length > 0) {
58 parameters.setProperty(ModelloParameterConstants.ALL_VERSIONS, StringUtils.join(versions, ","));
59
60 for (String version : versions) {
61 parameters.setProperty(ModelloParameterConstants.VERSION, version);
62 parameters.setProperty(ModelloParameterConstants.PACKAGE_WITH_VERSION, Boolean.toString(true));
63
64 modello.generate(model, "java", parameters);
65 modello.generate(model, "stax-writer", parameters);
66 modello.generate(model, "stax-reader", parameters);
67 }
68 }
69
70 addDependency("org.codehaus.woodstox", "stax2-api");
71 addDependency("com.fasterxml.woodstox", "woodstox-core");
72
73 compileGeneratedSources();
74
75 verifyCompiledGeneratedSources(className);
76 }
77 }