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;
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;
// home
prepareDataModel(NodeConstants.NODE_REPOSITORY, deployedNodeRepository, publishAsLocalRepo);
+ // init from backup
+ if (deployConfig.isFirstInit()) {
+ 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<ServiceReference<Repository>> initRepositorySr;
try {
if (cn != null) {
List<String> publishAsLocalRepo = new ArrayList<>();
if (cn.equals(NodeConstants.NODE_REPOSITORY)) {
+// JackrabbitDataModelMigration.clearRepositoryCaches(repoContext.getRepositoryConfig());
prepareNodeRepository(repoContext.getRepository(), publishAsLocalRepo);
// TODO separate home repository
prepareHomeRepository(repoContext.getRepository());