]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.repo/src/org/argeo/slc/repo/core/RepoServiceImpl.java
Rename CategoryNameVersion.
[gpl/argeo-slc.git] / org.argeo.slc.repo / src / org / argeo / slc / repo / core / RepoServiceImpl.java
1 package org.argeo.slc.repo.core;
2
3 import javax.jcr.Repository;
4 import javax.jcr.RepositoryFactory;
5 import javax.jcr.Session;
6
7 import org.argeo.node.security.Keyring;
8 import org.argeo.slc.repo.RepoService;
9 import org.argeo.slc.repo.RepoUtils;
10
11 /**
12 * Work in Progress - enhance this. First implementation of a service that
13 * centralizes session management in an argeo SLC context, repositories are
14 * either defined using an URI and a workspace name in a anonymous context or
15 * using connection information that are store in a corresponding node in the
16 * local repository home
17 */
18 public class RepoServiceImpl implements RepoService {
19
20 /* DEPENDENCY INJECTION */
21 private Repository nodeRepository;
22 private RepositoryFactory repositoryFactory;
23 private Keyring keyring;
24
25 public Session getRemoteSession(String repoNodePath, String uri,
26 String workspaceName) {
27 return RepoUtils.getRemoteSession(repositoryFactory, keyring,
28 nodeRepository, repoNodePath, uri, workspaceName);
29 }
30
31 /* DEPENDENCY INJECTION */
32 public void setNodeRepository(Repository nodeRepository) {
33 this.nodeRepository = nodeRepository;
34 }
35
36 public void setRepositoryFactory(RepositoryFactory repositoryFactory) {
37 this.repositoryFactory = repositoryFactory;
38 }
39
40 public void setKeyring(Keyring keyring) {
41 this.keyring = keyring;
42 }
43 }