Lgtm, thanks Stefan!

Carsten

Stefan Seifert wrote
> i've prepare a new PR with *only* a streaming API [1].
> please have a new review on the API part.
> 
> it has a very simple ContentHandler interface which reports every resource 
> found with its map of properties - ordered as found in the source.
> 
> to keep the existing unit tests i added the handler that converts the stream 
> API to a map representation to the *unit test* code - this is the code which 
> will then be duplicated across the modules that need a map representation. [2]
> 
> when this is the way we want to go i will commit it.
> 
> stefan
> 
> [1] https://github.com/apache/sling/pull/203
> [2] 
> https://github.com/stefanseifert/sling/tree/feature/SLING-6592-contentparser-stream-api/bundles/jcr/contentparser/src/test/java/org/apache/sling/jcr/contentparser/impl/mapsupport
> 
> 
> 
>> -----Original Message-----
>> From: Carsten Ziegeler [mailto:cziege...@apache.org]
>> Sent: Wednesday, March 15, 2017 3:35 PM
>> To: dev@sling.apache.org
>> Subject: Re: [contentparser] API for simple content representation
>>
>> Stefan Seifert wrote
>>>
>>>> A streaming API which defines a handler with a method that gets the name
>>>> (or path?) and the map of properties would avoid having this additional
>>>> tree api. I don't see a huge need to be able to have an api to traverse
>>>> the parsed content. If any user of the contentparser really needs it, it
>>>> can use whatever it wants.
>>>
>>> a Stream API would be a good solution for one half of the use cases.
>>> the other half benefits from a Traversing API - we may leave it to the
>> other bundles and live with some code duplication.
>>>
>>> before dropping traversing API completely - what about this: we rename
>> the traversing API to something that makes it obvious that this is not yet-
>> another-content-representation-api but only a tool to hand over data - e.g.
>> "ParsingResult" instead of "Content"?
>>>
>>> the solution could be:
>>> - offer a Streaming API
>>> - offer an optional handler based on this streaming API that produces a
>> "ParsingResult" that has the minimal traversing capabilities as outlined in
>> the PR.
>>>
>>> we could even put this in two separate modules, but this feels a bit
>> over-engineered.
>>>
>>
>> I guess whatever we name it, it's another traversing API :)
>> I would prefer to go with just the streaming api and only if really
>> really really needed by many others start about thinking how to solve that.
>>
>> Carsten
>> --
>> Carsten Ziegeler
>> Adobe Research Switzerland
>> cziege...@apache.org
> 


 

-- 
Carsten Ziegeler
Adobe Research Switzerland
cziege...@apache.org

Reply via email to