X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.repo%2Fsrc%2Forg%2Fargeo%2Fslc%2Frepo%2FOsgiFactory.java;fp=org.argeo.slc.repo%2Fsrc%2Forg%2Fargeo%2Fslc%2Frepo%2FOsgiFactory.java;h=817849361148da6ee3e8aaf2f7d5b15c4eaa587e;hb=825d60c5348dbe3f5be25b0bccf7bdebfe694219;hp=0000000000000000000000000000000000000000;hpb=5e991fff5cba01858dcc5747a27e637325bc5c8e;p=gpl%2Fargeo-jcr.git diff --git a/org.argeo.slc.repo/src/org/argeo/slc/repo/OsgiFactory.java b/org.argeo.slc.repo/src/org/argeo/slc/repo/OsgiFactory.java new file mode 100644 index 0000000..8178493 --- /dev/null +++ b/org.argeo.slc.repo/src/org/argeo/slc/repo/OsgiFactory.java @@ -0,0 +1,28 @@ +package org.argeo.slc.repo; + +import javax.jcr.Node; +import javax.jcr.RepositoryException; +import javax.jcr.Session; + +/** OSGi Factory */ +public interface OsgiFactory { + public Session openJavaSession() throws RepositoryException; + + public Session openDistSession() throws RepositoryException; + + public void indexNode(Node node); + + /** + * Provide access to a third party archive in the 'dist' repository, + * downloading it if it is not available. + */ + public Node getDist(Session distSession, String uri) + throws RepositoryException; + + /** + * Provide access to a cached maven ardifact identified by its coordinates + * the 'dist' repository, downloading it if it is not available. + */ + public Node getMaven(Session distSession, String coords) + throws RepositoryException; +}