@Override public boolean accept (final @Nonnull ResourceFile file) { return file.isFolder() && !ignoredFolders.contains(file.getName()); } };
@Override @Nonnull protected List<? extends T> computeResults() { // FIXME: it's not flyweight final List<T> results = new ArrayList<>(); for (final ResourceFile childFile : resourceFile.findChildren().results()) { if (childFile.isFolder()) { try { results.add(productCreator.createProduct(childFile)); } catch (IOException | NotFoundException e) { throw new RuntimeException(e); } } } return results; } }
/******************************************************************************************************************* * * ******************************************************************************************************************/ private void copyFolder (final @Nonnull ResourceFile sourceFolder, final @Nonnull ResourceFile targetFolder) throws IOException { log.trace("copyFolder({}, {}", sourceFolder, targetFolder); for (final ResourceFile sourceChild : sourceFolder.findChildren().results()) { if (!sourceChild.isFolder()) { log.trace(">>>> copying {} into {} ...", sourceChild, targetFolder); sourceChild.copyTo(targetFolder); } } for (final ResourceFile sourceChild : sourceFolder.findChildren().results()) { if (sourceChild.isFolder()) { copyFolder(sourceChild, targetFolder.createFolder(sourceChild.getName())); } } } }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Nonnull private ResourceFile createMockFolder (final @Nonnull String name) { final ResourceFile folder = mock(ResourceFile.class); when(folder.getName()).thenReturn(name); when(folder.getPath()).thenReturn(new ResourcePath(name)); when(folder.isData()).thenReturn(false); when(folder.isFolder()).thenReturn(true); when(folder.findChildren()).thenReturn(new ListFinder(new ArrayList<ResourceFile>())); when(folder.toString()).thenReturn(name); return folder; }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Nonnull private ResourceFile createMockFile (final @Nonnull String name) { final ResourceFile folder = mock(ResourceFile.class); when(folder.getName()).thenReturn(name); when(folder.getPath()).thenReturn(new ResourcePath(name)); when(folder.toString()).thenReturn(name); when(folder.isData()).thenReturn(true); when(folder.isFolder()).thenReturn(false); when(folder.findChildren()).thenReturn(new ListFinder(new ArrayList<ResourceFile>())); return folder; }
/******************************************************************************************************************* * * {@inheritDoc} * ******************************************************************************************************************/ @Override @Nonnull protected List<? extends Type> computeResults() { final List<Type> result = new ArrayList<>(); for (final ResourceFile childFile : parentFile.findChildren().withRecursion(true).results()) { if (childFile.isFolder()) { try { final String relativeUri = childFile.getPath().relativeTo(resourceRootPath).urlDecoded().asString(); result.add(siteProvider.get().getSite().find(typeClass).withRelativePath(relativeUri).result()); } catch (NotFoundException e) { log.error("", e); } } } return result; }