Tobias Strasser wrote:

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);

i like the idea, tho i suggest we call them import/export handlers.

would the jcr server benefit from this approach as well as the simple server?

how about using commons-chain to provide a chain of responsibility for importers and exporters?

this pattern, and commons-chain's implementation (including its xml-based configuration) are used in several projects and consequently are well understood by the larger developer community.

Reply via email to