X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FCmsDeployment.java;fp=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FCmsDeployment.java;h=026f9186bc710fdac802ee13d650db681555818f;hb=a1e5c8447beec2b896b0a03e38a4c17608a4b85d;hp=2667d986a93efc8c737a909ed0c1941c0e8f80af;hpb=623a0db2d0f161c101b9e41abcaccc04d478d32a;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java index 2667d986a..026f9186b 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java @@ -15,6 +15,7 @@ import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Dictionary; import java.util.HashSet; import java.util.Hashtable; import java.util.Iterator; @@ -45,6 +46,7 @@ import org.argeo.cms.ArgeoNames; import org.argeo.cms.internal.http.CmsRemotingServlet; import org.argeo.cms.internal.http.CmsWebDavServlet; import org.argeo.cms.internal.http.HttpUtils; +import org.argeo.cms.internal.jcr.JcrInitUtils; import org.argeo.jcr.Jcr; import org.argeo.jcr.JcrException; import org.argeo.jcr.JcrUtils; @@ -155,6 +157,7 @@ public class CmsDeployment implements NodeDeployment { throw new IllegalStateException("Cannot analyse clean state", e); } deployConfig = new DeployConfig(configurationAdmin, dataModels, isClean); + JcrInitUtils.addToDeployment(CmsDeployment.this); httpExpected = deployConfig.getProps(KernelConstants.JETTY_FACTORY_PID, "default") != null; try { Configuration[] configs = configurationAdmin @@ -181,6 +184,20 @@ public class CmsDeployment implements NodeDeployment { KernelUtils.asyncOpen(confAdminSt); } + public void addFactoryDeployConfig(String factoryPid, Dictionary props) { + deployConfig.putFactoryDeployConfig(factoryPid, props); + deployConfig.save(); + try { + deployConfig.loadConfigs(); + } catch (IOException e) { + throw new IllegalStateException(e); + } + } + + public Dictionary getProps(String factoryPid, String cn) { + return deployConfig.getProps(factoryPid, cn); + } + private String httpPortsMsg(Object httpPort, Object httpsPort) { return (httpPort != null ? "HTTP " + httpPort + " " : " ") + (httpsPort != null ? "HTTPS " + httpsPort : ""); }