/** * Applies the closure to all elements contained in this iterable. * * @param closure the closure to apply to each element, may not be null * @throws NullPointerException if closure is null */ public void forEach(final Closure<? super E> closure) { IterableUtils.forEach(iterable, closure); }
@Test public void testRemovingAllWillNotRemoveLast() { // setup Set<Security> values = EnumUtils.values(Security.class); // execute IterableUtils.forEach(values, new ToggleClosure()); // validate IterableUtils.forEachButLast(values, new RemovedClosure()); assertTrue(fixture.contains(IterableUtils.get(values, values.size() - 1))); }
/** * Executes the given closure on each element in the collection. * <p> * If the input collection or closure is null, there is no change made. * * @param <T> the type of object the {@link Iterable} contains * @param <C> the closure type * @param collection the collection to get the input from, may be null * @param closure the closure to perform, may be null * @return closure * @deprecated since 4.1, use {@link IterableUtils#forEach(Iterable, Closure)} instead */ @Deprecated public static <T, C extends Closure<? super T>> C forAllDo(final Iterable<T> collection, final C closure) { if (closure != null) { IterableUtils.forEach(collection, closure); } return closure; }
@Override public void onEntityConfigChange(PipelineConfig pipelineConfig) { LOGGER.info("[Configuration Changed] Removing deleted jobs for pipeline {}.", pipelineConfig.name()); synchronized (BuildAssignmentService.this) { List<JobPlan> jobsToRemove; if (goConfigService.hasPipelineNamed(pipelineConfig.name())) { jobsToRemove = getMismatchingJobPlansFromUpdatedPipeline(pipelineConfig, jobPlans); } else { jobsToRemove = getAllJobPlansFromDeletedPipeline(pipelineConfig, jobPlans); } IterableUtils.forEach(jobsToRemove, o -> removeJob(o)); } } };
private Bundle getBundle(GoPluginDescriptor pluginDescriptor, File bundleLocation) { Bundle bundle = null; try { bundle = framework.getBundleContext().installBundle("reference:" + bundleLocation.toURI()); pluginDescriptor.setBundle(bundle); bundle.start(); if (pluginDescriptor.isInvalid()) { handlePluginInvalidation(pluginDescriptor, bundleLocation, bundle); return bundle; } IterableUtils.forEach(pluginChangeListeners, notifyPluginLoadedEvent(pluginDescriptor)); return bundle; } catch (Exception e) { pluginDescriptor.markAsInvalid(asList(e.getMessage()), e); LOGGER.error("Failed to load plugin: {}", bundleLocation, e); handlePluginInvalidation(pluginDescriptor, bundleLocation, bundle); throw new RuntimeException("Failed to load plugin: " + bundleLocation, e); } }
ChannelGraphNavigation(@NonNull View inputView, @NonNull Context context) { this.view = inputView; this.context = context; IterableUtils.forEach(ids.keySet(), new OnClickListenerClosure()); }
@NonNull public List<WiFiChannel> getWiFiChannels() { List<WiFiChannel> results = new ArrayList<>(); IterableUtils.forEach(wiFiChannelPairs, new WiFiChannelClosure(results)); return results; }
@NonNull String getData(String timestamp, @NonNull List<WiFiDetail> wiFiDetails) { final StringBuilder result = new StringBuilder(); result.append( String.format(Locale.ENGLISH, "Time Stamp|SSID|BSSID|Strength|Primary Channel|Primary Frequency|Center Channel|Center Frequency|Width (Range)|Distance|Security%n")); IterableUtils.forEach(wiFiDetails, new WiFiDetailClosure(timestamp, result)); return result.toString(); }
@NonNull private List<ScanResult> combineCache() { List<ScanResult> scanResults = new ArrayList<>(); IterableUtils.forEach(cachedScanResults, new CacheClosure(scanResults)); Collections.sort(scanResults, new ScanResultComparator()); return scanResults; }
private static List<GraphViewNotifier> makeGraphViewNotifiers() { List<GraphViewNotifier> graphViewNotifiers = new ArrayList<>(); IterableUtils.forEach(EnumUtils.values(WiFiBand.class), new WiFiBandClosure(graphViewNotifiers)); return graphViewNotifiers; }
@NonNull List<BaseSeries<DataPoint>> remove(@NonNull List<WiFiDetail> series) { List<BaseSeries<DataPoint>> removeSeries = new ArrayList<>(); IterableUtils.forEach(CollectionUtils.select(series, new RemovePredicate()), new RemoveClosure(removeSeries)); return removeSeries; }
@Override public void execute(WiFiBand wiFiBand) { IterableUtils.forEach(wiFiBand.getWiFiChannels().getWiFiChannelPairs(), new WiFiChannelClosure(graphViewNotifiers, wiFiBand)); } }
@Test public void testChannelsForUSAndSimilar() { List<String> countries = Arrays.asList("AS", "AU", "CA", "FM", "GU", "MP", "PA", "PR", "UM", "US", "VI"); IterableUtils.forEach(countries, new ChannelUSClosure()); }
@Test public void testChannelsForWorld() { List<String> countries = Arrays.asList(null, "GB", "XYZ", "MX", "AE"); IterableUtils.forEach(countries, new ChannelWorldClosure()); }
private List<WiFiDetail> withWiFiDetails() { List<WiFiDetail> results = new ArrayList<>(); for (int i = 0; i < 4; i++) { WiFiDetail wiFiDetail = withWiFiDetail("SSID" + i); results.add(wiFiDetail); } IterableUtils.forEach(results, new AddClosure()); for (int i = 0; i < GraphConstants.MAX_NOTSEEN_COUNT; i++) { fixture.add(results.get(0)); } return results; }
@Test public void testGetValue() { assertEquals(SSID_VALUES.size(), fixture.getValues().size()); IterableUtils.forEach(SSID_VALUES, new ContainsClosure()); }
@Test public void testOrdinals() { // setup Set<TestObject> expected = EnumUtils.values(TestObject.class); // execute Set<String> actual = EnumUtils.ordinals(TestObject.class); // validate assertEquals(expected.size(), actual.size()); IterableUtils.forEach(expected, new OrdinalsClosure(actual)); }
@Test public void testRemoveExpectedAllLeft() { // setup List<WiFiDetail> expected = withData(); // execute List<BaseSeries<DataPoint>> actual = fixture.remove(Collections.emptyList()); // validate assertTrue(actual.isEmpty()); IterableUtils.forEach(expected, new ContainsTrueClosure()); }
@Test public void testRemoveExpectNoneLeft() { // setup List<WiFiDetail> expected = withData(); // execute List<BaseSeries<DataPoint>> actual = fixture.remove(expected); // validate assertEquals(expected.size(), actual.size()); IterableUtils.forEach(expected, new ContainsFalseClosure()); }
@Test public void testRemoveNonExistingOne() { // setup List<WiFiDetail> expected = withData(); List<WiFiDetail> toRemove = Collections.singletonList(makeWiFiDetail("SSID-999")); // execute List<BaseSeries<DataPoint>> actual = fixture.remove(toRemove); // validate assertTrue(actual.isEmpty()); IterableUtils.forEach(expected, new ContainsTrueClosure()); }