Hi Sachith, as I told you in an earlier mail.

If you like to you can initially start from a schema and generate source code for test classes with the JAXB2 reference implementation from that schema. But this step should not be included in tests of your tool to generate schemas. Instead the source code and the expected schema should be part of the test case only.

From my point of view the test need to:

- compile source of test classes
- feed the test classes into your schema generator
  (this gives you a tree of schema objects)
- serialize scheam objects into xsd
- compare generated and expected xsd

an alternative would be to:

- compile source of test classes
- feed the test classes into your schema generator
  (this gives you a tree of schema objects)
- load expected xsd into a tree of scheam objects
- compare the 2 scheam object trees

If you choose the first alternative for your test framework you first have to take a look at our test framework for xml binding. This does't use any foreign library to compare 2 xml documents, instead it uses org.castor.xmlctf.xmldiff.XMLDiff to compare them (at least as far as I recall).

I'd prefer the second approach even if that will require you to implement equals or compare methods to schema objects. I expect that comparing the 2 schema object trees will enable you to output very detailed error messages if something fails and that will definitly easy your job.

You should also be aware that your job at GSoC project isn't about selecting a bunch of libraries that implement one or the other required function. We could have done that in a few days ourself. It is about implementing a schema generator at Castor yourself including everything that is required to test and execute that generator. Well, that will take quite some time, but beside aquiring developers for open source projects GSoC is about earning money. Apart of the problem with license we are, or should I better say I am, quite restrictive to keep the dependecies on foreign libraries as small as possible, as you need to download and maintain that dependecies with every new release of a library. So if you suggest to add a new dependency be prepared to argue about pros and cons.

To get an idea of what we expect as a result of a GSoC project you should take a look at ddlgen modul which has been implemented by one student at last year GSoC. Having said that about 2/3 of that project had been finished at mid term evaluation and the main work in the second half of this project had been refactorings.

Regards
Ralf

Sachith Dhanushka schrieb:
Hi,

I appreciate if some one can help me to clarify the question on my earlier email.

Also I was asked by Werner, my mentor, not to use JAXB-RI classes at least for testing purposes. So what should be my approach to testing? I can not start with a schema as I need JAXB2-RI to convert that to set of java classes. I also do not feel like having generated classes within my test hierarchy. If I am testing against 20 schemas, then I will have at least about 60 generated classes, in vain.

Can some one please advice me a way to do testing. I can not move forward without proper testing for the code I've written so far. The thing is when I am fixing new bugs I do not want to break things that were working. So I am reluctant to implement anything new until I get a testing framework. Please help.

Thanks,
SD


On 7/10/07, *Sachith Dhanushka* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    Hi,

    I just completed the test framework for my project. As I suggested
    earlier also, this is how it works.

    I start with a schema file. Generate JAXB2 classes from it and
    compile it. Then use the code I wrote to generate the schema out of
    it. After that I use the same generated code to generate the schema
    using JAXB2 schema gen tool. Finally I compare the schema coming out
    of my tool against the schema that I get from schema gen tool using
    XMLUnit. All the JAXB2 related code are written using the ant taks that are 
provided.


    I am doing the same processfor ALL the schema files within
    test-resources folder.

    One observations was that I can not test the schema that I generate
    with the original schema. Reason is that JAXB2 loses some
    information during the code generation process. For example, choices
    will disappear. My task is to generate the same schema that JAXB2
    schema generates so comparing it with it.

    I have bit of trouble using XMLUnit to compare two schemas. Some
    times it gives me an error eventhough two schemas are equal. The
    reason is that it is expecting same element order in both the files,
    it seems. This might not happen as the tools generate schema
    elements in the order they encounter java files. So can anyone of
    you suggest me a better way to compare two schemas or at least two
    xml files?
    Ralf once suggested to use Castor schema model to compare two
    schemas. But I couldn't find a way within the Schema class, like an
    overriden equals method or compare method. So if some one can give
    me a pointer it would be great.

    Thanks,
    SD



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

   http://xircles.codehaus.org/manage_email

Reply via email to