CFV: New Lambda committer: Paul Sandoz

Brian Goetz brian.goetz at oracle.com
Wed Oct 24 13:44:19 PDT 2012


I hereby nominate Paul Sandoz to Lambda Committer.

Paul works in the Core Libraries team at Oracle, and has already 
contributed numerous change sets to the Lambda repository.  [3] He is 
working on the Lambdafication of Collections.

Votes are due by Nov 7, 2012.

Only current Lambda Committers [1] are eligible to vote on
this nomination.

For Lazy Consensus voting instructions, see [2].

-Brian Goetz


[1] http://openjdk.java.net/census
[2] http://openjdk.java.net/projects/#committer-vote
[3] Sampling of changesets contributed by Paul:

changeset:   6081:8ab20b8fe27a
user:        psandoz
date:        Mon Oct 15 15:45:20 2012 -0700
files:       src/share/classes/java/util/streams/AbstractPipeline.java 
src/share/classes/java/util/streams/ParallelPipelineHelper.java 
src/share/classes/java/util/streams/PipelineHelper.java 
src/share/classes/java/util/streams/StreamAccessor.java 
src/share/classes/java/util/streams/Streams.java 
src/share/classes/java/util/streams/ops/StatefulOp.java
description:
Replace StreamAccessor.into with StreamAccessor.forEach. Sink protocol 
is embedded in PipelineHelper.


changeset:   6080:b04cf326ce82
user:        psandoz
date:        Mon Oct 15 15:45:10 2012 -0700
files: 
src/share/classes/java/util/streams/ParallelPipelineHelper.java 
src/share/classes/java/util/streams/Spliterator.java 
src/share/classes/java/util/streams/Streams.java 
src/share/classes/java/util/streams/ops/AbstractTask.java 
src/share/classes/java/util/streams/ops/CumulateOp.java 
src/share/classes/java/util/streams/ops/FoldOp.java 
src/share/classes/java/util/streams/ops/ForEachOp.java 
src/share/classes/java/util/streams/ops/GroupByOp.java 
src/share/classes/java/util/streams/ops/MatchOp.java 
src/share/classes/java/util/streams/ops/Nodes.java 
src/share/classes/java/util/streams/ops/TreeUtils.java 
src/share/classes/java/util/streams/ops/UniqOp.java
description:
Replace Spliterator.into with Spliterator.forEach. Sink protocol is 
embedded in ParallelPipelineHelper.


changeset:   6079:f55d346fb998
user:        psandoz
date:        Mon Oct 15 15:44:27 2012 -0700
files:       src/share/classes/java/util/streams/AbstractPipeline.java 
src/share/classes/java/util/streams/StreamBuilder.java 
src/share/classes/java/util/streams/StreamBuilders.java 
src/share/classes/java/util/streams/ValuePipeline.java 
src/share/classes/java/util/streams/ops/ConcatOp.java 
src/share/classes/java/util/streams/ops/CumulateOp.java 
src/share/classes/java/util/streams/ops/FlatMapOp.java 
src/share/classes/java/util/streams/ops/GroupByOp.java 
src/share/classes/java/util/streams/ops/LimitOp.java 
src/share/classes/java/util/streams/ops/MapLimitOp.java 
src/share/classes/java/util/streams/ops/Node.java 
src/share/classes/java/util/streams/ops/NodeBuilder.java 
src/share/classes/java/util/streams/ops/Nodes.java 
src/share/classes/java/util/streams/ops/StatefulOp.java 
src/share/classes/java/util/streams/ops/ToArrayOp.java 
src/share/classes/java/util/streams/ops/TreeUtils.java 
src/share/classes/java/util/streams/ops/UniqOp.java 
test-ng/tests/org/openjdk/tests/java/util/streams/StreamBuilderTest.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/NodeBuilderTest.java
description:
Refactor StreamBuilder to be a NodeBuilder that extends from Node.


