[jira] Assigned: (JCR-997) ValueFactory is not extensible

2007-07-05 Thread Marcel Reutegger (JIRA)

 [ 
https://issues.apache.org/jira/browse/JCR-997?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marcel Reutegger reassigned JCR-997:


Assignee: Marcel Reutegger

 ValueFactory is not extensible
 --

 Key: JCR-997
 URL: https://issues.apache.org/jira/browse/JCR-997
 Project: Jackrabbit
  Issue Type: Improvement
  Components: core
Reporter: Jukka Zitting
Assignee: Marcel Reutegger
Priority: Minor

 The Jackrabbit ValueFactory implementation should have a generic base class 
 in jackrabbit-jcr-commons. This base class could be reused in SPI.

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



[jira] Created: (JCR-1003) Use inheritance rather than delegation for SPI ValueFactoryImpl

2007-07-05 Thread Marcel Reutegger (JIRA)
Use inheritance rather than delegation for SPI ValueFactoryImpl
---

 Key: JCR-1003
 URL: https://issues.apache.org/jira/browse/JCR-1003
 Project: Jackrabbit
  Issue Type: Improvement
  Components: SPI
Reporter: Marcel Reutegger
Priority: Minor


The ValueFactoryImpl now has a protected constructor and the SPI variant of the 
it can use it.

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



[jira] Resolved: (JCR-1003) Use inheritance rather than delegation for SPI ValueFactoryImpl

2007-07-05 Thread Marcel Reutegger (JIRA)

 [ 
https://issues.apache.org/jira/browse/JCR-1003?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marcel Reutegger resolved JCR-1003.
---

   Resolution: Fixed
Fix Version/s: 1.4

Fixed in revision: 553407

 Use inheritance rather than delegation for SPI ValueFactoryImpl
 ---

 Key: JCR-1003
 URL: https://issues.apache.org/jira/browse/JCR-1003
 Project: Jackrabbit
  Issue Type: Improvement
  Components: SPI
Reporter: Marcel Reutegger
Priority: Minor
 Fix For: 1.4


 The ValueFactoryImpl now has a protected constructor and the SPI variant of 
 the it can use it.

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



[jira] Updated: (JCR-1003) Use inheritance rather than delegation for SPI ValueFactoryImpl

2007-07-05 Thread Marcel Reutegger (JIRA)

 [ 
https://issues.apache.org/jira/browse/JCR-1003?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marcel Reutegger updated JCR-1003:
--

Description: The ValueFactoryImpl now has a protected constructor and the 
SPI variant of the value factory can use it.  (was: The ValueFactoryImpl now 
has a protected constructor and the SPI variant of the it can use it.)

 Use inheritance rather than delegation for SPI ValueFactoryImpl
 ---

 Key: JCR-1003
 URL: https://issues.apache.org/jira/browse/JCR-1003
 Project: Jackrabbit
  Issue Type: Improvement
  Components: SPI
Reporter: Marcel Reutegger
Priority: Minor
 Fix For: 1.4


 The ValueFactoryImpl now has a protected constructor and the SPI variant of 
 the value factory can use it.

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



[jira] Resolved: (JCR-1001) SPI: prefer 'Iterator' instead of specialized subclasses

2007-07-05 Thread angela (JIRA)

 [ 
https://issues.apache.org/jira/browse/JCR-1001?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

angela resolved JCR-1001.
-

Resolution: Fixed

removed:

IdIterator, EventIterator, QNodeTypeDefinitionIterator, QResultRowIterator 
interfaces and
implementing classes.

All corresponding return values were changed to 'Iterator' except for 
QResultRowIterator  which was changed to 'RangeIterator' due to usage of the 
additional methods within the query code.

rev. 553409

 SPI: prefer 'Iterator' instead of specialized subclasses
 

 Key: JCR-1001
 URL: https://issues.apache.org/jira/browse/JCR-1001
 Project: Jackrabbit
  Issue Type: Improvement
  Components: SPI
Reporter: angela
Assignee: angela
Priority: Minor

 in the F2F we agreed that the SPI should rather use 'Iterator' instead of 
 specialized subclassed (or RangeIterator).

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



[jira] Resolved: (JCR-999) SPI: provide batch read functionality

2007-07-05 Thread angela (JIRA)

 [ 
https://issues.apache.org/jira/browse/JCR-999?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

angela resolved JCR-999.


Resolution: Fixed

 SPI: provide batch read functionality
 -

 Key: JCR-999
 URL: https://issues.apache.org/jira/browse/JCR-999
 Project: Jackrabbit
  Issue Type: New Feature
  Components: SPI
Reporter: angela
Assignee: angela

 extend RepositoryService interface to allow for BatchRead and modify jcr2spi 
 accordingly.

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



[jira] Created: (JCR-1004) SPI: Add RepositoryService.getQNodeTypeDefinition

2007-07-05 Thread angela (JIRA)
SPI: Add RepositoryService.getQNodeTypeDefinition
-

 Key: JCR-1004
 URL: https://issues.apache.org/jira/browse/JCR-1004
 Project: Jackrabbit
  Issue Type: Improvement
  Components: SPI
Reporter: angela
Assignee: angela


Finding of the F2F (2/3 July)

similar to recent modifications to the retrieval of name spaces the node type 
management should be changed in order to only retrieve the complete set of node 
types on demand. Otherwise single node type definitions should be retrieved as 
required.
To achieve this we agreed to add RepositoryService.getQNodeTypeDefinition

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



[jira] Commented: (JCR-1001) SPI: prefer 'Iterator' instead of specialized subclasses

2007-07-05 Thread angela (JIRA)

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

angela commented on JCR-1001:
-

slightly modified contrib/jackrabbit-spi-xml in order not to break its 
compilation (untested).
rev. 553411

 SPI: prefer 'Iterator' instead of specialized subclasses
 

 Key: JCR-1001
 URL: https://issues.apache.org/jira/browse/JCR-1001
 Project: Jackrabbit
  Issue Type: Improvement
  Components: SPI
Reporter: angela
Assignee: angela
Priority: Minor

 in the F2F we agreed that the SPI should rather use 'Iterator' instead of 
 specialized subclassed (or RangeIterator).

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



[jira] Created: (JCR-1005) More Fine grained Permission Flags

2007-07-05 Thread JIRA
More Fine grained Permission Flags
--

 Key: JCR-1005
 URL: https://issues.apache.org/jira/browse/JCR-1005
 Project: Jackrabbit
  Issue Type: Improvement
  Components: security
Affects Versions: 1.3
Reporter: Claus Köll


It would be fine to have one more Permission Flag on node add.
At the moment there are 3 flags. We need to know if a node will be updated or 
created.
This is not possible with the current implementation because on node add the 
permission flag 
AccessManager.WRITE will be used. This is a Problem in a  WebDav Scenario with 
Microsoft-Word because if i open a Node and 
try to save it i need write permissions on the parent node. this is ok. If a 
user trys to save the file with a other name
he can because the same PermissionFlag will be used.
Maybe there is a other solution for this problem ?
BR,
claus

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



Re: SPI Contribution: Status

2007-07-05 Thread Jukka Zitting

Hi,

On 7/4/07, Thomas Mueller [EMAIL PROTECTED] wrote:

 - a impl. logging SPI calls would be very convenient

The JCRLog could be extended to support that, see:

http://svn.apache.org/repos/asf/jackrabbit/trunk/contrib/jcrlog


There's also an interesting generic tool currently entering the Apache
Incubator, see http://wiki.apache.org/incubator/JrsProposal.

BR,

Jukka Zitting


[jira] Updated: (JCR-1006) StackOverflowError if too many versions of a node are created

2007-07-05 Thread Christoph Kiehl (JIRA)

 [ 
https://issues.apache.org/jira/browse/JCR-1006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christoph Kiehl updated JCR-1006:
-

Attachment: VersionIteratorImpl.patch

This patch collects all version ids iteratively instead of recursively to avoid 
StackOverflowErrors.

 StackOverflowError if too many versions of a node are created
 -

 Key: JCR-1006
 URL: https://issues.apache.org/jira/browse/JCR-1006
 Project: Jackrabbit
  Issue Type: Bug
  Components: versioning
Affects Versions: 1.3
Reporter: Christoph Kiehl
 Attachments: VersionIteratorImpl.patch


 In org.apache.jackrabbit.core.version.VersionIteratorImpl addVersion() is 
 called recursively which can cause StackOverflowErrors if there are too many 
 versions.

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



[jira] Created: (JCR-1007) Move common implementations of SPI interfaces to spi-commons module

2007-07-05 Thread Marcel Reutegger (JIRA)
Move common implementations of SPI interfaces to spi-commons module
---

 Key: JCR-1007
 URL: https://issues.apache.org/jira/browse/JCR-1007
 Project: Jackrabbit
  Issue Type: Improvement
  Components: SPI
Reporter: Marcel Reutegger
Priority: Minor


Some of the spi modules use nearly duplicate code, which should be moved to the 
spi-commons module.

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



[jira] Resolved: (JCR-1007) Move common implementations of SPI interfaces to spi-commons module

2007-07-05 Thread Marcel Reutegger (JIRA)

 [ 
https://issues.apache.org/jira/browse/JCR-1007?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marcel Reutegger resolved JCR-1007.
---

Resolution: Fixed

Done in revision: 553507

 Move common implementations of SPI interfaces to spi-commons module
 ---

 Key: JCR-1007
 URL: https://issues.apache.org/jira/browse/JCR-1007
 Project: Jackrabbit
  Issue Type: Improvement
  Components: SPI
Reporter: Marcel Reutegger
Priority: Minor

 Some of the spi modules use nearly duplicate code, which should be moved to 
 the spi-commons module.

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



[jira] Resolved: (JCR-812) TCK: RestoreTest.testRestoreLabel

2007-07-05 Thread Marcel Reutegger (JIRA)

 [ 
https://issues.apache.org/jira/browse/JCR-812?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marcel Reutegger resolved JCR-812.
--

   Resolution: Fixed
Fix Version/s: 1.4

Changed the test to only focus on a single versionable node.

Fixed in revision: 553510

 TCK: RestoreTest.testRestoreLabel
 -

 Key: JCR-812
 URL: https://issues.apache.org/jira/browse/JCR-812
 Project: Jackrabbit
  Issue Type: Bug
  Components: JCR TCK
Reporter: angela
 Fix For: 1.4


 According to tobi the jackrabbit implementation of 'Node.restoreByLabel' is 
 an interpretation of the
 specification regarding the restore behaviour of versionable child nodes. 
 while that interpetration might
 be legal unless the specification is violated, i would argue that the TCK 
 should not test the interpretation.
 therefore i suggest to modify
 org.apache.jackrabbit.test.api.version.RestoreTest.testRestoreLabel
 by skipping line 334 - 345 in order to limit the test case to the behaviour 
 that is defined by the specification.
 regards
 angela
 ps: the mentioned test is also executed within the scope of 
 WorkspaceRestoreTest because the latter  extends RestoreTest that's 
 misleading.

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



Question

2007-07-05 Thread qcfireball

I spent about 2 hours looking for the appropriate forum to post this
question.  This one is the best I came up with.

Please forgive me, but my question is not Jackrabbit specific.

What I want to do is be able to refer from one node via a property to
another node in a different workspace.  For example:
WorkspaceA
root node
Node 001
Property:REFERENCEABLE, value=??? can I refer to Node 00X, UUID
0123??

WorkspaceB
root node
Node 00X
UUID = 0123

Is this possible in Jackrabbit?  Is this possible in other implementations
of the JSR-170?  Is this something that is not defined by the JSR-170?  I
have read thru the Spec, and it does not seem to address this, so I am
assuming that the JSR-170 does not address this.  It talks about
corresponding nodes (which I am not sure I understand yet), but this does
not seem to address the question I am interested in.

Thanks.

 mjkelleher
 [EMAIL PROTECTED]
-- 
View this message in context: 
http://www.nabble.com/Question-tf4029888.html#a11446925
Sent from the Jackrabbit - Dev mailing list archive at Nabble.com.



[jira] Commented: (JCR-774) TCK: Test that expect that modifications made by Session1 are automatically visible to Session2

2007-07-05 Thread Marcel Reutegger (JIRA)

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

Marcel Reutegger commented on JCR-774:
--

Added the missing Node.refresh() call in NodeCanAddMixinTest.testLocked.

Fixed in revision: 553515

 TCK: Test that expect that modifications made by Session1 are automatically 
 visible to Session2
 ---

 Key: JCR-774
 URL: https://issues.apache.org/jira/browse/JCR-774
 Project: Jackrabbit
  Issue Type: Bug
  Components: JCR TCK
Reporter: angela
Priority: Minor
 Attachments: NodeCanAddMixinTest.patch, NodeTest.patch


 While changes made by session1 are automatically visible to any other 
 session2 with the RI, this is not required by the
 specification. Therefore i would suggest to modify the following test cases:
 - NodeUUIDTest.testSaveMovedRefNode()
 - SessionUUIDTest.testSaveMovedRefNode()
 - no patch. sorry.
 - NodeTest.testRemoveInvalidItemStateException()
 - see patch.

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



[jira] Created: (JCR-1008) SerializationTest leaks sessions

2007-07-05 Thread Marcel Reutegger (JIRA)
SerializationTest leaks sessions


 Key: JCR-1008
 URL: https://issues.apache.org/jira/browse/JCR-1008
 Project: Jackrabbit
  Issue Type: Bug
  Components: JCR TCK
Reporter: Marcel Reutegger
Priority: Minor
 Fix For: 1.4


The class TreeComparator extends from AbstractJCRTest and opens a session in 
its constructor because it calls the setUp() method. The tearDown() method is 
never called.

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



Re: Question

2007-07-05 Thread David Nuescheler

Hi,

the JSR-170 spec explicitly states that references are within the
same workspace only. generally, there are a number of issues with
cross workspace references. to mention one, your session is
tied to one workspace and the access to another workspace
is not obvious without creating another session.
also, since there can be multiple workspaces with the node
with that given UUID it would not be trivial to identify the node
just through the UUID. referential integrity is a whole
different issue.

In JSR-283 cross repository and cross workspace references
are considered as a topic to resolve.

In my experience I found that a lot of people that were interested in
cross workspace references were not really looking for all the
attributes of a JCR reference and either ended up putting all the data
into one workspace (rightfully so, since the workspace metaphore is frequently
abused as some grouping or even access control mechanism) or
used for example UUID's as strings and resolved the reference in the application
with a getByUUID() call on the target workspace.

Maybe you can outline your usecase a little bit more in detail, I
would be happy to see what suggestions I could come up with.

regards,
david


.ps: I read the property in your example as a reference property,
since there is no
referenceable property. I assume that's correct, right?

On 7/5/07, qcfireball [EMAIL PROTECTED] wrote:


I spent about 2 hours looking for the appropriate forum to post this
question.  This one is the best I came up with.

Please forgive me, but my question is not Jackrabbit specific.

What I want to do is be able to refer from one node via a property to
another node in a different workspace.  For example:
WorkspaceA
root node
Node 001
Property:REFERENCEABLE, value=??? can I refer to Node 00X, UUID
0123??

WorkspaceB
root node
Node 00X
UUID = 0123

Is this possible in Jackrabbit?  Is this possible in other implementations
of the JSR-170?  Is this something that is not defined by the JSR-170?  I
have read thru the Spec, and it does not seem to address this, so I am
assuming that the JSR-170 does not address this.  It talks about
corresponding nodes (which I am not sure I understand yet), but this does
not seem to address the question I am interested in.

Thanks.

 mjkelleher
 [EMAIL PROTECTED]
--
View this message in context: 
http://www.nabble.com/Question-tf4029888.html#a11446925
Sent from the Jackrabbit - Dev mailing list archive at Nabble.com.




[jira] Resolved: (JCR-1008) SerializationTest leaks sessions

2007-07-05 Thread Marcel Reutegger (JIRA)

 [ 
https://issues.apache.org/jira/browse/JCR-1008?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marcel Reutegger resolved JCR-1008.
---

Resolution: Fixed

Fixed in revision: 553529

 SerializationTest leaks sessions
 

 Key: JCR-1008
 URL: https://issues.apache.org/jira/browse/JCR-1008
 Project: Jackrabbit
  Issue Type: Bug
  Components: JCR TCK
Reporter: Marcel Reutegger
Priority: Minor
 Fix For: 1.4


 The class TreeComparator extends from AbstractJCRTest and opens a session in 
 its constructor because it calls the setUp() method. The tearDown() method is 
 never called.

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



Re: Xpath property predicates

2007-07-05 Thread Marcel Reutegger

Frédéric Esnault wrote:

I'm wondering if it is a bug in Jackrabbit or if it's just not possible with
JSR 170 Xpath query (it works with real XPath).


JSR 170 does only specify property comparison with a literal and not with 
another property.


Please file a jira enhancement issue if you want jackrabbit to support this.

regards
 marcel


[jira] Created: (JCR-1009) JCR2SPI: add JNDI support

2007-07-05 Thread angela (JIRA)
JCR2SPI: add JNDI support
-

 Key: JCR-1009
 URL: https://issues.apache.org/jira/browse/JCR-1009
 Project: Jackrabbit
  Issue Type: New Feature
  Components: SPI
Reporter: angela
Assignee: Julian Reschke
Priority: Minor


adding jndi support to jcr2spi was one of the improvements that came up during 
the f2f.
julian volunteered to take a look at it.

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



[jira] Resolved: (JCR-774) TCK: Test that expect that modifications made by Session1 are automatically visible to Session2

2007-07-05 Thread Marcel Reutegger (JIRA)

 [ 
https://issues.apache.org/jira/browse/JCR-774?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marcel Reutegger resolved JCR-774.
--

   Resolution: Fixed
Fix Version/s: 1.4

No more changes needed. Setting to fixed.

 TCK: Test that expect that modifications made by Session1 are automatically 
 visible to Session2
 ---

 Key: JCR-774
 URL: https://issues.apache.org/jira/browse/JCR-774
 Project: Jackrabbit
  Issue Type: Bug
  Components: JCR TCK
Reporter: angela
Priority: Minor
 Fix For: 1.4

 Attachments: NodeCanAddMixinTest.patch, NodeTest.patch


 While changes made by session1 are automatically visible to any other 
 session2 with the RI, this is not required by the
 specification. Therefore i would suggest to modify the following test cases:
 - NodeUUIDTest.testSaveMovedRefNode()
 - SessionUUIDTest.testSaveMovedRefNode()
 - no patch. sorry.
 - NodeTest.testRemoveInvalidItemStateException()
 - see patch.

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



Re: Question

2007-07-05 Thread Christoph Kiehl

David Nuescheler wrote:


In my experience I found that a lot of people that were interested in
cross workspace references were not really looking for all the
attributes of a JCR reference and either ended up putting all the data
into one workspace (rightfully so, since the workspace metaphore is 
frequently

abused as some grouping or even access control mechanism) or
used for example UUID's as strings and resolved the reference in the 
application

with a getByUUID() call on the target workspace.


Could you outline some valid use cases for using multiple workspaces? The only 
one I found was having two workspaces: one for published content and one for 
content. But this is just for our use case which is centered around CMS, 
editing, publishing. I'm sure there are much more situations were it is worth to 
consider using multiple workspaces. This might be helpful for newcomers as well 
to show what jackrabbit could be used for.


Cheers,
Christoph



[jira] Resolved: (JCR-1010) Test failures with spi2jcr in AddEventListenerTest

2007-07-05 Thread Marcel Reutegger (JIRA)

 [ 
https://issues.apache.org/jira/browse/JCR-1010?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marcel Reutegger resolved JCR-1010.
---

Resolution: Fixed

Fixed in revision: 553547

 Test failures with spi2jcr in AddEventListenerTest
 --

 Key: JCR-1010
 URL: https://issues.apache.org/jira/browse/JCR-1010
 Project: Jackrabbit
  Issue Type: Bug
  Components: SPI
Reporter: Marcel Reutegger
Priority: Minor

 Two tests fail:
 - AddEventListenerTest.testUUID
 - AddEventListenerTest.testNodeType

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



[jira] Created: (JCR-1010) Test failures with spi2jcr in AddEventListenerTest

2007-07-05 Thread Marcel Reutegger (JIRA)
Test failures with spi2jcr in AddEventListenerTest
--

 Key: JCR-1010
 URL: https://issues.apache.org/jira/browse/JCR-1010
 Project: Jackrabbit
  Issue Type: Bug
  Components: SPI
Reporter: Marcel Reutegger
Priority: Minor


Two tests fail:

- AddEventListenerTest.testUUID
- AddEventListenerTest.testNodeType

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



[jira] Created: (JCR-1012) JCR2SPI: Optimization for Item.refresh and Session.refresh

2007-07-05 Thread angela (JIRA)
JCR2SPI: Optimization for Item.refresh and Session.refresh
--

 Key: JCR-1012
 URL: https://issues.apache.org/jira/browse/JCR-1012
 Project: Jackrabbit
  Issue Type: Improvement
Reporter: angela


(suggested by david)

Item.refresh and Session.refresh could be optimized if it was possible to find 
out, if there are external modifications affecting the tree to be refreshed and 
if the information would allow to specifically invalidate affected ItemStates.

Currently all ItemStates present in the tree below the given Item are 
invalidated (and updated upon the next access).



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



RE: JSR-283 TCK?

2007-07-05 Thread Arje Cahn

Thanks, Roy and Bertrand, it's clear now.

 Note that you only need the TCK if you are implementing an 
 independent implementation, or if you want to certify a 
 forked version of Jackrabbit.  The Apache Jackrabbit release 
 builds are already tested against the TCK.

We'll just stick to Jackrabbit without the fork :)




Kind regards,
Met vriendelijke groet,

Arjé Cahn

Hippo  

Oosteinde 11
1017WT Amsterdam
The Netherlands
Tel  +31 (0)20 5224466

[EMAIL PROTECTED] / [EMAIL PROTECTED]

--
 Hippo http://www.hippo.nl
 Hippo CMS community   http://www.hippocms.org
 My weblog http://blogs.hippo.nl/arje
--
 Upcoming presentation June 25th, New York:
 Open Source Content Management in the Enterprise
 http://www.soaeosconference.sys-con.com/general/session07.htm?id=30
--



[jira] Created: (JCR-1011) JCR2SPI: add configurable cache for Item instances (ItemManager)

2007-07-05 Thread angela (JIRA)
JCR2SPI: add configurable cache for Item instances (ItemManager)


 Key: JCR-1011
 URL: https://issues.apache.org/jira/browse/JCR-1011
 Project: Jackrabbit
  Issue Type: Improvement
  Components: SPI
Reporter: angela


Currently the ItemManager implementation uses a simple map with weak keys 
(ItemState) and weak values (Item) as cache.
Marcel recently suggested to replace this with a more sophisticated cache 
mechanism that can be configured.

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



[jira] Updated: (JCR-1013) Connection.setAutoCommit(...) fails if connection is managed for JNDIDatabasePersistenceManager

2007-07-05 Thread Marcel May (JIRA)

 [ 
https://issues.apache.org/jira/browse/JCR-1013?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marcel  May updated JCR-1013:
-

Attachment: patch.txt

Patch for DatabasePersistenceManager and DatabaseFileSystem.java

 Connection.setAutoCommit(...) fails if connection is managed for 
 JNDIDatabasePersistenceManager
 ---

 Key: JCR-1013
 URL: https://issues.apache.org/jira/browse/JCR-1013
 Project: Jackrabbit
  Issue Type: Bug
Affects Versions: 1.3
 Environment: JBoss, Jackrabbit 1.3,  JNDIDatabasePersistenceManager
Reporter: Marcel  May
 Attachments: patch.txt


 Invoking setAutoCommit() on a db connection fails if the connection is 
 managed.
 I propose as a workaround to check if the auto commit must be set previous to 
 setting it (a trivial patch will be provided).
 This can happen eg. if you use JNDI (eg JNDIDatabasePersistenceManager) to 
 fetch the connection on JBoss, and the persistent manager tries to reconnect 
 (see stack trace below).
 05 Jul 09:54:24 ERROR sePersistenceManager| failed to re-establish connection
 java.sql.SQLException: You cannot set autocommit during a managed transaction!
 at 
 org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.setJdbcAutoCommit(BaseWrapperManagedConnection.java:482)
 at 
 org.jboss.resource.adapter.jdbc.WrappedConnection.setAutoCommit(WrappedConnection.java:322)
 at 
 org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.initConnection(DatabasePersistenceManager.java:731)
 at 
 org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.reestablishConnection(DatabasePersistenceManager.java:806)
 at 
 org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.executeStmt(DatabasePersistenceManager.java:852)
 at 
 org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.exists(DatabasePersistenceManager.java:647)
 at 
 org.apache.jackrabbit.core.state.SharedItemStateManager.hasNonVirtualItemState(SharedItemStateManager.java:1102)
 at 
 org.apache.jackrabbit.core.state.SharedItemStateManager.hasItemState(SharedItemStateManager.java:289)
 at 
 org.apache.jackrabbit.core.state.LocalItemStateManager.hasItemState(LocalItemStateManager.java:180)
 at 
 org.apache.jackrabbit.core.state.XAItemStateManager.hasItemState(XAItemStateManager.java:252)
 at 
 org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:174)

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



[jira] Commented: (JCR-926) Global data store for binaries

2007-07-05 Thread Pablo Rios (JIRA)

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

Pablo Rios commented on JCR-926:


Which is the revision the last version of the binary data store patch should be 
applied to ?

(I would like to have both the old style BLOBStore and the new style DataStore 
implementations co-exist and the clean up of the InternalValue.internalValue() 
method)

The simplest steps that I found to apply the dataStore3.patch was:
- checkout revision 552445 (revision of the files modified by this patch)
- delete org.apache.jackrabbit.core.data package (already exists in revision 
552445)
- make a copy of the file BLOBFileValue.java as BLOBValue.java (can't find the 
file to patch at line 2659)
- apply dataStore3.patch

With the data store feature disabled (org.jackrabbit.useDataStore=false) all 
TCK tests passed, but with this feature enabled 
(org.jackrabbit.useDataStore=true) I got 46 errors and 10 failures.
I suppose these test failures are related with the steps above.

I would like to start contributing testing this feature.



 Global data store for binaries
 --

 Key: JCR-926
 URL: https://issues.apache.org/jira/browse/JCR-926
 Project: Jackrabbit
  Issue Type: New Feature
  Components: core
Reporter: Jukka Zitting
 Attachments: dataStore.patch, DataStore.patch, DataStore2.patch, 
 dataStore3.patch, internalValue.patch, ReadWhileSaveTest.patch


 There are three main problems with the way Jackrabbit currently handles large 
 binary values:
 1) Persisting a large binary value blocks access to the persistence layer for 
 extended amounts of time (see JCR-314)
 2) At least two copies of binary streams are made when saving them through 
 the JCR API: one in the transient space, and one when persisting the value
 3) Versioining and copy operations on nodes or subtrees that contain large 
 binary values can quickly end up consuming excessive amounts of storage space.
 To solve these issues (and to get other nice benefits), I propose that we 
 implement a global data store concept in the repository. A data store is an 
 append-only set of binary values that uses short identifiers to identify and 
 access the stored binary values. The data store would trivially fit the 
 requirements of transient space and transaction handling due to the 
 append-only nature. An explicit mark-and-sweep garbage collection process 
 could be added to avoid concerns about storing garbage values.
 See the recent NGP value record discussion, especially [1], for more 
 background on this idea.
 [1] 
 http://mail-archives.apache.org/mod_mbox/jackrabbit-dev/200705.mbox/[EMAIL 
 PROTECTED]

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



[jira] Commented: (JCR-926) Global data store for binaries

2007-07-05 Thread Pablo Rios (JIRA)

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

Pablo Rios commented on JCR-926:


I have a couple of questions about the data store.

Given the append-only nature of this feature, when a node with a binary 
property is removed binary content remains in the data store. When do you 
expect to have a garbage collection process of binary content (files) in the 
file system ?

Are you planning to provide a database-backed implementation of the data store ?

Regards,
Pablo

 Global data store for binaries
 --

 Key: JCR-926
 URL: https://issues.apache.org/jira/browse/JCR-926
 Project: Jackrabbit
  Issue Type: New Feature
  Components: core
Reporter: Jukka Zitting
 Attachments: dataStore.patch, DataStore.patch, DataStore2.patch, 
 dataStore3.patch, internalValue.patch, ReadWhileSaveTest.patch


 There are three main problems with the way Jackrabbit currently handles large 
 binary values:
 1) Persisting a large binary value blocks access to the persistence layer for 
 extended amounts of time (see JCR-314)
 2) At least two copies of binary streams are made when saving them through 
 the JCR API: one in the transient space, and one when persisting the value
 3) Versioining and copy operations on nodes or subtrees that contain large 
 binary values can quickly end up consuming excessive amounts of storage space.
 To solve these issues (and to get other nice benefits), I propose that we 
 implement a global data store concept in the repository. A data store is an 
 append-only set of binary values that uses short identifiers to identify and 
 access the stored binary values. The data store would trivially fit the 
 requirements of transient space and transaction handling due to the 
 append-only nature. An explicit mark-and-sweep garbage collection process 
 could be added to avoid concerns about storing garbage values.
 See the recent NGP value record discussion, especially [1], for more 
 background on this idea.
 [1] 
 http://mail-archives.apache.org/mod_mbox/jackrabbit-dev/200705.mbox/[EMAIL 
 PROTECTED]

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



Re: [jira] Commented: (JCR-926) Global data store for binaries

2007-07-05 Thread Thomas Mueller

Hi,


With the data store feature disabled all TCK tests passed,


Same for me.


with this feature enabled I got 46 errors and 10 failures.


It worked for me.


I suppose these test failures are related with the steps above.


Probably. How run the tests?


Which is the revision the last version of the binary data store patch should be 
applied to ?


... I didn't write that down. I will merge my changes today and create
a new patch, where I will tell the revision I used.


Given the append-only nature of this feature, when a node
with a binary property is removed binary content remains in the data store.
When do you expect to have a garbage collection process of binary content 
(files) in the file system ?


I started to implement that yesterday. I have some ideas how to make
it faster than simply 'scan through the whole repository, mark all
blobs, delete unmarked'. However the first implementation will be
about like that. Also, the garbage needs to be a background process
(unlike memory garbage collection). The patch will contain more
information about that.


Are you planning to provide a database-backed implementation of the data store ?


So far I didn't plan to implement that, but it should be trivial (the
DataStore API is very simple).

Thomas