]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms.jcr/src/org/argeo/cms/jcr/gcr/JcrContentProvider.java
1 package org
.argeo
.cms
.jcr
.gcr
;
3 import java
.util
.Arrays
;
4 import java
.util
.Iterator
;
6 import javax
.jcr
.Repository
;
7 import javax
.jcr
.RepositoryException
;
8 import javax
.jcr
.Session
;
9 import javax
.xml
.namespace
.NamespaceContext
;
11 import org
.argeo
.api
.gcr
.Content
;
12 import org
.argeo
.api
.gcr
.spi
.ContentProvider
;
13 import org
.argeo
.api
.gcr
.spi
.ProvidedSession
;
14 import org
.argeo
.cms
.jcr
.CmsJcrUtils
;
15 import org
.argeo
.jcr
.JcrException
;
16 import org
.argeo
.jcr
.JcrUtils
;
18 public class JcrContentProvider
implements ContentProvider
, NamespaceContext
{
19 private Repository jcrRepository
;
20 private Session adminSession
;
23 adminSession
= CmsJcrUtils
.openDataAdminSession(jcrRepository
, null);
26 public void destroy() {
27 JcrUtils
.logoutQuietly(adminSession
);
30 public void setJcrRepository(Repository jcrRepository
) {
31 this.jcrRepository
= jcrRepository
;
35 public Content
get(ProvidedSession session
, String mountPath
, String relativePath
) {
36 // TODO Auto-generated method stub
44 public String
getNamespaceURI(String prefix
) {
46 return adminSession
.getNamespaceURI(prefix
);
47 } catch (RepositoryException e
) {
48 throw new JcrException(e
);
53 public String
getPrefix(String namespaceURI
) {
55 return adminSession
.getNamespacePrefix(namespaceURI
);
56 } catch (RepositoryException e
) {
57 throw new JcrException(e
);
62 public Iterator
<String
> getPrefixes(String namespaceURI
) {
64 return Arrays
.asList(adminSession
.getNamespacePrefix(namespaceURI
)).iterator();
65 } catch (RepositoryException e
) {
66 throw new JcrException(e
);