Hello,
I have refactored classes in
https://github.com/freeplane/freeplane/tree/client/freeplane_plugin_collaboration_client so that they use some design patterns.
We have Events (ChildrenUpdated extends NodeUpdated extends MapUpdated).
We have special Event GenericNodeUpdated which could be used on the server side because it can handle all kinds of content. After I change to Java 8 I can make nodeId optional, but currently there are no MapUpdated events without node ID.
It is all still work in progress, I just wanted to let you know
Another point : at work I have learned to code in functional style instead of using for loops.
We extensively use Java8, Optional, Stream API and vavr library
http://www.vavr.io/Because Java 9 should be released soon I suggest that we allow to use Java 8 in Freeplane and make use of functional style here too.
Agreed?
Regards,
Dimitry