[ 
https://issues.apache.org/jira/browse/QUARKS-18?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15197310#comment-15197310
 ] 

ASF GitHub Bot commented on QUARKS-18:
--------------------------------------

Github user ddebrunner commented on a diff in the pull request:

    https://github.com/apache/incubator-quarks/pull/11#discussion_r56332292
  
    --- Diff: 
spi/topology/src/main/java/quarks/topology/spi/graph/ConnectorStream.java ---
    @@ -96,6 +97,28 @@ protected Graph graph() {
         }
     
         @Override
    +    public <E extends Enum<E>> EnumMap<E,TStream<T>> split(Class<E> 
enumClass, Function<T, E> splitter) {
    +
    +        E[] es = enumClass.getEnumConstants();
    +        if(es == null) {
    --- End diff --
    
    I'm merging this pull request but I'm not sure I understand this code:
    
    E is declared as an enum so the message the exception throws is not valid.
    
    I see there is a test `testSplitWithEnumForZeroSizeClass` , is that what 
this check is for? (Nice job adding the test, I didn't realize that there could 
be empty enums).
    
    If the check is for that then maybe the message should be changed? Just 
from reading the code I'd be tempted to remove the check as it appears as 
though it can't happen since E is always an enum.


> Split function based upon an enumeration.
> -----------------------------------------
>
>                 Key: QUARKS-18
>                 URL: https://issues.apache.org/jira/browse/QUARKS-18
>             Project: Quarks
>          Issue Type: Improvement
>          Components: API
>            Reporter: Daniel John Debrunner
>            Priority: Minor
>              Labels: newbie
>         Attachments: SplitWithEnum_Screenshot.png
>
>
> An enum based split would be useful.
> Something like:
> <E> List<TStream<T>> split(Class<E> enumClass, Function<T,E> splitter)
> So the stream is split by the enum value with the returned streams in ordinal 
> order.
> This may have the benefit of being self-maintaining, so that if an enum value 
> is added, the returned number of streams changes automatically, but only if 
> given an enum class one can figure out the number of enums.
> Based upon looking at the sample code in QUARKS-16



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to