public static <F, T> CloseableIterator<T> transform( Iterator<F> iterator, Function<? super F, ? extends T> function) { Iterator<T> transformedNotCloseable = Iterators.transform(iterator, function); Closeable closeable = (Closeable) (iterator instanceof CloseableIterator ? iterator : null); return new CloseableIteratorAdapter<T>(transformedNotCloseable, closeable); }
public static <T> CloseableIterator<T> filter( final Iterator<T> iterator, final Predicate<T> predicate) { UnmodifiableIterator<T> filteredNotCloseable = Iterators.filter(iterator, predicate); Closeable closeable = iterator instanceof Closeable ? (Closeable) iterator : null; return new CloseableIteratorAdapter<T>(filteredNotCloseable, closeable); }
public static <T> CloseableIterator<T> empty() { Iterator<T> empty = Collections.emptyIterator(); return new CloseableIteratorAdapter<T>(empty); }
public static <T> CloseableIterator<T> limit(final Iterator<T> iterator, int maxElements) { Iterator<T> limitedNotCloseable = Iterators.limit(iterator, maxElements); Closeable closeable = iterator instanceof Closeable ? (Closeable) iterator : null; return new CloseableIteratorAdapter<T>(limitedNotCloseable, closeable); }
/** * Helper method that consumes a catalog objects iterator keeping only the ones visible in the * current context. * * @param objects iterator over catalog objects * @param filter filter that checks if an element should be visible * @return an iterator over the catalog objects visible in the current context */ private <T extends CatalogInfo> CloseableIterator<T> filterIsolated( CloseableIterator<T> objects, Function<T, T> filter) { List<T> iterable = new ArrayList<>(); // consume the iterator while (objects.hasNext()) { T object = objects.next(); if (filter.apply(object) != null) { // this catalog object is visible in the current context iterable.add(object); } } // create an iterator for the visible catalog objects return new CloseableIteratorAdapter<>(iterable.iterator()); }
@Override public <T extends CatalogInfo> CloseableIterator<T> list( final Class<T> of, final Filter filter, @Nullable Integer offset, @Nullable Integer count, @Nullable SortBy... sortOrder) { if (sortOrder != null) { for (SortBy so : sortOrder) { if (sortOrder != null && !canSort(of, so.getPropertyName().getPropertyName())) { throw new IllegalArgumentException( "Can't sort objects of type " + of.getName() + " by " + so.getPropertyName()); } } } Iterable<T> iterable = iterable(of, filter, sortOrder); if (offset != null && offset.intValue() > 0) { iterable = Iterables.skip(iterable, offset.intValue()); } if (count != null && count.intValue() >= 0) { iterable = Iterables.limit(iterable, count.intValue()); } Iterator<T> iterator = iterable.iterator(); return new CloseableIteratorAdapter<T>(iterator); }
(Integer) null, (SortBy) null)) .andReturn(new CloseableIteratorAdapter<LayerInfo>(layers2.iterator())) .anyTimes(); replay(cat);
@SuppressWarnings("unchecked") @Override public <T extends CatalogInfo> CloseableIterator<T> list( Class<T> of, Filter filter, Integer offset, Integer count, SortBy sortBy) { return new CloseableIteratorAdapter<T>((Iterator<T>) layers.iterator()); } };
AttributeDescriptor ad = (AttributeDescriptor) property.evaluate(rd.getFeatureType()); if (ad == null) { return new CloseableIteratorAdapter<String>(new ArrayList<String>().iterator()); return new CloseableIteratorAdapter<String>(result.iterator());
return new CloseableIteratorAdapter<String>(result.iterator()); } catch (Exception e) { throw new ServiceException(
return new CloseableIteratorAdapter<String>(result.iterator()); } catch (Exception e) { throw new ServiceException(e, "Failed to retrieve the domain values",
expect(eoCatalog.list(eq(LayerGroupInfo.class), anyObject(Filter.class))) .andReturn( new CloseableIteratorAdapter<LayerGroupInfo>(Collections.emptyIterator())) .anyTimes(); replay(eoCatalog);
Iterator<LayerGroupInfo> it = groups.stream().filter(lg -> f.evaluate(lg)).iterator(); return new CloseableIteratorAdapter<LayerGroupInfo>(it); }) .anyTimes();
Integer count, SortBy sortBy) { return new CloseableIteratorAdapter<T>((Iterator<T>) layers.iterator());