hi pierre

As databases have a structured (non hierarchical) conceptual model, I was
thinking on the better way to implement concepts like 'root', which don't
have any equivalent in a structured conceptual model.
The solution I was considering involved additional tables for storing this
kind of information. What do you think about that ?
Does anyone already try and success in making a usable SPI connector to a
PostgreSQL database ?

i don't know of any.

As my first idea was to make only in a first time a level 1 (read only)
repository,

makes sense.

I was searching some information about which interfaces of the
SPI I have to implement (reading the spi2jcr source code and finding it
myself is a very difficult task) ?

in a first step you need to provide an implementation for the
following interfaces:

- SessionInfo
- RepositoryService
  the following methods are needed for read-only
  > getIdFactory
  > getNameFactory
  > getPathFactory
  > getQValueFactory
  > getRepositoryDescriptors
  > obtain
  > dispose
  > getWorkspaceNames
  > isGranted
  > getNodeDefinition
  > getPropertyDefinition
  > getNodeInfo
  > getItemInfos
  > getChildInfos
  > getPropertyInfo

the following interfaces are used for read-only but spi-commons
provides basic implementations which you can use:

- ItemInfo and its subinterfaces.
- IdFactory, ItemId and its subinterfaces
- NameFactory and Name
- PathFactory and Path
- QValueFactory and QValue
- QItemDefinition and subinterfaces
- QNodeTypeDefinition

finally: if you want to provide query functionality you
would in addition need to implement: QueryInfo, QueryResultRow
and the corresponding methods on RepositoryService

Now from the point of view of the implementation of the SPI interfaces in
itself, I was wondering on how to access the database data. Do I have to use
JDBC directly or to use a built-in functionality ?

the SPI makes no assumption regarding the nature or structure
of the underlying data store. or was your question pointing
in a different direction?

regards
angela


Reply via email to