@Override public Repository copy(final OrganizationalUnit targetOU, final String newRepositoryName, final Path originRoot) { final Repository targetRepository = getRepository(targetOU, newRepositoryName); if (targetRepository.getDefaultBranch().isPresent()) { copy(originRoot, targetRepository.getDefaultBranch().get().getPath()); } return targetRepository; }
private Repository getRepository(final OrganizationalUnit targetOU, final String newRepositoryName) { return repositoryService.createRepository(targetOU, GitRepository.SCHEME.toString(), makeSafeRepositoryName(newRepositoryName), new RepositoryEnvironmentConfigurations()); }
@Override public void copy(Space space, Path originRoot, Path targetRoot) { final boolean branchExisted = (repositoryService.getRepository(space, targetRoot) != null); final org.uberfire.java.nio.file.Path nioTargetRepositoryRoot = Paths.convert(targetRoot); final org.uberfire.java.nio.file.Path originRepositoryRoot = Paths.convert(originRoot); ioService.startBatch(nioTargetRepositoryRoot.getFileSystem()); try { copyFolders(nioTargetRepositoryRoot, originRepositoryRoot); copyRootFiles(targetRoot, originRepositoryRoot); } finally { ioService.endBatch(); } if (!branchExisted) { fireNewBranchEvent(space, targetRoot, nioTargetRepositoryRoot); } }
@Test public void withExistingBranch() throws Exception { final org.uberfire.java.nio.file.Path nioFrom = fileSystemTestingUtils.getIoService().get(URI.create(PATH_PREFIX + "from")); final Path from = Paths.convert(nioFrom); fileSystemTestingUtils.getIoService().createDirectory(fileSystemTestingUtils.getIoService().get(URI.create(PATH_PREFIX + "from/sub1"))); fileSystemTestingUtils.getIoService().createDirectory(fileSystemTestingUtils.getIoService().get(URI.create(PATH_PREFIX + "from/sub2"))); fileSystemTestingUtils.getIoService().createFile(fileSystemTestingUtils.getIoService().get(URI.create(PATH_PREFIX + "from/sub1/file1.txt"))); fileSystemTestingUtils.getIoService().createFile(fileSystemTestingUtils.getIoService().get(URI.create(PATH_PREFIX + "from/sub1/file2.txt"))); fileSystemTestingUtils.getIoService().createFile(fileSystemTestingUtils.getIoService().get(URI.create(PATH_PREFIX + "from/sub2/file3.txt"))); final org.uberfire.java.nio.file.Path nioTo = fileSystemTestingUtils.getIoService().get(URI.create(PATH_PREFIX + "to")); final Path to = Paths.convert(nioTo); fileSystemTestingUtils.getIoService().createDirectory(nioTo); doReturn(mock(Repository.class)).when(repositoryService).getRepository(to); copier.copy(from, to); verify(ioService).startBatch(fileSystemTestingUtils.getFileSystem()); verify(ioService).endBatch(); verify(newBranchEventEvent, never()).fire(any(NewBranchEvent.class)); } }
@Before public void setUp() throws Exception { fileSystemTestingUtils.setup(); ioService = spy(fileSystemTestingUtils.getIoService()); copier = new RepositoryCopierImpl(ioService, newBranchEventEvent, configuredRepositories, repositoryService, sessionInfo); }
@Test public void withExistingBranch() throws Exception { final org.uberfire.java.nio.file.Path nioFrom = fileSystemTestingUtils.getIoService().get(URI.create(PATH_PREFIX + "from")); final Path from = Paths.convert(nioFrom); fileSystemTestingUtils.getIoService().createDirectory(fileSystemTestingUtils.getIoService().get(URI.create(PATH_PREFIX + "from/sub1"))); fileSystemTestingUtils.getIoService().createDirectory(fileSystemTestingUtils.getIoService().get(URI.create(PATH_PREFIX + "from/sub2"))); fileSystemTestingUtils.getIoService().createFile(fileSystemTestingUtils.getIoService().get(URI.create(PATH_PREFIX + "from/sub1/file1.txt"))); fileSystemTestingUtils.getIoService().createFile(fileSystemTestingUtils.getIoService().get(URI.create(PATH_PREFIX + "from/sub1/file2.txt"))); fileSystemTestingUtils.getIoService().createFile(fileSystemTestingUtils.getIoService().get(URI.create(PATH_PREFIX + "from/sub2/file3.txt"))); final org.uberfire.java.nio.file.Path nioTo = fileSystemTestingUtils.getIoService().get(URI.create(PATH_PREFIX + "to")); final Path to = Paths.convert(nioTo); fileSystemTestingUtils.getIoService().createDirectory(nioTo); doReturn(mock(Repository.class)).when(repositoryService).getRepository(to); copier.copy(from, to); verify(ioService).startBatch(fileSystemTestingUtils.getFileSystem()); verify(ioService).endBatch(); verify(newBranchEventEvent, never()).fire(any(NewBranchEvent.class)); } }
@Before public void setUp() throws Exception { fileSystemTestingUtils.setup(); ioService = spy(fileSystemTestingUtils.getIoService()); copier = new RepositoryCopierImpl(ioService, newBranchEventEvent, configuredRepositories, repositoryService, sessionInfo); }
@Override public void copy(final Path originRoot, final Path targetRoot) { final boolean branchExisted = (repositoryService.getRepository(targetRoot) != null); final org.uberfire.java.nio.file.Path nioTargetRepositoryRoot = Paths.convert(targetRoot); final org.uberfire.java.nio.file.Path originRepositoryRoot = Paths.convert(originRoot); ioService.startBatch(nioTargetRepositoryRoot.getFileSystem()); try { copyFolders(nioTargetRepositoryRoot, originRepositoryRoot); copyRootFiles(targetRoot, originRepositoryRoot); } finally { ioService.endBatch(); } if (!branchExisted) { fireNewBranchEvent(targetRoot, nioTargetRepositoryRoot); } }
@Test public void makeSafeName() throws Exception { assertEquals("hello", copier.makeSafeRepositoryName("hello")); assertEquals("test-this", copier.makeSafeRepositoryName("test this")); }
@Test public void makeSafeName() throws Exception { assertEquals("hello", copier.makeSafeRepositoryName("hello")); assertEquals("test-this", copier.makeSafeRepositoryName("test this")); }