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. BLD200304230100
authorcliffwd@netbeans.org
Tue, 22 Apr 2003 18:54:45 +0000
changeset 1277027abcaf5619
parent 1276 e19e37429085
child 1278 59e3982fb3ea
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.
schema2beans/test/unit/src/TestMain.java
schema2beans/test/unit/src/data/TestBeanWrapper.mdd
schema2beans/test/unit/src/data/TestInvoice.java
schema2beans/test/unit/src/data/goldenfiles/TestMain/testBeanWrapper.pass
schema2beans/test/unit/src/data/goldenfiles/TestMain/testInvoice.pass
     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