jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christophe Lombart (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-922) jcr mapping layer (OCM) should expose lock owner
Date Wed, 23 May 2007 08:26:16 GMT

    [ https://issues.apache.org/jira/browse/JCR-922?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12498148

Christophe Lombart commented on JCR-922:

For the second problem, maybe 3 possibilities : 

1/ Don't add the Lock info (lockowner, ...)  in the pojo. This solution requires a new  method
in the persistence managers (eg. PersistenceManager.getLock(path)).  This method returns the
Wrapper Lock object.  

2/ JCR mixin node types can be added and removed at any time. That's the case for the mix:lockable.
Each field-descriptor, bean-descriptor and collection-descriptor element can have a  new attribute
which specify the associated mixin node type reference. If the mixin node type is not yet
assigned to the node, the mapping can be ignored for that attribute. 

<class-descriptor className="...." >
	<field-descriptor fieldName="path" path="true" />
	<field-descriptor fieldName="title" jcrName="graffito:title"/>
	<field-descriptor fieldName="lockOwner" jcrName="jcr:lockOwner"   mixintype="mix:lockable/>

3/ Add a collection or a map in the pojo which will contain all available mixin type properties.
It should be possible to create a new collection converter specific to mixin type property

In your specific case the first solution is interesting. What is the interest to add lock
info in the data value object ? 
Other solutions are more interesting for a generic support of mixin node types. I will create
a new JIRA issue for this kind of support. 

What do you think about that ? Maybe another solution ? 

> jcr mapping layer (OCM) should expose lock owner
> ------------------------------------------------
>                 Key: JCR-922
>                 URL: https://issues.apache.org/jira/browse/JCR-922
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jcr-mapping
>    Affects Versions: 1.3
>            Reporter: ruchi goel
>         Assigned To: Christophe Lombart
>             Fix For: 1.3
> jcr mapping layer 's  persistencemanager.java  does not expose an API for returning lockowner.
Ideally   , the following method 
> public String lock(final String absPath, final boolean isDeep, final boolean isSessionScoped)

> should return a hashmap/String array containing locktoken as well as lockowner. 
> I tried having lockowner as a field in my java object and mapping it to jcr:lockOwner
, so that I can just use getLockOwner() . But the problem is this property gets introduced
in the node only if  the node is locked. So, when I try to insert a node , before I can even
lock it , the insertion fails since there is no property like jcr:lockOwner   till then .

> So, I feel there is need for the above API. It is ok to have it exposed via separate
call in order to maintain backward compatability

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message