I mentioned Velocity because I saw a DiffScriptService component with
@Named("diff") that has the same method signature as the Java API:public <E> DiffResult<E> diff(List<E> previous, List<E> next, DiffConfiguration<E> configuration) See the discussion [1] on the pull request for more details on the Velocity question. Back to my original question (same question as Thomas basically), that's exactly what I am trying to understand, Vincent... if the List<String/Character> is the optimal use case and not just String. Without a scenario in favour of List<E>, I would go for exposing a String based API (well, just an extra method in this case) as well. Thanks, Eduard ---------- [1] https://github.com/xwiki/xwiki-commons/pull/2/files#L27R58 On Wed, May 30, 2012 at 3:32 PM, Vincent Massol <[email protected]> wrote: > > On May 30, 2012, at 2:28 PM, Vincent Massol wrote: > > > > > On May 30, 2012, at 2:18 PM, Eduard Moraru wrote: > > > >> Hi Thomas, > >> > >> On Tue, May 29, 2012 at 5:07 PM, Thomas Mortagne > >> <[email protected]>wrote: > >> > >>> Hi devs, > >>> > >>> As I said in another mail I'm working on a diff/merge module to use in > >>> XWiki, the first target being Extension Manager and document history > >>> (since both are going to use the same code, see Marius mails). > >>> > >>> You can see the detail on > https://github.com/xwiki/xwiki-commons/pull/2. > >>> > >>> TODO/QUESTIONS: > >>> * improve the generic 3 ways merge to be at least as good as the > >>> List<String> 3 ways merge and get rid of JDiff > >>> * not sure where/if I should put String related helpers (things that > >>> do a diff on two String instead of having to cut List<String> or > >>> List<Character> and call the diff API etc.) > >>> > >> > >> This looks a bit awkward to use, specially from (but not limited to) > >> Velocity. When I think of a diff service API, I imagine passing Strings, > >> not lists of composing strings or list of characters. > > > > Thomas is proposing a Java API here AFAIK. For Velocity we never expose > java API directly; we use Script Services for that. > > Sorry, just realized you wrote "but not limited to" ;) > > I'll let Thomas reply since I don't know this diff api yet…. > > Sorry for the noise > -Vincent > > > > > Thanks > > -Vincent > > > > PS: FTR I'm a big -1 to model our Java APIs to be easily usable from > Velocity since that means having suboptimal APIs for the wrong reason ;) > > > >> Also, I don`t quite understand the List<String> approach. I can imagine > the > >> List<Character> version by breaking a string into characters, but what > >> would you do for List<String>? You would split a String using "\s" as a > >> separator? > >> > >> Can you please mention a use case where a list oriented API is better > than > >> a string based one? > >> > >> Thanks, > >> Eduard > >> > >>> > >>> I'm ready to merge it into master so I'm waiting your vote. > >>> > >>> Caleb is it OK to put new stuff in master already or should I wait the > >>> complete release to be done ? > >>> > >>> Here is my +1. > >>> > >>> Thanks, > >>> -- > >>> Thomas Mortagne > > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