changeset:   6078:121debc3d4be
user:        psandoz
date:        Mon Oct 15 15:35:20 2012 -0700
files:       src/share/classes/java/util/LinkedHashMap.java 
src/share/classes/java/util/LinkedHashSet.java 
src/share/classes/java/util/List.java 
src/share/classes/java/util/Set.java 
src/share/classes/java/util/SortedMap.java 
src/share/classes/java/util/SortedSet.java 
src/share/classes/java/util/streams/AbstractPipeline.java 
src/share/classes/java/util/streams/PipelineHelper.java 
src/share/classes/java/util/streams/Stream.java 
src/share/classes/java/util/streams/StreamAccessor.java 
src/share/classes/java/util/streams/StreamOpFlags.java 
src/share/classes/java/util/streams/Streams.java 
src/share/classes/java/util/streams/ops/BiFilterOp.java 
src/share/classes/java/util/streams/ops/BiMapOp.java 
src/share/classes/java/util/streams/ops/BiTeeOp.java 
src/share/classes/java/util/streams/ops/ConcatOp.java 
src/share/classes/java/util/streams/ops/CumulateOp.java 
src/share/classes/java/util/streams/ops/FilterOp.java 
src/share/classes/java/util/streams/ops/FlatMapOp.java 
src/share/classes/java/util/streams/ops/GroupByOp.java 
src/share/classes/java/util/streams/ops/IntermediateOp.java 
src/share/classes/java/util/streams/ops/LimitOp.java 
src/share/classes/java/util/streams/ops/MapExtractKeysOp.java 
src/share/classes/java/util/streams/ops/MapExtractValuesOp.java 
src/share/classes/java/util/streams/ops/MapFilterKeysOp.java 
src/share/classes/java/util/streams/ops/MapFilterValuesOp.java 
src/share/classes/java/util/streams/ops/MapLimitOp.java 
src/share/classes/java/util/streams/ops/MapMapValuesOp.java 
src/share/classes/java/util/streams/ops/MapOp.java 
src/share/classes/java/util/streams/ops/MapSkipOp.java 
src/share/classes/java/util/streams/ops/MapSwapOp.java 
src/share/classes/java/util/streams/ops/MappedOp.java 
src/share/classes/java/util/streams/ops/SkipOp.java 
src/share/classes/java/util/streams/ops/SortedOp.java 
src/share/classes/java/util/streams/ops/TeeOp.java 
src/share/classes/java/util/streams/ops/ToArrayOp.java 
src/share/classes/java/util/streams/ops/TreeUtils.java 
src/share/classes/java/util/streams/ops/UniqOp.java 
test-ng/tests/org/openjdk/tests/java/util/streams/StreamOpFlagsTest.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/StreamOpTestCase.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/ToArrayOpTest.java
description:
Declarative flags defined using an enum.


changeset:   6077:c6f42702e95f
user:        psandoz
date:        Mon Oct 15 15:31:14 2012 -0700
files:       src/share/classes/java/util/streams/ops/UniqOp.java 
test-ng/tests/org/openjdk/tests/java/util/LambdaTestHelpers.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/StreamOpTestCase.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/UniqOpTest.java
description:
Implement UniqOp.evaluateParallel, which currently does not preserve 
encounter order. Extenstions to testing infrastructure.


changeset:   6076:9ee3890658f9
user:        psandoz
date:        Mon Oct 15 15:20:35 2012 -0700
files:       src/share/classes/java/util/LinkedHashMap.java 
src/share/classes/java/util/LinkedHashSet.java 
src/share/classes/java/util/List.java 
src/share/classes/java/util/Set.java 
src/share/classes/java/util/SortedMap.java 
src/share/classes/java/util/SortedSet.java 
src/share/classes/java/util/streams/AbstractPipeline.java 
src/share/classes/java/util/streams/Spliterator.java 
src/share/classes/java/util/streams/Stream.java 
src/share/classes/java/util/streams/StreamAccessor.java 
src/share/classes/java/util/streams/Streams.java 
src/share/classes/java/util/streams/ops/FlatMapOp.java 
src/share/classes/java/util/streams/ops/GroupByOp.java 
src/share/classes/java/util/streams/ops/SortedOp.java 
src/share/classes/java/util/streams/ops/ToArrayOp.java 
src/share/classes/java/util/streams/ops/TreeUtils.java
description:
Add encounter order flag to stream accessors and operations. Implement 
GroupOp.evaluateParallel, which currently does not preserve encounter order.


