Hello, as a member of a research group in Pilsen, that strives to create a tool for semantic version of OSGi bundles (http://osgi.kiv.zcu.cz/obvs/), I have some questions to ask:
I don't think OBR from projects ace-obr-servlet and ace-obr-storage is accessed via the Vaadin UI interface. Instead of it, as deep as I've dug, it looks like it uses the ArtifactRepository from ace-client-repository-* projects. Does this mean, the projects ace-obr projects are obsolete? Or is the ace-obr-servlet really mapped to http://localhost:8080/obr only without the web interface? How can one then manage this OBR, e.g. put the bundles there? Some time ago, our leader Premek Brada proposed adding our semantic versioning to the OBR of ACE. We would like to go on with this goal. Some changes were made and I'd like to present it to the you and ask for your opinion : 1. PUT Our vision is that by putting a new resource to the OBR, there would be a decision, whether it is or it isn't a bundle. If it is another file, store it only in the OBR. If it is a bundle, perform the versioning according the last version of the bundle in the OBR first, then store it. This should happen all the time and thus, we could have the consistent list of all the versions of the bundle, that were uploaded in time. Naturally, if there is no another version, no versioning is performed. The problem is, that only the method put(String fileName, InputStream data) is present so far, the client decides the filename. If there is a file with this name in the OBR (which is the case by different bundle versions) it would be overwritten. To let the OBR API backward compatible and still take advance from the versioning, the client have to manually add the the version suffix to the filename, but it doesn't know, whether the version in the manifest is really correct, since no semantic versioning was performed yet. We propose to add another method to the OBR servlet like dryRun(InputStream data), that perform the versioning on the uploaded bundle but doesn't store it to the OBR, only returns in the HTTP header the info, whether there is another version and if so, also the corrected version of the uploaded bundle. Then the client constructs the filename and calls the common put method. 2. GET Typically I like to get the latest version of the bundle, that is in the repository. We can use the present get(filename) method, but we have to know the filename. listBundles(String symbolicName) would do the work, possibly by inspecting the repository.xml. Best Regards Jan Zeman Department of Computer Science and Engineering University of West Bohemia, Pilsen, CZ