Added beangraph reading and writing. This allows the user to export generated types and then import them into another generation. Updated docs to talk about this.
Added some argument checks in GraphManager for problems I've seen other people having.
1.1 --- a/schema2beans/test/unit/src/TestMain.java Mon Apr 14 22:32:02 2003 +0000
1.2 +++ b/schema2beans/test/unit/src/TestMain.java Tue Apr 22 18:54:45 2003 +0000
1.3 @@ -19,6 +19,7 @@
1.4
1.5 import org.netbeans.modules.schema2beans.*;
1.6 import org.netbeans.modules.schema2beansdev.*;
1.7 +import org.netbeans.modules.schema2beansdev.beangraph.*;
1.8
1.9 public class TestMain extends NbTestCase {
1.10
1.11 @@ -47,6 +48,14 @@
1.12 config.setGenerateValidate(true);
1.13 config.setProcessComments(true);
1.14 config.setProcessDocType(true);
1.15 + BeanGraph bg = new BeanGraph();
1.16 + SchemaTypeMappingType stm = new SchemaTypeMappingType();
1.17 + stm.setSchemaTypeNamespace("http://www.w3.org/2001/XMLSchema");
1.18 + stm.setSchemaTypeName("integer");
1.19 + stm.setJavaType("int");
1.20 + bg.addSchemaTypeMapping(stm);
1.21 + config.addReadBeanGraph(bg);
1.22 +
1.23 generalTest("TestInvoice", true, config);
1.24 }
1.25
1.26 @@ -177,44 +186,61 @@
1.27 }
1.28
1.29 public void testBeanWrapper() throws IOException, Schema2BeansException, InterruptedException {
1.30 - GenBeans.Config config = new GenBeans.Config();
1.31 - config.setOutputType(GenBeans.Config.OUTPUT_JAVABEANS);
1.32 - config.setAttributesAsProperties(true);
1.33 - config.setGenerateCommonInterface("CommonBean");
1.34 - config.setGenerateInterfaces(true);
1.35 - config.setGeneratePropertyEvents(true);
1.36 String testName = "TestBeanWrapper";
1.37 try {
1.38 System.out.println("Starting "+testName);
1.39 File workDir = getWorkDir();
1.40 + System.out.println("workDir="+workDir.toString());
1.41 + File schemaFile;
1.42 + File beanTreeFile = File.createTempFile("beanTree", "txt");
1.43 + InputStream dtdIn;
1.44 + InputStream mddIn;
1.45 +
1.46 + GenBeans.Config config = new GenBeans.Config();
1.47 + config.setOutputType(GenBeans.Config.OUTPUT_JAVABEANS);
1.48 + config.setAttributesAsProperties(true);
1.49 + config.setGenerateCommonInterface("CommonBean");
1.50 + config.setGenerateInterfaces(true);
1.51 + config.setGeneratePropertyEvents(true);
1.52 config.setAuto(true);
1.53 config.setStandalone(false);
1.54 - System.out.println("workDir="+workDir.toString());
1.55 - File schemaFile;
1.56 - schemaFile = new File(dataDir, "TestNamespace.xsd");
1.57 - InputStream dtdIn = new FileInputStream(schemaFile);
1.58 + schemaFile = new File(dataDir, "simple.xsd");
1.59 + dtdIn = new FileInputStream(schemaFile);
1.60 config.setDTDIn(dtdIn);
1.61 config.setInputURI(schemaFile.toString());
1.62 - InputStream mddIn = new FileInputStream(new File(dataDir, "TestBeanWrapper.mdd"));
1.63 - config.setMDDIn(mddIn);
1.64 + config.setMDDIn(null);
1.65 config.setSchemaType(GenBeans.Config.XML_SCHEMA);
1.66 config.setRootDir(workDir.toString());
1.67 - File beanTreeFile = File.createTempFile("beanTree", "txt");
1.68 + String simpleBeanGraph = dataDir + File.pathSeparator + "simpleBeanGraph.xml";
1.69 + config.setWriteBeanGraph(simpleBeanGraph);
1.70 + ref("Calling GenBeans.doIt");
1.71 + GenBeans.doIt(config);
1.72 + beanTreeFile.delete();
1.73 +
1.74 + config = new GenBeans.Config();
1.75 + config.setOutputType(GenBeans.Config.OUTPUT_JAVABEANS);
1.76 + config.setAttributesAsProperties(true);
1.77 + config.setGenerateCommonInterface("CommonBean");
1.78 + config.setGenerateInterfaces(true);
1.79 + config.setGeneratePropertyEvents(true);
1.80 + config.setAuto(true);
1.81 + config.setStandalone(false);
1.82 + schemaFile = new File(dataDir, "TestNamespace.xsd");
1.83 + dtdIn = new FileInputStream(schemaFile);
1.84 + config.setDTDIn(dtdIn);
1.85 + config.setInputURI(schemaFile.toString());
1.86 + //mddIn = new FileInputStream(new File(dataDir, "TestBeanWrapper.mdd"));
1.87 + //config.setMDDIn(mddIn);
1.88 + config.setSchemaType(GenBeans.Config.XML_SCHEMA);
1.89 + config.setRootDir(workDir.toString());
1.90 config.setDumpBeanTree(beanTreeFile.getAbsolutePath());
1.91 + config.addReadBeanGraphFilename(simpleBeanGraph);
1.92 ref("Calling GenBeans.doIt");
1.93 GenBeans.doIt(config);
1.94
1.95 ref("Bean Tree:");
1.96 ref(beanTreeFile);
1.97 -
1.98 - schemaFile = new File(dataDir, "simple.xsd");
1.99 - dtdIn = new FileInputStream(schemaFile);
1.100 - config.setDTDIn(dtdIn);
1.101 - config.setInputURI(schemaFile.toString());
1.102 - config.setMDDIn(null);
1.103 - ref("Calling GenBeans.doIt");
1.104 - GenBeans.doIt(config);
1.105 - beanTreeFile.delete();
1.106 +
1.107 ref("Compiling");
1.108 String cmd = "javac -classpath "+workDir.toString()+File.pathSeparator+dataDir.toString()+File.pathSeparator+theClassPath+" "+dataDir.toString()+"/"+testName+".java";
1.109 int result = runCommand(cmd);
2.1 --- a/schema2beans/test/unit/src/data/TestBeanWrapper.mdd Mon Apr 14 22:32:02 2003 +0000
2.2 +++ b/schema2beans/test/unit/src/data/TestBeanWrapper.mdd Tue Apr 22 18:54:45 2003 +0000
2.3 @@ -76,12 +76,6 @@
2.4 <implements>namespacesample.ExpandedConfigPropertyTypeInterface, namespacesample.CommonBean</implements>
2.5 </meta-element>
2.6 <meta-element>
2.7 - <dtd-name>config-propertyType</dtd-name>
2.8 - <namespace>http://anything.org/simple</namespace>
2.9 - <bean-name>HttpAnythingOrgSimpleConfigPropertyType</bean-name>
2.10 - <wrapper-class>simple.ConfigPropertyType</wrapper-class>
2.11 - </meta-element>
2.12 - <meta-element>
2.13 <dtd-name>topLevelType</dtd-name>
2.14 <namespace>http://anything.org/simple</namespace>
2.15 <bean-name>TopLevelType</bean-name>
3.1 --- a/schema2beans/test/unit/src/data/TestInvoice.java Mon Apr 14 22:32:02 2003 +0000
3.2 +++ b/schema2beans/test/unit/src/data/TestInvoice.java Tue Apr 22 18:54:45 2003 +0000
3.3 @@ -57,7 +57,7 @@
3.4 Item item = new Item();
3.5 item.setId("123");
3.6 item.setCategory("office");
3.7 - item.setQuantity(new java.math.BigInteger("10"));
3.8 + item.setQuantity(10);
3.9 item.setPrice(new java.math.BigDecimal("15.99"));
3.10 invoice.addItem(item);
3.11 invoice.write(out);
4.1 --- a/schema2beans/test/unit/src/data/goldenfiles/TestMain/testBeanWrapper.pass Mon Apr 14 22:32:02 2003 +0000
4.2 +++ b/schema2beans/test/unit/src/data/goldenfiles/TestMain/testBeanWrapper.pass Tue Apr 22 18:54:45 2003 +0000
4.3 @@ -1,3 +1,4 @@
4.4 +Calling GenBeans.doIt
4.5 Calling GenBeans.doIt
4.6 Bean Tree:
4.7 namespaceSample : NamespaceSample
4.8 @@ -6,8 +7,8 @@
4.9 config-property-name : java.lang.String
4.10 config-property-type : java.lang.String
4.11 description : java.lang.String[0,1]
4.12 - more-info : MoreInfoType
4.13 - config-property : ExpandedConfigPropertyType[1,n]
4.14 + more-info : simple.MoreInfoType
4.15 + config-property : simple.ExpandedConfigPropertyType[1,n]
4.16 config-property-name : java.lang.String
4.17 config-property-type : java.lang.String
4.18 config-property-value : java.lang.String
4.19 @@ -15,7 +16,6 @@
4.20 config-property-name : java.lang.String
4.21 config-property-type : java.lang.String
4.22
4.23 -Calling GenBeans.doIt
4.24 Compiling
4.25 Finished compiling: 0
4.26 out: TestBeanWrapper - creating the DOM document
5.1 --- a/schema2beans/test/unit/src/data/goldenfiles/TestMain/testInvoice.pass Mon Apr 14 22:32:02 2003 +0000
5.2 +++ b/schema2beans/test/unit/src/data/goldenfiles/TestMain/testInvoice.pass Tue Apr 22 18:54:45 2003 +0000
5.3 @@ -14,7 +14,7 @@
5.4 [attr: Id CDATA #REQUIRED : java.lang.String] [whiteSpace (collapse)]
5.5 [attr: InStock CDATA #IMPLIED false : boolean]
5.6 [attr: Category CDATA #REQUIRED : java.lang.String]
5.7 - Quantity : java.math.BigInteger
5.8 + Quantity : int
5.9 Price : java.math.BigDecimal [fractionDigits (2), totalDigits (5), minInclusive (1), maxInclusive (100)]
5.10 shipping-method : ShippingMethod
5.11 carrier : java.lang.String