Github user ajs6f commented on the pull request:

    https://github.com/apache/jena/pull/56#issuecomment-99085428
  
    I'm definitely up for breaking this down. :) 
    
    The major moves here are: 
    
    - I replaced any interface inside oaj.atlas for which I could find a 
functionally-equivalent Java 8 type with that Java 8 type, and resolved the 
various syntactical changes that resulted (mostly just renaming of things, of 
which you can see quite a lot).
    
    - Following on that, I used lambda notation to shorten and clarify code 
that directly involved those types from step 1. (In other words, I didn't go 
looking for opportunities, I just took them when I happened to be "in the 
neighborhood" and saw them: there are plenty of more places, I think, to 
exercise lambda syntax).
    
    - A few places where I could determine clearly that a method or type was 
not in use anywhere in the codebase and that the functionality provided was 
either available elsewhere (typically in Guava) or constructable in Java 8 in 
an obvious "one-liner", I removed it.
    
    - Lastly, for a few types (notably 'MultiMap' and 'MultiSet') I happened to 
know that excellent well-exercised Guava versions already existed, so I swapped 
them out and toasted the Jena versions.
    
    To your specific points:
    
    - `oaj.atlas.lib.Closeable`:  I clearly misunderstood the semantics of this 
type. I thought it was simply a narrowing of ` java.io.Closeable` to disallow 
checked exceptions, so that the additional warnings would be a _good_ thing. 
Since it is independent, I will remove the new relationship: would it not also 
make sense to add some kind of comment explaining the particular semantics on 
oaj.a.l.Closeable`? I have to admit, I didn't look at it twice before thinking 
"try-with-resources".
    
    - `NodeTransform` I will put it back in in the optimizer. If I understand 
you correctly, the type itself should be declared inside oaj.sparql and used 
only there, yes?
    
    - Ah, I completely forgot about `@deprecated`. Just plain forgetfulness. 
I'll get those comments tagged correctly.  
    
    Shall I make these changes, and then we can figure out how to parcel this 
stuff out into reasonable commits?
    
    JENA-931


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to