Added a generation option (-generateSwitches) to generate code for parsing command line arguments into the java beans.
Changed the way GenBeans reads/parses arguments to use the above feature.
Changed the ant task class to inherit from a delegate to the GenBeans.Config class.
All command line options and ant tasks are now easily managed in 1 simple XML Schema file (s2bconfig.xsd). This will take care of any bugs relating to the ant task missing a feature, or inconsistencies between the command line and the ant task.
1.1 --- a/schema2beans/test/unit/src/TestMain.java Thu Jul 31 08:25:55 2003 +0000
1.2 +++ b/schema2beans/test/unit/src/TestMain.java Fri Aug 01 18:50:50 2003 +0000
1.3 @@ -54,7 +54,7 @@
1.4 stm.setSchemaTypeName("integer");
1.5 stm.setJavaType("int");
1.6 bg.addSchemaTypeMapping(stm);
1.7 - config.addReadBeanGraph(bg);
1.8 + config.addReadBeanGraphs(bg);
1.9
1.10 generalTest("TestInvoice", true, config);
1.11 }
1.12 @@ -207,13 +207,13 @@
1.13 config.setStandalone(false);
1.14 schemaFile = new File(dataDir, "simple.xsd");
1.15 dtdIn = new FileInputStream(schemaFile);
1.16 - config.setDTDIn(dtdIn);
1.17 + config.setFileIn(dtdIn);
1.18 config.setInputURI(schemaFile.toString());
1.19 - config.setMDDIn(null);
1.20 + config.setMddIn(null);
1.21 config.setSchemaType(GenBeans.Config.XML_SCHEMA);
1.22 - config.setRootDir(workDir.toString());
1.23 + config.setRootDir(new File(workDir.toString()));
1.24 String simpleBeanGraph = dataDir + File.pathSeparator + "simpleBeanGraph.xml";
1.25 - config.setWriteBeanGraph(simpleBeanGraph);
1.26 + config.setWriteBeanGraphFile(new File(simpleBeanGraph));
1.27 ref("Calling GenBeans.doIt");
1.28 GenBeans.doIt(config);
1.29 beanTreeFile.delete();
1.30 @@ -228,14 +228,14 @@
1.31 config.setStandalone(false);
1.32 schemaFile = new File(dataDir, "TestNamespace.xsd");
1.33 dtdIn = new FileInputStream(schemaFile);
1.34 - config.setDTDIn(dtdIn);
1.35 + config.setFileIn(dtdIn);
1.36 config.setInputURI(schemaFile.toString());
1.37 //mddIn = new FileInputStream(new File(dataDir, "TestBeanWrapper.mdd"));
1.38 - //config.setMDDIn(mddIn);
1.39 + //config.setMddIn(mddIn);
1.40 config.setSchemaType(GenBeans.Config.XML_SCHEMA);
1.41 - config.setRootDir(workDir.toString());
1.42 - config.setDumpBeanTree(beanTreeFile.getAbsolutePath());
1.43 - config.addReadBeanGraphFilename(simpleBeanGraph);
1.44 + config.setRootDir(workDir);
1.45 + config.setDumpBeanTree(beanTreeFile);
1.46 + config.addReadBeanGraphFiles(new File(simpleBeanGraph));
1.47 ref("Calling GenBeans.doIt");
1.48 GenBeans.doIt(config);
1.49
1.50 @@ -298,23 +298,23 @@
1.51 if (xmlSchema) {
1.52 schemaFile = new File(dataDir, testName+".xsd");
1.53 InputStream dtdIn = new FileInputStream(schemaFile);
1.54 - config.setDTDIn(dtdIn);
1.55 + config.setFileIn(dtdIn);
1.56 config.setSchemaType(GenBeans.Config.XML_SCHEMA);
1.57 } else {
1.58 schemaFile = new File(dataDir, testName+".dtd");
1.59 InputStream dtdIn = new FileInputStream(schemaFile);
1.60 - config.setDTDIn(dtdIn);
1.61 + config.setFileIn(dtdIn);
1.62 config.setSchemaType(GenBeans.Config.DTD);
1.63 }
1.64 try {
1.65 InputStream mddIn = new FileInputStream(new File(dataDir, testName+".mdd"));
1.66 System.out.println("Found mdd file");
1.67 - config.setMDDIn(mddIn);
1.68 + config.setMddIn(mddIn);
1.69 } catch (FileNotFoundException e) {
1.70 // It's okay if there is no mdd file present
1.71 }
1.72 config.setInputURI(schemaFile.toString());
1.73 - config.setRootDir(workDir.toString());
1.74 + config.setRootDir(workDir);
1.75 //config.setPackagePath();
1.76 //config.setMessageOut(getRef());
1.77 //if (testName.equals("TestBookXMLSchema")) {
1.78 @@ -322,7 +322,7 @@
1.79 // config.setTraceGen(true);
1.80 //}
1.81 File beanTreeFile = File.createTempFile("beanTree", "txt");
1.82 - config.setDumpBeanTree(beanTreeFile.getAbsolutePath());
1.83 + config.setDumpBeanTree(beanTreeFile);
1.84 ref("Calling GenBeans.doIt");
1.85 GenBeans.doIt(config);
1.86