@Override public Problems backupRepository( File backupDirectory ) throws RepositoryException { return backupRepository(backupDirectory, BackupOptions.DEFAULT); }
@Override public Problems restoreRepository( File backupDirectory ) throws RepositoryException { return restoreRepository(backupDirectory, RestoreOptions.DEFAULT); }
final JcrRepositoryManager repositoryManager() { if (repositoryManager == null) { try { lock.lock(); if (repositoryManager == null) repositoryManager = new JcrRepositoryManager(this); } finally { lock.unlock(); } } return repositoryManager; }
@Override public JcrRepositoryMonitor getRepositoryMonitor() throws RepositoryException { session().checkLive(); return repositoryMonitor(); }
@Override public Problems restoreRepository( File backupDirectory, RestoreOptions options ) throws RepositoryException { session().checkPermission(Path.ROOT_PATH, ModeShapePermissions.RESTORE); return repository().runningState().backupService().restoreRepository(repository(), backupDirectory, options); }
@Test @FixFor( "MODE-2440" ) public void shouldRestoreBinaryReferencesWhenExcludedFromBackup() throws Exception { loadBinaryContent(); verifyBinaryContent(); // Make the backup, and check that there are no problems ... BackupOptions backupOptions = new BackupOptions() { @Override public boolean includeBinaries() { return false; } }; Problems problems = session().getWorkspace().getRepositoryManager().backupRepository(backupDirectory, backupOptions); assertNoProblems(problems); // shutdown the repo and remove just the repo main store (not the binary store) assertTrue(repository().shutdown().get()); FileUtil.delete(backupRepoDir.getPath() + "/store"); // start a fresh empty repo and then restore just the data without binaries startRepositoryWithConfigurationFrom("config/backup-repo-config.json"); RestoreOptions restoreOptions = new RestoreOptions() { @Override public boolean includeBinaries() { return false; } }; problems = session().getWorkspace().getRepositoryManager().restoreRepository(backupDirectory, restoreOptions); assertNoProblems(problems); verifyBinaryContent(); }
final JcrRepositoryMonitor repositoryMonitor() throws RepositoryException { if (monitor == null) { try { lock.lock(); if (monitor == null) monitor = new JcrRepositoryMonitor(session()); } finally { lock.unlock(); } } return monitor; }
@Test @FixFor( "MODE-2253" ) public void shouldBackupAndRestoreWithExistingUserTransaction() throws Exception { loadContent(); startTransaction(); Problems problems = session().getWorkspace().getRepositoryManager().backupRepository(backupDirectory); assertNoProblems(problems); problems = session().getWorkspace().getRepositoryManager().restoreRepository(backupDirectory); assertNoProblems(problems); rollbackTransaction(); assertContentInWorkspace(repository(), "default"); assertContentInWorkspace(repository(), "ws2"); assertContentInWorkspace(repository(), "ws3"); }
@Override public Problems restoreRepository( File backupDirectory, RestoreOptions options ) throws RepositoryException { session().checkPermission(Path.ROOT_PATH, ModeShapePermissions.RESTORE); return repository().runningState().backupService().restoreRepository(repository(), backupDirectory, options); }
@Override public JcrRepositoryMonitor getRepositoryMonitor() throws RepositoryException { session().checkLive(); return repositoryMonitor(); }
final JcrRepositoryMonitor repositoryMonitor() throws RepositoryException { if (monitor == null) { try { lock.lock(); if (monitor == null) monitor = new JcrRepositoryMonitor(session()); } finally { lock.unlock(); } } return monitor; }
@Test public void shouldBackupRepositoryWithMultipleWorkspaces() throws Exception { loadContent(); Problems problems = session().getWorkspace().getRepositoryManager().backupRepository(backupDirectory); assertNoProblems(problems); Problems restoreProblems = newSession.getWorkspace().getRepositoryManager().restoreRepository(backupDirectory); assertNoProblems(restoreProblems); } finally { Problems backupProblems = newSession.getWorkspace().getRepositoryManager().backupRepository(backupDirectory2); assertNoProblems(backupProblems); } finally {
@Override public Problems backupRepository( File backupDirectory, BackupOptions backupOptions ) throws RepositoryException { session().checkPermission(Path.ROOT_PATH, ModeShapePermissions.BACKUP); return repository().runningState().backupService().backupRepository(backupDirectory, backupOptions); }
@Override public Problems backupRepository( File backupDirectory ) throws RepositoryException { return backupRepository(backupDirectory, BackupOptions.DEFAULT); }
@Override public Problems restoreRepository( File backupDirectory ) throws RepositoryException { return restoreRepository(backupDirectory, RestoreOptions.DEFAULT); }
final JcrRepositoryManager repositoryManager() { if (repositoryManager == null) { try { lock.lock(); if (repositoryManager == null) repositoryManager = new JcrRepositoryManager(this); } finally { lock.unlock(); } } return repositoryManager; }
Problems problems = session().getWorkspace().getRepositoryManager().backupRepository(backupDirectory); assertNoProblems(problems); Problems restoreProblems = newSession.getWorkspace().getRepositoryManager().restoreRepository(backupDirectory); assertNoProblems(restoreProblems); } finally {
@Override public Problems backupRepository( File backupDirectory, BackupOptions backupOptions ) throws RepositoryException { session().checkPermission(Path.ROOT_PATH, ModeShapePermissions.BACKUP); return repository().runningState().backupService().backupRepository(backupDirectory, backupOptions); }
private void makeBackup(BackupOptions options) throws RepositoryException { TestingUtil.waitUntilFolderCleanedUp(backupDirectory.getPath()); JcrSession session = repository().login(); try { Problems problems = session.getWorkspace().getRepositoryManager().backupRepository(backupDirectory, options); assertNoProblems(problems); } finally { session.logout(); } }
@Test @FixFor( "MODE-2440" ) public void shouldRestoreLegacy450BackupWithCompressedBinaries() throws Exception { // extract the old repo backup File legacyBackupDir = extractZip("legacy_backup/repoBackups450.zip", this.backupArea); assertTrue("Zip content not extracted correctly", legacyBackupDir.exists() && legacyBackupDir.canRead() && legacyBackupDir.isDirectory()); Problems problems = session().getWorkspace().getRepositoryManager().restoreRepository(legacyBackupDir); assertNoProblems(problems); verifyBinaryContent(); }