X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.maintenance%2Fsrc%2Forg%2Fargeo%2Fmaintenance%2Fbackup%2FLogicalRestore.java;h=a12bb41c907204c122dcf02be9a1032d0a88116e;hb=54440e81b1446dc13897f4add75ea6607f30a8de;hp=145c5bb3dac374f0bf974bba99b2682dd5d0e744;hpb=2606b4b145577c4767c37c464e3f517e49a98100;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.maintenance/src/org/argeo/maintenance/backup/LogicalRestore.java b/org.argeo.maintenance/src/org/argeo/maintenance/backup/LogicalRestore.java index 145c5bb3d..a12bb41c9 100644 --- a/org.argeo.maintenance/src/org/argeo/maintenance/backup/LogicalRestore.java +++ b/org.argeo.maintenance/src/org/argeo/maintenance/backup/LogicalRestore.java @@ -13,6 +13,8 @@ import javax.jcr.Session; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.argeo.api.NodeConstants; +import org.argeo.api.NodeUtils; import org.argeo.jcr.Jcr; import org.argeo.jcr.JcrException; import org.argeo.jcr.JcrUtils; @@ -37,27 +39,22 @@ public class LogicalRestore implements Runnable { Path workspaces = basePath.resolve(LogicalBackup.WORKSPACES_BASE); try { // import jcr:system first - try (DirectoryStream workspaceDirs = Files.newDirectoryStream(workspaces)) { - dirs: for (Path workspacePath : workspaceDirs) { - String workspaceName = workspacePath.getFileName().toString(); - try (DirectoryStream xmls = Files.newDirectoryStream(workspacePath, "*.xml")) { - for (Path xml : xmls) { - if (xml.getFileName().toString().equals("jcr:system.xml")) { - Session session = JcrUtils.loginOrCreateWorkspace(repository, workspaceName); - try (InputStream in = Files.newInputStream(xml)) { - session.getWorkspace().importXML("/", in, - ImportUUIDBehavior.IMPORT_UUID_COLLISION_REPLACE_EXISTING); - if (log.isDebugEnabled()) - log.debug("Restored " + xml + " to workspace " + workspaceName); - break dirs; - } finally { - Jcr.logout(session); - } - } - } - } - } - } +// Session defaultSession = NodeUtils.openDataAdminSession(repository, null); +// try (DirectoryStream xmls = Files.newDirectoryStream( +// workspaces.resolve(NodeConstants.SYS_WORKSPACE + LogicalBackup.JCR_VERSION_STORAGE_PATH), +// "*.xml")) { +// for (Path xml : xmls) { +// try (InputStream in = Files.newInputStream(xml)) { +// defaultSession.getWorkspace().importXML(LogicalBackup.JCR_VERSION_STORAGE_PATH, in, +// ImportUUIDBehavior.IMPORT_UUID_COLLISION_REPLACE_EXISTING); +// if (log.isDebugEnabled()) +// log.debug("Restored " + xml + " to " + defaultSession.getWorkspace().getName() + ":"); +// } +// } +// } finally { +// Jcr.logout(defaultSession); +// } + // non-system content try (DirectoryStream workspaceDirs = Files.newDirectoryStream(workspaces)) { for (Path workspacePath : workspaceDirs) { @@ -65,7 +62,7 @@ public class LogicalRestore implements Runnable { Session session = JcrUtils.loginOrCreateWorkspace(repository, workspaceName); try (DirectoryStream xmls = Files.newDirectoryStream(workspacePath, "*.xml")) { xmls: for (Path xml : xmls) { - if (xml.getFileName().toString().equals("jcr:system.xml")) + if (xml.getFileName().toString().startsWith("rep:")) continue xmls; try (InputStream in = Files.newInputStream(xml)) { session.getWorkspace().importXML("/", in,