hi brian, sorry for my late response.... a configuration for the server does make sense. but especially the saving and loading of resources could be configured more sophistically.
i suggest to introduce some sort of resource importer and exporter that handle the specific import/export into/from jcr. for example a: PlainFileImporter just stores the file as binary property, whereas a XmlImporter can store it as deserialized xml. additional parameters can 'configure' the importers (eg: make node versionable, etc.) the importers and exporters are regitered and asked sequencly, if they want to handle a specific Webdav Resource/JCR Item: boolean ResourceImporter.canImport(DavResource, Node parent); boolean ResourceImporter.import(DavResource, InputStream in, Node parent); boolean ResourceExporter.canExport(DavResource resource, Node node); NodeResource ResourceExporter.export(DavResource resource, Node node); for simplicity we can add a .properties file for configuring the server: webdav.properties ----------------- org.apache.jackrabbit.server.importer.0 = org.apache.jackrabbit.server.XmlImporter org.apache.jackrabbit.server.importer.1 = org.apache.jackrabbit.server.PlainFileImporter org.apache.jackrabbit.server.PlainFileImporter.makeVersionable = true; org.apache.jackrabbit.server.exporter.0 = org.apache.jackrabbit.server.DirListingExporter org.apache.jackrabbit.server.exporter.1 = org.apache.jackrabbit.server.XMLExporter and so on... what do you think? cheers, tobi On Apr 6, 2005 10:08 PM, Brian Moseley <[EMAIL PROTECTED]> wrote: > it's pretty clear that we need a way to pass configuration info between > the various webdav components. here are a few examples where config info > is needed: > > 1) DavResourceImpl:319 - toggle makeVersionable flag on or off > 2) DavResourceImpl:333 - toggle xml import on or off > 3) NodeResource:74 - toggle dir listings on or off; generate dir listing > ourself or set the node as a request attribute and forward somewhere else > > what would be the right way to pass config info? > > my first instinct is to create a DavConfig interface within the servlet > and pass instances of it to the other objects as they're constructed. > the config info could be specified in servlet init params or a > properties file or even other mechanisms, each managed by a DavConfig > implementation. > > are there any alternate proposals? does anybody object to me working up > a patch for this? > -- ------------------------------------------< [EMAIL PROTECTED] >--- Tobias Strasser, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel T +41 61 226 98 98, F +41 61 226 98 97 -----------------------------------------------< http://www.day.com >---
