My understanding is the Stream/lambda usage provides a "functional" way of doing things, (some say) better readability, and provides opportunities for parallel processing (i.e. the internal mechanisms leverage the multi-core/process artifactures a little better if I understand correctly).
Eric Bresie ebre...@gmail.com On Sun, Jan 29, 2023 at 8:56 AM Laszlo Kishalmi <laszlo.kisha...@gmail.com> wrote: > As of readability and debug-ability, I'm sorry to say but old-school wins. > > It starting to look like when you found the hammer everything seems to > be a nail... > > On 1/29/23 02:21, Łukasz Bownik wrote: > > I can't help it!!!! > > It's stronger than me!!!!! > > > > AAAAAARGH!!!!! > > > > ;););););) > > > > > > toURLs(Stream.of(prjs). > > flatMap(this::toArtifacts). > > flatMap(this::toLocations). > > collect(toList()); > > } > > > > private Stream toArtifacts(Project prj) { > > > > return Stream.of(findArtifactsByType(prj, ARTIFACT_TYPE_JAR)); > > } > > > > private Stream toLocations(Artifact a) { > > > > return Stream.of(a.getArtifactLocations()); > > } > > > > > > > > On Sun, Jan 29, 2023 at 9:44 AM Svata Dedic <svatopluk.de...@gmail.com> > > wrote: > > > >> And what about old school > >> > >> List<URI> uris = new ArrayList<>(prjs.length); > >> for (Project p : prjs) { > >> for (AntArtifact a : > >> AntArtifactQuery.findArtifactsByType(p, > >> JavaProjectConstants.ARTIFACT_TYPE_JAR)) { > >> uris.addAll(Arrays.asList(a.getArtifactLocations())); > >> } > >> } > >> return toURLs(uris); > >> ? Streams and lambdas are very modern, fancy and cool, but if it ever > >> comes to debugging are just pain in the ass. > >> > >> -S. > >> > >> On 29. 01. 23 6:59, name name2 wrote: > >>> toURLs( > >>> Arrays.asList(prjs).stream().flatMap( > >>> (prj) -> Arrays.asList( > >>> AntArtifactQuery.findArtifactsByType(prj, > >>> JavaProjectConstants.ARTIFACT_TYPE_JAR) > >>> ).stream()). > >>> flatMap((a) -> Arrays.asList(a.getArtifactLocations()).stream()). > >>> collect(Collectors.toList()) > >>> ); > >>> > >>> to > >>> > >>> toURLs( > >>> Arrays.stream(prjs).flatMap( > >>> (prj) -> Arrays.stream( > >>> AntArtifactQuery.findArtifactsByType(prj, > >>> JavaProjectConstants.ARTIFACT_TYPE_JAR) > >>> )). > >>> flatMap((a) -> Arrays.stream(a.getArtifactLocations())). > >>> collect(Collectors.toList()) > >>> ); > >>> > >>> > >>> Its ProjectClassPathModifier.java > >>> > >>> 8 files changed: > >>> > >>> - > >>> > >> > > extide\gradle\src\org\netbeans\modules\gradle\loaders\ExtensionPropertiesExtractor.java > >>> - > >>> > >> > > groovy\groovy.editor\src\org\netbeans\modules\groovy\editor\api\parser\GroovyParser.java > >>> - ide\db\src\org\netbeans\api\db\explorer\ConnectionManager.java > >>> - > >>> > >> > > java\java.project\src\org\netbeans\api\java\project\classpath\ProjectClassPathModifier.java > >>> - nb\autoupdate.pluginimporter > >>> - > src\org\netbeans\modules\autoupdate\pluginimporter\Installer.java > >>> - > >>> > >> > > test\unit\src\org\netbeans\modules\autoupdate\pluginimporter\InstallerTest.java > >>> - o.n.upgrader\src\org\netbeans\upgrade\AutoUpgrade.java > >>> - test\unit\src\org\netbeans\upgrade\AutoUpgradeTest.java > >>> > >>> > >>> Can i make PR or not? > >>> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org > >> For additional commands, e-mail: dev-h...@netbeans.apache.org > >> > >> For further information about the NetBeans mailing lists, visit: > >> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists > >> > >> > >> > >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org > For additional commands, e-mail: dev-h...@netbeans.apache.org > > For further information about the NetBeans mailing lists, visit: > https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists > > > >