Improve demo initialisation.
authorMathieu Baudier <mbaudier@argeo.org>
Tue, 17 Dec 2019 16:46:05 +0000 (17:46 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Tue, 17 Dec 2019 16:46:05 +0000 (17:46 +0100)
org.argeo.cms/src/org/argeo/cms/internal/kernel/InitUtils.java
org.argeo.cms/src/org/argeo/cms/internal/kernel/example-ou=roles,ou=node.ldif [new file with mode: 0644]
org.argeo.osgi.boot/src/org/argeo/osgi/a2/ProvisioningManager.java

index 045130ecbc63da7501eca8df75416fca06029d86..ef6a267c6e85150c1e566905412ec8066436537d 100644 (file)
@@ -157,12 +157,15 @@ class InitUtils {
                        String demoBaseDn = "dc=example,dc=com";
                        userAdminUris = demoBaseDn + ".ldif";
                        File businessRolesFile = new File(nodeBaseDir, userAdminUris);
+                       File systemRolesFile = new File(nodeBaseDir, "ou=roles,ou=node.ldif");
                        if (!businessRolesFile.exists())
                                try {
                                        FileUtils.copyInputStreamToFile(InitUtils.class.getResourceAsStream(demoBaseDn + ".ldif"),
                                                        businessRolesFile);
+                                       FileUtils.copyInputStreamToFile(
+                                                       InitUtils.class.getResourceAsStream("example-ou=roles,ou=node.ldif"), systemRolesFile);
                                } catch (IOException e) {
-                                       throw new CmsException("Cannot copy demo resource", e);
+                                       throw new CmsException("Cannot copy demo resources", e);
                                }
                        // userAdminUris = businessRolesFile.toURI().toString();
                        log.warn("## DEV Using dummy base DN " + demoBaseDn);
diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/example-ou=roles,ou=node.ldif b/org.argeo.cms/src/org/argeo/cms/internal/kernel/example-ou=roles,ou=node.ldif
new file mode 100644 (file)
index 0000000..ffa9073
--- /dev/null
@@ -0,0 +1,12 @@
+dn: cn=admin,ou=roles,ou=node
+objectClass: groupOfNames
+objectClass: top
+cn: admin
+member: uid=root,ou=People,dc=example,dc=com
+
+dn: cn=userAdmin,ou=roles,ou=node
+objectClass: groupOfNames
+objectClass: top
+member: cn=admin,ou=roles,ou=node
+cn: userAdmin
+
index dd7fa3b0eed89e7c30c2c3f8675fc18edf59718c..d8246f18d6b0ca8ef33339bf7edbd2347fad763c 100644 (file)
@@ -2,6 +2,7 @@ package org.argeo.osgi.a2;
 
 import java.io.File;
 import java.net.URI;
+import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.ArrayList;
@@ -62,9 +63,12 @@ public class ProvisioningManager {
                                                baseStr = baseStr.substring(1).replace('/', File.separatorChar);
                                        }
                                        Path base = Paths.get(baseStr);
-                                       FsA2Source source = new FsA2Source(base);
-                                       source.load();
-                                       addSource(source);
+                                       if (Files.exists(base)) {
+                                               FsA2Source source = new FsA2Source(base);
+                                               source.load();
+                                               addSource(source);
+                                               OsgiBootUtils.info("Registered " + uri + " as source");
+                                       }
                                }
                        }
                } catch (Exception e) {
@@ -85,7 +89,7 @@ public class ProvisioningManager {
                                                baseStr = '/' + baseStr.replace(File.separatorChar, '/');
                                        URI baseUri = new URI(A2Source.SCHEME_A2, null, null, 0, baseStr, null, null);
                                        registerSource(baseUri.toString());
-                                       OsgiBootUtils.info("Registered " + baseUri + " as default source");
+                                       OsgiBootUtils.debug("Default source from framework location " + frameworkLocation);
                                        return true;
                                }
                        }