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