X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FCmsDeployment.java;h=57ce898097c61cfe05c14068e684fd0bad447a3f;hb=3c7803ca05e2b0276d635e64046d924d3f1884c9;hp=751ff6249327771eaaf239db5a564ca36669a516;hpb=b97005030b1e0469fcc6dd6a35adb0c134131eaa;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 751ff6249..57ce89809 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 @@ -11,6 +11,7 @@ import java.lang.management.ManagementFactory; import java.net.URL; import java.nio.file.Files; import java.nio.file.Path; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -47,6 +48,7 @@ import org.argeo.cms.internal.http.HttpUtils; import org.argeo.jcr.Jcr; import org.argeo.jcr.JcrException; import org.argeo.jcr.JcrUtils; +import org.argeo.maintenance.backup.LogicalRestore; import org.argeo.naming.LdapAttrs; import org.argeo.osgi.useradmin.UserAdminConf; import org.argeo.util.LangUtils; @@ -292,6 +294,16 @@ public class CmsDeployment implements NodeDeployment { // home prepareDataModel(NodeConstants.NODE_REPOSITORY, deployedNodeRepository, publishAsLocalRepo); + // init from backup + Path restorePath = Paths.get(System.getProperty("user.dir"), "restore"); + if (Files.exists(restorePath)) { + if (log.isDebugEnabled()) + log.debug("Found backup " + restorePath + ", restoring it..."); + LogicalRestore logicalRestore = new LogicalRestore(bc, deployedNodeRepository, restorePath); + KernelUtils.doAsDataAdmin(logicalRestore); + log.info("Restored backup from " + restorePath); + } + // init from repository Collection> initRepositorySr; try { @@ -581,6 +593,7 @@ public class CmsDeployment implements NodeDeployment { if (cn != null) { List publishAsLocalRepo = new ArrayList<>(); if (cn.equals(NodeConstants.NODE_REPOSITORY)) { +// JackrabbitDataModelMigration.clearRepositoryCaches(repoContext.getRepositoryConfig()); prepareNodeRepository(repoContext.getRepository(), publishAsLocalRepo); // TODO separate home repository prepareHomeRepository(repoContext.getRepository());