]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms/src/org/argeo/cms/internal/kernel/FirstInit.java
Introduce org.argeo.maintenance
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / kernel / FirstInit.java
index 1c7cb149752a7c30ce6b56da3ad1f9db8da21929..98c2483cca13f4490caacea4019de2dfd223583c 100644 (file)
@@ -22,10 +22,10 @@ import org.apache.commons.io.FileUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.argeo.cms.CmsException;
+import org.argeo.cms.internal.http.HttpConstants;
 import org.argeo.cms.internal.jcr.RepoConf;
 import org.argeo.node.NodeConstants;
 import org.argeo.osgi.useradmin.UserAdminConf;
-import org.eclipse.equinox.http.jetty.JettyConstants;
 
 /**
  * Interprets framework properties in order to generate the initial deploy
@@ -56,35 +56,35 @@ class FirstInit {
                String httpPort = getFrameworkProp("org.osgi.service.http.port");
                String httpsPort = getFrameworkProp("org.osgi.service.http.port.secure");
                /// TODO make it more generic
-               String httpHost = getFrameworkProp(JettyConstants.PROPERTY_PREFIX + '.' + JettyConstants.HTTP_HOST);
-               String httpsHost = getFrameworkProp(JettyConstants.PROPERTY_PREFIX + '.' + JettyConstants.HTTPS_HOST);
+               String httpHost = getFrameworkProp(HttpConstants.JETTY_PROPERTY_PREFIX + HttpConstants.HTTP_HOST);
+               String httpsHost = getFrameworkProp(HttpConstants.JETTY_PROPERTY_PREFIX + HttpConstants.HTTPS_HOST);
 
                final Hashtable<String, Object> props = new Hashtable<String, Object>();
                // try {
                if (httpPort != null || httpsPort != null) {
                        if (httpPort != null) {
-                               props.put(JettyConstants.HTTP_PORT, httpPort);
-                               props.put(JettyConstants.HTTP_ENABLED, true);
+                               props.put(HttpConstants.HTTP_PORT, httpPort);
+                               props.put(HttpConstants.HTTP_ENABLED, true);
                        }
                        if (httpsPort != null) {
-                               props.put(JettyConstants.HTTPS_PORT, httpsPort);
-                               props.put(JettyConstants.HTTPS_ENABLED, true);
+                               props.put(HttpConstants.HTTPS_PORT, httpsPort);
+                               props.put(HttpConstants.HTTPS_ENABLED, true);
                                Path keyStorePath = KernelUtils.getOsgiInstancePath(KernelConstants.DEFAULT_KEYSTORE_PATH);
                                String keyStorePassword = getFrameworkProp(
-                                               JettyConstants.PROPERTY_PREFIX + '.' + JettyConstants.SSL_PASSWORD);
+                                               HttpConstants.JETTY_PROPERTY_PREFIX + HttpConstants.SSL_PASSWORD);
                                if (keyStorePassword == null)
                                        keyStorePassword = "changeit";
                                if (!Files.exists(keyStorePath))
                                        createSelfSignedKeyStore(keyStorePath, keyStorePassword);
-                               props.put(JettyConstants.SSL_KEYSTORETYPE, "PKCS12");
-                               props.put(JettyConstants.SSL_KEYSTORE, keyStorePath.toString());
-                               props.put(JettyConstants.SSL_PASSWORD, keyStorePassword);
-                               props.put(JettyConstants.SSL_WANTCLIENTAUTH, true);
+                               props.put(HttpConstants.SSL_KEYSTORETYPE, "PKCS12");
+                               props.put(HttpConstants.SSL_KEYSTORE, keyStorePath.toString());
+                               props.put(HttpConstants.SSL_PASSWORD, keyStorePassword);
+                               props.put(HttpConstants.SSL_WANTCLIENTAUTH, true);
                        }
                        if (httpHost != null)
-                               props.put(JettyConstants.HTTP_HOST, httpHost);
+                               props.put(HttpConstants.HTTP_HOST, httpHost);
                        if (httpsHost != null)
-                               props.put(JettyConstants.HTTPS_HOST, httpHost);
+                               props.put(HttpConstants.HTTPS_HOST, httpHost);
 
                        props.put(NodeConstants.CN, NodeConstants.DEFAULT);
                }
@@ -100,7 +100,8 @@ class FirstInit {
                String nodeRolesUri = getFrameworkProp(NodeConstants.ROLES_URI);
                String baseNodeRoleDn = NodeConstants.ROLES_BASEDN;
                if (nodeRolesUri == null) {
-                       File nodeRolesFile = new File(nodeBaseDir, baseNodeRoleDn + ".ldif");
+                       nodeRolesUri = baseNodeRoleDn + ".ldif";
+                       File nodeRolesFile = new File(nodeBaseDir, nodeRolesUri);
                        if (!nodeRolesFile.exists())
                                try {
                                        FileUtils.copyInputStreamToFile(getClass().getResourceAsStream(baseNodeRoleDn + ".ldif"),
@@ -108,7 +109,7 @@ class FirstInit {
                                } catch (IOException e) {
                                        throw new CmsException("Cannot copy demo resource", e);
                                }
-                       nodeRolesUri = nodeRolesFile.toURI().toString();
+                       // nodeRolesUri = nodeRolesFile.toURI().toString();
                }
                uris.add(nodeRolesUri);
 
@@ -116,7 +117,8 @@ class FirstInit {
                String userAdminUris = getFrameworkProp(NodeConstants.USERADMIN_URIS);
                if (userAdminUris == null) {
                        String demoBaseDn = "dc=example,dc=com";
-                       File businessRolesFile = new File(nodeBaseDir, demoBaseDn + ".ldif");
+                       userAdminUris = demoBaseDn + ".ldif";
+                       File businessRolesFile = new File(nodeBaseDir, userAdminUris);
                        if (!businessRolesFile.exists())
                                try {
                                        FileUtils.copyInputStreamToFile(getClass().getResourceAsStream(demoBaseDn + ".ldif"),
@@ -124,7 +126,7 @@ class FirstInit {
                                } catch (IOException e) {
                                        throw new CmsException("Cannot copy demo resource", e);
                                }
-                       userAdminUris = businessRolesFile.toURI().toString();
+                       // userAdminUris = businessRolesFile.toURI().toString();
                        log.warn("## DEV Using dummy base DN " + demoBaseDn);
                        // TODO downgrade security level
                }
@@ -142,11 +144,11 @@ class FirstInit {
                                        if (uri.startsWith("/") || uri.startsWith("./") || uri.startsWith("../"))
                                                u = new File(uri).getCanonicalFile().toURI();
                                        else if (!uri.contains("/")) {
-                                               u = KernelUtils.getOsgiInstanceUri(KernelConstants.DIR_NODE + '/' + uri);
-                                               // u = new URI(nodeBaseDir.toURI() + uri);
+                                               // u = KernelUtils.getOsgiInstanceUri(KernelConstants.DIR_NODE + '/' + uri);
+                                               u = new URI(uri);
                                        } else
                                                throw new CmsException("Cannot interpret " + uri + " as an uri");
-                               } else if (u.getScheme().equals("file")) {
+                               } else if (u.getScheme().equals(UserAdminConf.SCHEME_FILE)) {
                                        u = new File(u).getCanonicalFile().toURI();
                                }
                        } catch (Exception e) {