You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by "Nevermann, Dr., Peter" <Pe...@softwareag.com> on 2003/08/18 09:53:17 UTC

Support for Binding

Hi Sliders,

we have been working on adding support for Binding in Slide (server) and I
just checked-in a bunch of changes. The main part comes in the class
org.apache.slide.structure.ObjectNode.java. For the specification of the
WebDAV Binding Extension see http://www.webdav.org/bind/. 

There are 2 switches for enabling/disabling binding: a global one (property
org.apache.slide.binding in slide.properties) and one at store level (method
useBinding() in org.apache.slide.store.Store.java).
Both switches are currently *disabled* by default ... so everything should
work as before if you do not explicitly enable binding.

To make use of the binding extensions it is *not* enough to switch-on
binding. The store implementation must be adapated to become
binding-enabled. Roughly speaking, a binding-enabled store implementation
must *not* use the (hierarchical) URI as unique ID, but instead, a different
non-hierarchical URI which corresponds to the new property DAV:resource-id.
Moreover, it must implement a "resolve" mechanism which, at store interface,
transforms hierarchical URIs into unique resource IDs. That is mainly what
we have done in our Tamino-based store implementation. Details will follow.

Hope the changes do not cause any inconveniences. At all events, I created a
CVS tag "SLIDE_2_0_0" before check-in.

Regards,
Peter

BUG in StructureImpl/ObjectNode?

Posted by Oliver Zeigermann <oz...@c1-fse.de>.
Hi,

there seems to be a bug in org.apache.slide.structure.StructureImpl and 
also in org.apache.slide.structure.ObjectNode introduced by your changes.

Symptoms: When creating objects from the data part of the Domain.xml 
file that are already there, they are not linked to the root collection 
"/".

I analyzed the code a bit and found two *possibly* erroneous spots:
- in StructureImpl.create you should check if something is an object 
directly under the root collection, instead you check for the root 
collection itself
- adding children to the root collection using addChild in ObjectNode 
may lead to double leading slashes, e.g. //files

I also added a patch which surely is not most elegant, but is rather 
intended to make my point clearer. Anyway, after applying it here 
everything seemed to work ok.

Thanks for caring,
Oliver

Nevermann, Dr., Peter wrote:

> Hi Sliders,
> 
> we have been working on adding support for Binding in Slide (server) and I
> just checked-in a bunch of changes. The main part comes in the class
> org.apache.slide.structure.ObjectNode.java. For the specification of the
> WebDAV Binding Extension see http://www.webdav.org/bind/. 
> 
> There are 2 switches for enabling/disabling binding: a global one (property
> org.apache.slide.binding in slide.properties) and one at store level (method
> useBinding() in org.apache.slide.store.Store.java).
> Both switches are currently *disabled* by default ... so everything should
> work as before if you do not explicitly enable binding.
> 
> To make use of the binding extensions it is *not* enough to switch-on
> binding. The store implementation must be adapated to become
> binding-enabled. Roughly speaking, a binding-enabled store implementation
> must *not* use the (hierarchical) URI as unique ID, but instead, a different
> non-hierarchical URI which corresponds to the new property DAV:resource-id.
> Moreover, it must implement a "resolve" mechanism which, at store interface,
> transforms hierarchical URIs into unique resource IDs. That is mainly what
> we have done in our Tamino-based store implementation. Details will follow.
> 
> Hope the changes do not cause any inconveniences. At all events, I created a
> CVS tag "SLIDE_2_0_0" before check-in.
> 
> Regards,
> Peter
> 


Re: Support for Binding

Posted by Oliver Zeigermann <oz...@c1-fse.de>.
Hi Peter,

we are currently trying to make our store binding enabled. It occurs to 
me that we will not only have to adapt our own store, but also have to 
replace org.apache.slide.store.StandardStore. This is quite a drastic 
change as this class implements one of Slides most prominent features: 
delegation of requests to several different services or stores.

This makes me wonder, do you still use all the central classes for your 
Tamino store? Am I getting all this wrong, in the first place? Could you 
please provide me with some more hints?

Thanks in advance,
Oliver

Nevermann, Dr., Peter wrote:

> Hi Sliders,
> 
> we have been working on adding support for Binding in Slide (server) and I
> just checked-in a bunch of changes. The main part comes in the class
> org.apache.slide.structure.ObjectNode.java. For the specification of the
> WebDAV Binding Extension see http://www.webdav.org/bind/. 
> 
> There are 2 switches for enabling/disabling binding: a global one (property
> org.apache.slide.binding in slide.properties) and one at store level (method
> useBinding() in org.apache.slide.store.Store.java).
> Both switches are currently *disabled* by default ... so everything should
> work as before if you do not explicitly enable binding.
> 
> To make use of the binding extensions it is *not* enough to switch-on
> binding. The store implementation must be adapated to become
> binding-enabled. Roughly speaking, a binding-enabled store implementation
> must *not* use the (hierarchical) URI as unique ID, but instead, a different
> non-hierarchical URI which corresponds to the new property DAV:resource-id.
> Moreover, it must implement a "resolve" mechanism which, at store interface,
> transforms hierarchical URIs into unique resource IDs. That is mainly what
> we have done in our Tamino-based store implementation. Details will follow.
> 
> Hope the changes do not cause any inconveniences. At all events, I created a
> CVS tag "SLIDE_2_0_0" before check-in.
> 
> Regards,
> Peter
> 




Re: Support for Binding

Posted by Oliver Zeigermann <oz...@c1-fse.de>.
Hi Peter,

we are currently trying to make our store binding enabled. It occurs to 
me that we will not only have to adapt our own store, but also have to 
replace org.apache.slide.store.StandardStore. This is quite a drastic 
change as this class implements one of Slides most prominent features: 
delegation of requests to several different services or stores.

This makes me wonder, do you still use all the central classes for your 
Tamino store? Am I getting all this wrong, in the first place? Could you 
please provide me with some more hints?

Thanks in advance,
Oliver

Nevermann, Dr., Peter wrote:

> Hi Sliders,
> 
> we have been working on adding support for Binding in Slide (server) and I
> just checked-in a bunch of changes. The main part comes in the class
> org.apache.slide.structure.ObjectNode.java. For the specification of the
> WebDAV Binding Extension see http://www.webdav.org/bind/. 
> 
> There are 2 switches for enabling/disabling binding: a global one (property
> org.apache.slide.binding in slide.properties) and one at store level (method
> useBinding() in org.apache.slide.store.Store.java).
> Both switches are currently *disabled* by default ... so everything should
> work as before if you do not explicitly enable binding.
> 
> To make use of the binding extensions it is *not* enough to switch-on
> binding. The store implementation must be adapated to become
> binding-enabled. Roughly speaking, a binding-enabled store implementation
> must *not* use the (hierarchical) URI as unique ID, but instead, a different
> non-hierarchical URI which corresponds to the new property DAV:resource-id.
> Moreover, it must implement a "resolve" mechanism which, at store interface,
> transforms hierarchical URIs into unique resource IDs. That is mainly what
> we have done in our Tamino-based store implementation. Details will follow.
> 
> Hope the changes do not cause any inconveniences. At all events, I created a
> CVS tag "SLIDE_2_0_0" before check-in.
> 
> Regards,
> Peter
> 




---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org