2011-03-20 66 views
1

我想知道是否有一个库为开发人员提供某种抽象以更容易地访问JackRabbit。Apache JackRabbit存储库是否有任何抽象层?

我知道有一些CMS使用jackRabbit并具有这种抽象的事实。

东西,将覆盖所有这一切:

InputStream stream = new BufferedInputStream(new FileInputStream(file)); 

Node folder = session.getNode("/absolute/path/to/folder/node"); 
Node file = folder.addNode("Article.pdf","nt:file"); 
Node content = file.addNode("jcr:content","nt:resource"); 
Binary binary = session.getValueFactory().createBinary(stream); 
content.setProperty("jcr:data",binary); 

例子:

JCRUtils.addFile(File file, String Title, String description, Map<String, String> properties, MixinType mixinType) 

我要实现这一层我自己,但我想可以肯定,我不会“实施一个已经实施的车轮“。

+0

您完全熟悉JSR-170?有一个“行为像Windows文件服务器”模式,可能更容易处理。 – 2011-03-20 21:15:14

+0

我是,我只是检查,因为我宁愿贡献一些已经存在的开源项目,而不是从头开始编程。我相信每个编程上使用JackRabbit的人都在编写这个抽象层... – lisak 2011-03-20 21:21:01

+0

我刚刚创建了我所需要的基本抽象,我必须承认图书馆必须非常有用:-) – lisak 2011-03-20 22:13:28

回答

2

已经有一个项目试图简化:Jackrabbit JCR Commons。也许你可以帮助这个项目?

+0

谢谢托马斯,在我问这个问题之后,我意识到了。我会看看我能做什么。如果我所做的图层足够普及,我会把它放在github上,并提交一个关于Jira的提议,这样你就可以检查出来......让Utils获取内容相对容易,但不能设置东西。 – lisak 2011-03-21 09:47:32

0

查看GitHub上的FS2 project。它在URI级别抽象化,使用非常简单。您可以使用模板模式非常简单地创建自定义存储库。这是JSR 170的一个轻量级答案。框架中内置了一个测试工具...只需查看内存和文件实现中的示例即可。