/******************************************************************************************************************* * * {@inheritDoc} * ******************************************************************************************************************/ @Override @Nonnull public PathAwareFinder findPhotos (final @Nonnull MediaFolder parent) { return parent.finderOf(p -> Arrays.asList( new VirtualMediaFolder(p, PATH_PLACES, "Places", this::placesFactory), new VirtualMediaFolder(p, PATH_SUBJECTS, "Subjects", this::subjectsFactory))); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Override @Nonnull public PathAwareFinder findPhotos(final @Nonnull MediaFolder parent) { return parent.finderOf( p1 -> IntStream.range(1999, 2016 + 1) // FIXME: use current year .mapToObj(x -> x) .map(year -> new VirtualMediaFolder(p1, Paths.get("" + year), "" + year, (EntityCollectionFactory)(p2 -> entriesFactory(p2, year)))) .collect(toList())); }
private VirtualMediaFolder (final @Nonnull Optional<? extends MediaFolder> optionalParent, final @Nonnull Path pathSegment, final @Nonnull String displayName, final @Nonnull Optional<EntityCollectionFactory> childrenSupplier, final @Nonnull Optional<EntityFinderFactory> finderFactory) { super((Identifiable)() -> new Id(absolutePath(optionalParent, pathSegment).toString()), new DefaultDisplayable(displayName)); this.path = absolutePath(optionalParent, pathSegment); this.optionalParent = optionalParent; this.finderFactory = finderFactory.orElse(mediaFolder -> mediaFolder.finderOf(childrenSupplier.get())); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @BeforeMethod public void setup() { // required for DCI stuff mediaFolder = mock(MediaFolder.class); when(mediaFolder.getPath()).thenReturn(Paths.get("/folder")); when(mediaFolder.toString()).thenReturn("Folder(\"/folder\"))"); // when(mediaFolder.toDumpString()).thenReturn("Folder(\"/folder\"))"); when(mediaFolder.finderOf(any(Finder8.class))).thenCallRealMethod(); when(mediaFolder.finderOf(any(Function.class))).thenCallRealMethod(); }