changeset:   6075:6e0ca4cca828
user:        psandoz
date:        Mon Oct 15 15:06:03 2012 -0700
files:       src/share/classes/java/util/streams/AbstractPipeline.java 
src/share/classes/java/util/streams/ParallelPipelineHelper.java 
src/share/classes/java/util/streams/PipelineHelper.java 
src/share/classes/java/util/streams/ops/AbstractTask.java 
src/share/classes/java/util/streams/ops/ConcatOp.java 
src/share/classes/java/util/streams/ops/CumulateOp.java 
src/share/classes/java/util/streams/ops/EvaluableOp.java 
src/share/classes/java/util/streams/ops/FindAnyOp.java 
src/share/classes/java/util/streams/ops/FindFirstOp.java 
src/share/classes/java/util/streams/ops/FoldOp.java 
src/share/classes/java/util/streams/ops/ForEachOp.java 
src/share/classes/java/util/streams/ops/GroupByOp.java 
src/share/classes/java/util/streams/ops/LimitOp.java 
src/share/classes/java/util/streams/ops/MapLimitOp.java 
src/share/classes/java/util/streams/ops/MatchOp.java 
src/share/classes/java/util/streams/ops/ParallelOp.java 
src/share/classes/java/util/streams/ops/ReduceByOp.java 
src/share/classes/java/util/streams/ops/StatefulOp.java 
src/share/classes/java/util/streams/ops/TerminalOp.java 
src/share/classes/java/util/streams/ops/ToArrayOp.java 
src/share/classes/java/util/streams/ops/TreeUtils.java
description:
Replace ParallelOp with EvaluableOp for sequential and parallel 
evaluation. Remove ParallelPipelineHelper.suggestedDepth as 
AbstractPipeline should, in the future, decide whether to evaluate 
sequentially or in parallel.


changeset:   6060:3761ee74342c
user:        psandoz
date:        Thu Oct 04 15:34:07 2012 -0700
files:       src/share/classes/java/util/Arrays.java
description:
fix bounds check off by one error.


changeset:   6040:56ec158d6c32
user:        psandoz
date:        Fri Sep 21 12:39:38 2012 -0400
files:       src/share/classes/java/util/Iterators.java 
src/share/classes/java/util/streams/MapPipeline.java 
src/share/classes/java/util/streams/MapStream.java 
src/share/classes/java/util/streams/Stream.java 
src/share/classes/java/util/streams/ValuePipeline.java 
src/share/classes/java/util/streams/ops/ConcatOp.java 
src/share/classes/java/util/streams/ops/TreeUtils.java 
test-ng/tests/org/openjdk/tests/java/util/LambdaTestHelpers.java 
test-ng/tests/org/openjdk/tests/java/util/streams/MapStreamTestDataProvider.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/BiMatchOpTest.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/ConcatOpTest.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/ForEachOpTest.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/StreamOpTestCase.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/TeeOpTest.java
description:
Add Stream.concat, MapStream.concat


changeset:   6344:38236c556c72
user:        briangoetz
date:        Wed Oct 24 15:39:53 2012 -0400
files:       src/share/classes/java/util/streams/AbstractPipeline.java 
src/share/classes/java/util/streams/ops/ConcatOp.java 
src/share/classes/java/util/streams/ops/CumulateOp.java 
src/share/classes/java/util/streams/ops/FilterOp.java 
src/share/classes/java/util/streams/ops/FlagDeclaringOp.java 
src/share/classes/java/util/streams/ops/FlatMapOp.java 
src/share/classes/java/util/streams/ops/IntermediateOp.java 
src/share/classes/java/util/streams/ops/LimitOp.java 
src/share/classes/java/util/streams/ops/MapOp.java 
src/share/classes/java/util/streams/ops/SkipOp.java 
src/share/classes/java/util/streams/ops/SortedOp.java 
src/share/classes/java/util/streams/ops/StatefulOp.java 
src/share/classes/java/util/streams/ops/TeeOp.java 
src/share/classes/java/util/streams/ops/UniqOp.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/FlagOpTest.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/StreamOpTestCase.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/UniqOpTest.java
description:
Provide flag information to ops through wrapIterator/wrapSink, so they can
use it to optimize the pipeline formation.
Contributed-By: paul.sandoz at oracle.com


changeset:   6343:c01df4ef1790
user:        briangoetz
date:        Wed Oct 24 14:41:29 2012 -0400
files:       src/share/classes/java/util/streams/AbstractPipeline.java 
src/share/classes/java/util/streams/PipelineHelper.java 
src/share/classes/java/util/streams/ops/ConcatOp.java 
src/share/classes/java/util/streams/ops/GroupByOp.java 
src/share/classes/java/util/streams/ops/Nodes.java 
src/share/classes/java/util/streams/ops/ToArrayOp.java 
src/share/classes/java/util/streams/ops/TreeUtils.java 
src/share/classes/java/util/streams/ops/UniqOp.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/TeeOpTest.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/ToArrayOpTest.java
description:
Refactor in PipelineHelper to expose fewer public methods; move output
collection into helper where it can take advantage of known source
provenance; optimizations in ToArrayOp
Contributed-By: paul.sandoz at oracle.com


changeset:   6342:d297a36079ce
user:        briangoetz
date:        Wed Oct 24 11:31:21 2012 -0400
files:       src/share/classes/java/util/streams/AbstractPipeline.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/StreamOpTestCase.java
description:
Fix errors in handling of parallel streams that have already been pulled 
from; better testing of mixed mode parallel streams
Contributed-By: paul.sandoz at oracle.com


