HyperGraphDB

Boris has answered my points ...
What I have found is that the problem of converting from Ant to Maven is quite formidable. The problem lies in identifying correct jars. I will explain as I, at least, found it interesting, so perhaps others will?
Although the naming convention for jars in a Maven repo seems set actually it really is a convention that has unfolded over time. As it stands there are a few acceptable ways of naming - that is versioning - a jar, which any software would have to accommodate, but historically these few methods were not always followed. There are very many ways that a jar name may fall out of these few methods! And some jars appear in one place named in one way and another named another.
Perhaps this is a case for Collective Reconcilliation, I'm serious, it seems a good contender and so, HGDB would be very useful here.
I will explain a bit further. The information needed, if it exists, is in the few search engines that expose open source repositories and their meta data, the POMs. So this is a sue case for determining the unique identity of something from associated information. Just what information is needed would have to be researched.
I have mentioned the jar naming problem, one jar may have more than one name internal to a project as well as externally, coming from the time that naming conventions were not strictly adhered to.
There are two extreme cases that might occur here.
  1. No version information exists in the file name.
  2. The file no longer exists.
If no version information exists then it must be a case of comparing the content of candidate jars, and that, in itself, is difficult as the same class name can exist in different jars, often it is the same class in different version, but not always.
The file no longer exists, or never existed. Taking the latter first this would mean that an amalgam of code has been repackaged in the internal project, but, for some reason, it has now become necessary to find the origins of this code.
The other possibility is that the jar no longer exists, this happens when the project repackages their own code and, in the process, reversions existing artifacts.
I have encountered all three situations just mentioned, so these extreme cases may not be very rare!
I had not thought about, and did not then have time, to implement a generic solution to these issues at that point.

Finally I should mention that the means by which my code consumed the Maven XSD was through a string interpolation package and some hand crafting afterwards - I can no longer remember why this last step was necessary, but it was particularly hard. It seems that HGDB needs some similar means to convert XML and Schema into classes.

0 comments:

top