Source code: com/arranger/jarl/test/DocletTest.java
1 package com.arranger.jarl.test;
2
3 import junit.framework.TestCase;
4 import com.sun.tools.javadoc.Main;
5 import com.arranger.jarl.util.doclet.JarlDoclet;
6 import com.arranger.jarl.util.doclet.JarlAttributeDef;
7 import com.arranger.jarl.trait.base.Motion;
8 import com.arranger.jarl.stroke.base.Precision;
9 import com.arranger.jarl.widget.base.Ellipse;
10 import com.arranger.jarl.widget.container.EchoCollection;
11 import com.arranger.jarl.widget.BaseWidget;
12
13 import java.io.PrintWriter;
14 import java.io.ByteArrayOutputStream;
15 import java.util.Iterator;
16 import java.util.Map;
17
18 /**
19 * DocletTest created on Mar 14, 2003
20 */
21 public class DocletTest extends TestCase {
22
23
24 public void testDoclet() throws Exception {
25 String programName = "jarlDoclet";
26 String docletClassName = JarlDoclet.class.getName();
27 String[] args = {
28 "-d", "docs",
29 "-sourcepath", "src",
30 Motion.class.getPackage().getName(),
31 Precision.class.getPackage().getName(),
32 Ellipse.class.getPackage().getName(),
33 EchoCollection.class.getPackage().getName(),
34 BaseWidget.class.getPackage().getName()
35 };
36
37 Main.execute(programName,
38 new PrintWriter(new ByteArrayOutputStream()),
39 new PrintWriter(new ByteArrayOutputStream()),
40 new PrintWriter(new ByteArrayOutputStream()),
41 docletClassName,
42 args);
43
44
45 JarlDoclet jarlDoclet = JarlDoclet.getJarlDoclet();
46 System.out.println("widgetMap");
47 dumpAttrs(jarlDoclet.getWidgetMap());
48 System.out.println("traitMap");
49 dumpAttrs(jarlDoclet.getTraitMap());
50 System.out.println("strokeMap");
51 dumpAttrs(jarlDoclet.getStrokeMap());
52 System.out.println("commonMap");
53 dumpAttrs(jarlDoclet.getCommonMap());
54 }
55
56 protected void dumpAttrs(Map attributeDefMap) {
57 for (Iterator it = attributeDefMap.values().iterator(); it.hasNext();) {
58 JarlAttributeDef attributeDef = (JarlAttributeDef)it.next();
59
60 System.out.println("<xs:attribute name=\"" + attributeDef.getName() +
61 "\" type=\"" + attributeDef.getType() + "\" use=\"optional\" />");
62 }
63 }
64
65 }