protected void assertNoProblems( Problems problems ) { if (problems.hasProblems()) { System.out.println(problems); } assertThat(problems.hasProblems(), is(false)); }
/** * Restores a repository using an existing backup. */ public Response restoreRepository( ServletContext context, HttpServletRequest request, String repositoryName, String backupName, RestoreOptions options ) throws RepositoryException { if (StringUtil.isBlank(backupName)) { throw new IllegalArgumentException("The name of the backup cannot be null"); } File backup = resolveBackup(context, backupName); logger.debug("Restoring repository '{0}' from backup '{1}' using '{2}'", repositoryName, backup, options); Session session = getSession(request, repositoryName, null); RepositoryManager repositoryManager = ((org.modeshape.jcr.api.Workspace)session.getWorkspace()).getRepositoryManager(); final Problems problems = repositoryManager.restoreRepository(backup, options); if (!problems.hasProblems()) { return Response.ok().build(); } List<JSONAble> response = new ArrayList<JSONAble>(problems.size()); for (Problem problem : problems) { RestException exception = problem.getThrowable() != null ? new RestException(problem.getMessage(), problem.getThrowable()) : new RestException(problem.getMessage()); response.add(exception); } return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(response).build(); }
if (!problems.hasProblems()) {
if (!problems.hasProblems()) {
@Ignore @Test public void shouldPerformOneBackupWhileChangesAreMade() throws Exception { JcrSession session = session(); session.getRootNode().addNode("extras"); final File testDirectory = this.testDirectory; final Stopwatch sw = new Stopwatch(); final CountDownLatch latch = new CountDownLatch(1); final AtomicReference<Problems> problems = new AtomicReference<Problems>(); new Thread(() -> { sw.start(); try { Problems backupProblems = session().getWorkspace().getRepositoryManager().backupRepository(testDirectory); problems.set(backupProblems); } catch (RepositoryException e) { throw new RuntimeException(e); } sw.stop(); latch.countDown(); }).start(); createSubgraph(session, "/extras", 1, 2, 2, false, new Stopwatch(), print ? System.out : null, null); latch.await(10, TimeUnit.SECONDS); assertThat(problems.get().hasProblems(), is(false)); printMessage("Time to perform backup: " + sw.getTotalDuration()); }
@Test public void shouldPerformMultipleBackups() throws Exception { for (int i = 0; i != 3; ++i) { File file = new File(testDirectory, "test" + i); Stopwatch sw = new Stopwatch(); sw.start(); Problems problems = session().getWorkspace().getRepositoryManager().backupRepository(file); sw.stop(); assertThat(problems.hasProblems(), is(false)); printMessage("Time to perform backup: " + sw.getMaximumDuration()); } }
@Test public void shouldPerformOneBackup() throws Exception { Stopwatch sw = new Stopwatch(); sw.start(); Problems problems = session().getWorkspace().getRepositoryManager().backupRepository(testDirectory); sw.stop(); assertThat(problems.hasProblems(), is(false)); printMessage("Time to perform backup: " + sw.getMaximumDuration()); }