GSoC: Restructuring JOSM core

Michael Zangl openstreetmap at michael.fam-zangl.net
Fri May 20 21:24:33 UTC 2016


Hello,

I am Michael Zangl. For this year's GSoC I am planing to restructure
some core components of josm.

There are currently lots of global references and circular dependencies
in this code. Especially Main and MapView have many unwritten
implications and do a lot of instanceof.

My goal is to make the structure of those more flexible. Starting next
week, I will work on moving global state to new classes. In three
months, I hope to have restructured the map view classes so that the
view component can be used multiple times.

I am not planing to implement any new features. Some small ones will
come along the way and there might be some minor changes in the visual
appearance. The bug report system will be improved by allowing
developers to add more data to bug reports than just the stack trace.
Some API will change - especially to allow for new features like
multiple MapViews. But there will be a compatibility layer for some time
so that most old plugins should work without any changes.

I try to minimize the impact for users of the latest builds. Every
version should be usable. But you might encounter more bugs than usual,
especially when using plugins I did not think of. Feel free to file them
in the tracker and add me (michael2402) - I will have a look at it.

If you are interested in the progress, have a look at the timeline.
There are links to all relevant issues:
http://wiki.openstreetmap.org/wiki/Google_Summer_of_Code/2016/AcceptedProjects/JOSM_core

Michael Zangl



More information about the josm-dev mailing list