Hello Bao,

I'm not Werner :-) but I think I can answer some of your questions...

2008/5/8 Le Duc Bao <[EMAIL PROTECTED]>:
> Hi Werner,
>
> In last couple of days, I studied the schema API, existent JAXB source code 
> and also JAXB specification. I found that the existent schema module hasn't a 
> complement test module. It's good idea to do some test on existent code to 
> verify the completeness.

That is not completely right... there are some tests for SchemaReader
and SchemaWriter. There is a subproject with name xmlctf-framework
which contains an integration test framework developed for Castor and
xmlctf contains the integration tests for Castor XML.
If you have a look onto xmlctf/tests/MasterTestSuite/schema/... you
fill find all integration tests regarding reading and writing of
schema definition files.
How these tests are executed can be seen in SchemaTestCase, the main
sequence is:

        File schemaFile = new File(_test.getTestFile() + "/" + _schemaName);

        String schemaURL = schemaFile.toURL().toString();




        Schema schema = testReadingSchema(schemaURL);

        if (schema == null) {

            return;

        }

        testWritingSchema(schemaURL, schema);

        // Compare marshaled schema to gold file if provided,
otherwise to input file

        compareSchemaFiles(schemaFile);

so I expect that SchemaReader and SchemaWriter are tested.
BUT I think it will be better if you create plain JUnit tests for your
SchemaWriter tests - because:
* First of all the implementation of the test framework is very ugly
and I would like to get rid of it.
* The tests can not easily (nicely) be executed within Eclipse like
other JUnit based tests.
* The tests are meant to test a cycle of read, write and compare the
resulting xsd file with the start file... I expect your tests will
start with Java code - later annotated Java classes - write a xsd file
and compare against a gold file.

I do agree that you should build a suite of tests that test creating
of schema files starting with Java declarations... to check if all
schema definitions you will need later are supported.

>
>
> My understanding of your idea is that test cases will be created by writing 
> some code fragments and expected schema files. Each test case will execute a 
> code fragment to generate a schema, then compare this generated schema with 
> expected schema. This approach will test the corectness of internal schema 
> representation and the SchemaWriter. Is it right?

Yes

>
> Furthermore, I have some stuffs that I need your comments/advices
> - Do you agree with my proposal for XML Schema generator architecture?

I have to check older mails regarding it...

> - Related to SVN space for my project, will I work dirrectly in 
> castor-jaxb-2.0 module or will you create a separate module for me?

for all stuff the needs to be extended in the Schema project you will
work on Castor itself - for JAXB specific stuff it will be
castor-jaxb-2.0 .

> - For the coding convention, I remember that Ralf gave me a document some 
> times before, but I don't keep it in my computer. Could you give me a pointer 
> for this?

You should simply enable checkstyle and you will see the warnings... I
adapt files that I really change (more then just a few lines) but I do
not reformat class I do not really touch...

>
> Anyway, I keep going on JAXB specification in next few days while looking for 
> your reply.
>
> Regards,
> Bao
>
>

Have fun

Joachim

>
>
>
> On Thu, May 8, 2008 at 7:31 PM, Werner Guttmann <[EMAIL PROTECTED]> wrote:
>
> > Hi Bao,
> >
> > following up your last email about the schema classes, there's some
> > ideas how to go about things step by step.
> >
> > I think it would be a good idea if you added your code fragments (that
> > demonstrate and investigate the completeness of the existing schema
> > classes) to e.g. the test case of the 'schema' module.
> >
> > I have been talking to Joachim the other day, and we think that we could
> > come up with a base test case class that takes a Schema object instance,
> > writes it to a physical XML schema file (using SchemaWriter) and
> > compares it with a gold XML schema file.
> >
> > Based upon this test case, you could create one test case after the
> > other and add them to src/test/java and src/test/resources of the schema
> > module.
> >
> > In terms of proceeding on the complexity side of things, I'd start with
> > simple things such as adding one complex type, one global element
> > definition to an XML schema, and then take it from there. If you had a
> > look at the JAXB specification, you'll find plenty of references in
> > terms of what XML schema artefacts you will have to be able to produce
> > (and serialize).
> >
> > Let me know whether this approach is fine for you, and whether you have
> > any additional thoughts.
> >
> > Regards
> > Werner
> >
>
>
>
> --
> Le Duc Bao

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to