On Tuesday, July 2, 2002, at 05:42 AM, Mark J. Stang wrote:
Kimbro, It is still here. I have been a little busy and we need some direction from you/Tom. I wrote in a previous e-mail
"Kimbro/Tom/et. al., is the set of tests in the tests/src directory complete? Is there anything that is missing from the tests? Once we have a similar set of tests running correctly, will that be enough? From what I have read on the list, the XML:DB API is a superset of what we are implementing, is that true?"
Sorry, guess I missed this.
We only have two sets of tests, one for the XML:DB API and one for the network API (either CORBA or XML-RPC). Unfortunately, there are no unit tests for the core classes. I really wish that was not the case.
Also, we could just jump in and start where we think we should, but then I think you would come back and point us somewhere else. So, where should we begin? The tasks as I have stated are:
That's OK you'll never get anywhere if you don't just jump in.
1) Create Interface files in order to the standardize the interface to the Core of Xindice Internals. Which files or directories would you see as the key files to abstract? Which is why I asked my question up above - "Are the tests sufficient?".
In org.apache.xindice.core, Collection, Database and CollectionManager. Unit tests on those classes don't exist.
2) Once the Interfaces are defined, implement the XML:DB API. Since Xindice doesn't currently implement the entire API, which pieces of it do we need to implement?
The same as the current client. My opinion is they should be completely dropin compatible. Probably just changing the URI used should be all that is necessary.
3) The CORBA Server portion implements these already so we have examples of how to implement the XML:DB API. Therefore, all we have to do is to create a new Package name, copy the XML:DB API over and utilize the CORBA Server code to re-implement the XML:DB API.
Basically yes. You also have the XML-RPC code in scratchpad.
Could you give us a quick heads up as to which package these are in? And what should the package name of the embedded server be?
CORBA is in org.apache.xindice.client.corba and XML-RPC is under java/scratchpad org.apache.xindice.server.rpc.
4) While we are doing all of this we need to either maintain the existing tests or more likely create a new set of tests. We will need two sets of tests, as I see it. One is to test the Core Xindice with the new Interfaces and one is for the new Embedded Package, whatever that will be called.
You'll need to create new tests for the core. Those tests would be a huge aid to the project in general.
The existing XML:DB API tests will help for testing that API when you're ready. You have to download the reference impl from http://www.xmldb.org/xapi to get the XML:DB API tests.
Anytime I have started a new job, I have always had to stumble around a bit trying to find out things are done in the new environment. So, if you could answer these questions, it would help us not have to stumble and would give us a leg up.
thanks,
Mark
Kimbro Staken Java and XML Software, Consulting and Writing http://www.xmldatabases.org/ Apache Xindice native XML database http://xml.apache.org/xindice XML:DB Initiative http://www.xmldb.org
-- Mark J Stang System Architect Cybershop Systems
