X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=jcr%2Forg.argeo.cms.jcr%2Fsrc%2Forg%2Fargeo%2Fcms%2Fjcr%2Finternal%2FRepositoryContextsFactory.java;h=f3a099b08f7f64f670108d1f3566f1b8f596b4d2;hb=dca2b13e0e3ca3e7a9469e089b980c48c880ad1a;hp=11e9a9e92bc0e064cf2fa9d3483251afcc7fd600;hpb=4e8d82137c2dce7145175eacbd225a52227b6f73;p=lgpl%2Fargeo-commons.git diff --git a/jcr/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/RepositoryContextsFactory.java b/jcr/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/RepositoryContextsFactory.java index 11e9a9e92..f3a099b08 100644 --- a/jcr/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/RepositoryContextsFactory.java +++ b/jcr/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/RepositoryContextsFactory.java @@ -16,6 +16,7 @@ import org.apache.jackrabbit.core.RepositoryContext; import org.argeo.api.cms.CmsConstants; import org.argeo.api.cms.CmsLog; import org.argeo.api.cms.CmsState; +import org.argeo.cms.CmsDeployProperty; import org.argeo.cms.internal.jcr.RepoConf; import org.argeo.cms.internal.jcr.RepositoryBuilder; import org.argeo.cms.jcr.internal.osgi.CmsJcrActivator; @@ -25,6 +26,7 @@ import org.osgi.service.cm.ManagedServiceFactory; /** A {@link ManagedServiceFactory} creating or referencing JCR repositories. */ public class RepositoryContextsFactory { private final static CmsLog log = CmsLog.getLog(RepositoryContextsFactory.class); + private final static String NODE_REPO_PROP_PREFIX = "argeo.node.repo."; // private final BundleContext bc = FrameworkUtil.getBundle(RepositoryServiceFactory.class).getBundleContext(); // private Map repositories = new HashMap(); @@ -68,8 +70,11 @@ public class RepositoryContextsFactory { /** Override the provided config with the framework properties */ private Dictionary getNodeRepositoryConfig() { Dictionary props = new Hashtable(); + addDeployProperty(CmsDeployProperty.DB_URL, RepoConf.dburl, props); + addDeployProperty(CmsDeployProperty.DB_USER, RepoConf.dbuser, props); + addDeployProperty(CmsDeployProperty.DB_PASSWORD, RepoConf.dbpassword, props); for (RepoConf repoConf : RepoConf.values()) { - Object value = getFrameworkProp(CmsConstants.NODE_REPO_PROP_PREFIX + repoConf.name()); + Object value = getFrameworkProp(NODE_REPO_PROP_PREFIX + repoConf.name()); if (value != null) { props.put(repoConf.name(), value); if (log.isDebugEnabled()) @@ -80,6 +85,15 @@ public class RepositoryContextsFactory { return props; } + private void addDeployProperty(CmsDeployProperty deployProperty, RepoConf repoConf, + Dictionary props) { + String value = getFrameworkProp(deployProperty.getProperty()); + if (value != null) { + props.put(repoConf.name(), value); + } + + } + // @Override // public void updated(String pid, Dictionary properties) throws ConfigurationException { protected void deployRepository(Dictionary properties) {