2011-03-20 47 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的一個輕量級答案。框架中內置了一個測試工具...只需查看內存和文件實現中的示例即可。

相關問題