changeset:   6341:f5f46449a65e
user:        briangoetz
date:        Wed Oct 24 11:26:38 2012 -0400
files:       src/share/classes/java/util/streams/ops/GroupByOp.java
description:
Eliminate null check on hot path of groupBy
Contributed-By: paul.sandoz at oracle.com


changeset:   6339:532efd9be743
user:        briangoetz
date:        Mon Oct 22 17:04:59 2012 -0400
files: 
src/share/classes/java/util/streams/ops/FlagDeclaringOp.java 
src/share/classes/java/util/streams/ops/GroupByOp.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/GroupByOpTest.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/StreamOpTestCase.java
description:
Implement groupBy for both ordered and unordered sources
Contributed-By: paul.sandoz at oracle.com


changeset:   6332:80332caeac10
user:        briangoetz
date:        Sat Oct 20 13:44:10 2012 -0400
files:       src/share/classes/java/util/streams/AbstractPipeline.java 
src/share/classes/java/util/streams/ParallelPipelineHelper.java 
src/share/classes/java/util/streams/PipelineHelper.java 
src/share/classes/java/util/streams/Streams.java 
src/share/classes/java/util/streams/ValuePipeline.java 
src/share/classes/java/util/streams/ops/AbstractTask.java 
src/share/classes/java/util/streams/ops/CollectorOp.java 
src/share/classes/java/util/streams/ops/ConcatOp.java 
src/share/classes/java/util/streams/ops/CumulateOp.java 
src/share/classes/java/util/streams/ops/GroupByOp.java 
src/share/classes/java/util/streams/ops/LimitOp.java 
src/share/classes/java/util/streams/ops/Node.java 
src/share/classes/java/util/streams/ops/NodeBuilder.java 
src/share/classes/java/util/streams/ops/Nodes.java 
src/share/classes/java/util/streams/ops/StatefulOp.java 
src/share/classes/java/util/streams/ops/ToArrayOp.java 
src/share/classes/java/util/streams/ops/TreeUtils.java 
src/share/classes/java/util/streams/ops/UniqOp.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/ConcatOpTest.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/CumulateOpTest.java test-ng/tests/org/openjdk/tests/java/util/streams/ops/GroupByOpTest.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/NodeBuilderTest.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/NodeTest.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/ToArrayOpTest.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/UniqOpTest.java
description:
Refactor of StreamBuilder/Node/NodeBuilder
Contributed-by: paul.sandoz at oracle.com


changeset:   6064:08522cdf738c
user:        briangoetz
date:        Fri Oct 05 12:18:50 2012 -0400
files:       src/share/classes/java/util/streams/StreamBuilders.java 
src/share/classes/java/util/streams/ops/ToArrayOp.java 
src/share/classes/java/util/streams/ops/TreeUtils.java 
test-ng/tests/org/openjdk/tests/java/util/streams/StreamBuilderTest.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/ToArrayOpTest.java
description:
Implement parallel toArray
Contributed-By: paul.sandoz at oracle.com


changeset:   6063:d52c8d0c45e8
user:        briangoetz
date:        Fri Oct 05 12:09:21 2012 -0400
files:       src/share/classes/java/util/streams/ops/GroupByOp.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/GroupByOpTest.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/StreamOpTestCase.java
description:
Support for parallel groupBy
Contributed-By: paul.sandoz at oracle.com


changeset:   6062:f847b6e6c00b
user:        briangoetz
date:        Fri Oct 05 12:03:03 2012 -0400
files:       src/share/classes/java/util/streams/AbstractPipeline.java 
src/share/classes/java/util/streams/ParallelPipelineHelper.java 
src/share/classes/java/util/streams/PipelineHelper.java 
src/share/classes/java/util/streams/ops/ConcatOp.java 
src/share/classes/java/util/streams/ops/CumulateOp.java 
src/share/classes/java/util/streams/ops/FindAnyOp.java 
src/share/classes/java/util/streams/ops/FindFirstOp.java 
src/share/classes/java/util/streams/ops/FoldOp.java 
src/share/classes/java/util/streams/ops/ForEachOp.java 
src/share/classes/java/util/streams/ops/GroupByOp.java 
src/share/classes/java/util/streams/ops/IntermediateOp.java 
src/share/classes/java/util/streams/ops/LimitOp.java 
src/share/classes/java/util/streams/ops/MapLimitOp.java 
src/share/classes/java/util/streams/ops/MatchOp.java 
src/share/classes/java/util/streams/ops/ParallelOp.java 
src/share/classes/java/util/streams/ops/ReduceByOp.java 
src/share/classes/java/util/streams/ops/SeedlessFoldOp.java 
src/share/classes/java/util/streams/ops/ShortCircuitTerminalOp.java 
src/share/classes/java/util/streams/ops/StatefulOp.java 
src/share/classes/java/util/streams/ops/TerminalOp.java 
src/share/classes/java/util/streams/ops/ToArrayOp.java 
src/share/classes/java/util/streams/ops/TreeUtils.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/LimitOpTest.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/StreamOpTestCase.java
description:
Refactor ParallelOpHelper into PipelineHelper/ParallelPipelineHelper
Contributed-By: paul.sandoz at oracle.com


