jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jukka Zitting (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-5) JCR bindings for Oak
Date Wed, 14 Mar 2012 10:08:37 GMT

    [ https://issues.apache.org/jira/browse/OAK-5?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13229112#comment-13229112

Jukka Zitting commented on OAK-5:

Looks like we have rough consensus to put this into a separate oak-jcr component, so I created
it in revision 1300489. I'll follow up by adding some basic pieces like the above initial
test case.

Michael, would you mind migrating the relevant parts of the existing sandbox code to oak-jcr?
I trust your judgement on which codebase is the best basis for future development.

In oak-core the convention so far was to keep the older prototype code in their original Java
packages and to reserve the org.apache.jackrabbit.oak package space for cleaned-up and more
future-proof stuff. Ultimately the goal is to be able to drop anything outside o.a.j.oak.
In oak-jcr I'd use the o.a.j.oak.jcr package space for a similar purpose.
> JCR bindings for Oak
> --------------------
>                 Key: OAK-5
>                 URL: https://issues.apache.org/jira/browse/OAK-5
>             Project: Jackrabbit Oak
>          Issue Type: New Feature
>            Reporter: Jukka Zitting
>              Labels: jcr
>             Fix For: 0.1
> One of the proposed goals for the 0.1 release is at least a basic JCR binding for Oak.
Most of that already exists in /jackrabbit/sandbox, we just need to decide where and how to
place it in Oak. I think we should either put it all under o.a.j.oak.jcr in oak-core, or create
a separate oak-jcr component for the JCR binding.
> As for functionality, it would be nice if the JCR binding was able to do at least the
> {code}
> Repository repository = JcrUtils.getRepository(...);
> Session session = repository.login(...);
> try {
>     // Create
>     session.getRootNode().addNode("hello")
>         .setProperty("world",  "hello world");
>     session.save();
>     // Read
>     assertEquals(
>         "hello world",
>         session.getProperty("/hello/world").getString());
>     // Update
>     session.getNode("/hello").setProperty("world", "Hello, World!");
>     session.save();
>     assertEquals(
>         "Hello, World!",
>         session.getProperty("/hello/world").getString());
>     // Delete
>     session.getNode("/hello").delete();
>     session.save();
>     assertTrue(!session.propertyExists("/hello/world"));
> } finally {
>     create.logout();
> }
> {code}

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message