X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.repo%2Fsrc%2Forg%2Fargeo%2Fslc%2Frepo%2Fcore%2FRepoServiceImpl.java;fp=org.argeo.slc.repo%2Fsrc%2Forg%2Fargeo%2Fslc%2Frepo%2Fcore%2FRepoServiceImpl.java;h=6e2b7aa6d64dece1a7ebc7998181ffcbc5e65df2;hb=825d60c5348dbe3f5be25b0bccf7bdebfe694219;hp=0000000000000000000000000000000000000000;hpb=5e991fff5cba01858dcc5747a27e637325bc5c8e;p=gpl%2Fargeo-jcr.git diff --git a/org.argeo.slc.repo/src/org/argeo/slc/repo/core/RepoServiceImpl.java b/org.argeo.slc.repo/src/org/argeo/slc/repo/core/RepoServiceImpl.java new file mode 100644 index 0000000..6e2b7aa --- /dev/null +++ b/org.argeo.slc.repo/src/org/argeo/slc/repo/core/RepoServiceImpl.java @@ -0,0 +1,43 @@ +package org.argeo.slc.repo.core; + +import javax.jcr.Repository; +import javax.jcr.RepositoryFactory; +import javax.jcr.Session; + +import org.argeo.api.cms.keyring.Keyring; +import org.argeo.slc.repo.RepoService; +import org.argeo.slc.repo.RepoUtils; + +/** + * Work in Progress - enhance this. First implementation of a service that + * centralizes session management in an argeo SLC context, repositories are + * either defined using an URI and a workspace name in a anonymous context or + * using connection information that are store in a corresponding node in the + * local repository home + */ +public class RepoServiceImpl implements RepoService { + + /* DEPENDENCY INJECTION */ + private Repository nodeRepository; + private RepositoryFactory repositoryFactory; + private Keyring keyring; + + public Session getRemoteSession(String repoNodePath, String uri, + String workspaceName) { + return RepoUtils.getRemoteSession(repositoryFactory, keyring, + nodeRepository, repoNodePath, uri, workspaceName); + } + + /* DEPENDENCY INJECTION */ + public void setNodeRepository(Repository nodeRepository) { + this.nodeRepository = nodeRepository; + } + + public void setRepositoryFactory(RepositoryFactory repositoryFactory) { + this.repositoryFactory = repositoryFactory; + } + + public void setKeyring(Keyring keyring) { + this.keyring = keyring; + } +} \ No newline at end of file