changeset:   6056:070d0422ed94
user:        briangoetz
date:        Thu Sep 27 14:19:35 2012 -0400
files:       src/share/classes/java/util/streams/Streams.java 
test-ng/tests/org/openjdk/tests/java/util/streams/MapStreamTestDataProvider.java 
test-ng/tests/org/openjdk/tests/java/util/streams/StreamTestDataProvider.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/StreamOpTestCase.java
description:
Refactoring of StreamOpTestCase for terminal operations.
Contributed-By: paul.sandoz at oracle.com


changeset:   6018:860195a52cce
user:        briangoetz
date:        Mon Sep 17 15:29:00 2012 -0400
files:       src/share/classes/java/util/streams/LinearPipeline.java 
src/share/classes/java/util/streams/MapPipeline.java 
src/share/classes/java/util/streams/MapStream.java 
src/share/classes/java/util/streams/Stream.java 
src/share/classes/java/util/streams/ops/MapSkipOp.java 
src/share/classes/java/util/streams/ops/SkipOp.java 
test-ng/tests/org/openjdk/tests/java/util/LambdaTestHelpers.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/InfiniteStreamWithLimitOpTest.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/SkipOpTest.java
description:
Add SkipOp
Contributed-By: paul.sandoz at oracle.com


changeset:   6017:b0c946e5b908
user:        briangoetz
date:        Mon Sep 17 12:27:51 2012 -0400
files:       src/share/classes/java/util/streams/AbstractPipeline.java 
src/share/classes/java/util/streams/Stream.java 
src/share/classes/java/util/streams/Streams.java 
src/share/classes/java/util/streams/ops/LimitOp.java 
src/share/classes/java/util/streams/ops/MapLimitOp.java 
test-ng/tests/org/openjdk/tests/java/util/LambdaTestHelpers.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/InfiniteStreamWithLimitOpTest.java
description:
Initial support for infinite streams
Contributed-By: paul.sandoz at oracle.com


changeset:   6016:d5bc8806cb07
user:        briangoetz
date:        Mon Sep 17 12:20:11 2012 -0400
files:       src/share/classes/java/util/MapIterator.java 
src/share/classes/java/util/streams/LinearPipeline.java 
src/share/classes/java/util/streams/MapPipeline.java 
src/share/classes/java/util/streams/MapStream.java 
src/share/classes/java/util/streams/Stream.java 
src/share/classes/java/util/streams/Streams.java 
src/share/classes/java/util/streams/ops/BiAllMatchOp.java 
src/share/classes/java/util/streams/ops/BiAnyMatchOp.java 
src/share/classes/java/util/streams/ops/BiFilterOp.java 
src/share/classes/java/util/streams/ops/BiMapOp.java 
src/share/classes/java/util/streams/ops/BiTeeOp.java 
src/share/classes/java/util/streams/ops/ForEachOp.java 
src/share/classes/java/util/streams/ops/LimitOp.java 
src/share/classes/java/util/streams/ops/MapExtractKeysOp.java 
src/share/classes/java/util/streams/ops/MapExtractValuesOp.java 
src/share/classes/java/util/streams/ops/MapFilterKeysOp.java 
src/share/classes/java/util/streams/ops/MapFilterValuesOp.java 
src/share/classes/java/util/streams/ops/MapLimitOp.java 
src/share/classes/java/util/streams/ops/MapMapValuesOp.java 
src/share/classes/java/util/streams/ops/MapSortedOp.java 
src/share/classes/java/util/streams/ops/MapSwapOp.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/LimitOpTest.java 
test-ng/tests/org/openjdk/tests/java/util/streams/ops/StreamOpTestCase.java
description:
Add limit() op on Stream and MapStream.
Contributed-By: paul.sandoz at oracle.com




More information about the lambda-dev mailing list