Mobile Atlas Creator - Readme for Developers

Welcome to the developer documentation of Mobile Atlas Creator (MOBAC). First please read the standard readme for all users.

Code access

If you want do get your hands on the latest source code of Mobile Atlas Creator you can check out the code from the Subversion repository at SourceForge:

https://trekbuddyatlasc.svn.sourceforge.net/svnroot/trekbuddyatlasc/trunk/MOBAC

There you will find the latest sources of Mobile Atlas Creator in form of an Eclipse (v3.5) project. All tools, libraries, sources and build files are included in this repository.

Compiling MOBAC within Eclipse

If you want to run MOBAC from within Eclipse you only need Eclipse with Java Development Tools installed (included in all Eclipse Java editions).
The root class for starting MOBAC in Eclipse mobac.StartMOBAC

Compile/building Mobile Atlas Creator without Eclipse requires Apache Ant) which is used for building the jar version of Mobile Atlas Creator and of course the Java Development Kit (JDK) installed.

Building Mobile Atlas Creator

For building Mobile Atlas Creator please run Apache Ant on the provided file build.xml

The default build target performs all necessary tasks for compiling the sources, packaging the classes to a jar and then minimizing the size of the jar using ProGuard (lib/proguard.jar).
Additionally the build steps include a call to lib/svnversion.jar which is a Java only version of the command svnversion (bases on SVNKit). This command updates the SVN revision information in file src/main/java/mobac/mobac-rev.properties which is included in the final jar of Mobile Atlas Creator.

Guidelines for publishing custom builds/releases

If you modify Mobile Atlas Creator and you want to publish it yourself please consider the following guidelines:

  1. Chose a version/release name that makes it clear that it is not an official release: Change the version string to reflect that.
    Example: 1.6 beta 3 XYZ edition
    The version string is located in the properties file src/main/java/mobac/mobac.properties. Change the entry mobac.version to your custom release name.
  2. Do not forget that Mobile Atlas Creator is a GPL project - therefore publishing the source code together with the binary release should went without saying.
  3. If your modification is useful you may consider to present it to the Mobile Atlas Creator development team. Patches are always welcome. Useful modifications have a great chance to be integrated into the main branch.

Source code overview - important packages

mobac.gui

This package contains the implementation of all dialogs/windows. In the sub-packages you can find the related implementations of used graphical components - e.g. mobac.gui.mapview.PreviewMap - the component that draws the movable map background used by Mobile Atlas Creator.

mobac.mapsources

Holds the infrastructure and the implementation of all map sources available within Mobile Atlas Creator. For implementing own map sources you should derive your map source from the abstract base class mobac.mapsources.AbstractMapSource. The list of available map sources is maintained by mobac.mapsources.MapSourcesManager. By adding an instance of a map sources to the static array field MAP_SOURCES the map source will be available in the map sources combo-box within Mobile Atlas Creator.

mobac.program.atlascreators

Holds the implementations of all atlas creators (atlas output formats) provided by Mobile Atlas Creator. Each class in the package implements exactly one atlas output format. Of special interest is the abstract class AtlasCreator which is the super class every atlas creator is derived of. The list of available formats is maintained in the enumeration mobac.program.model.AtlasOutputFormat.

mobac.tools

This package contains additional stand-alone tools that are not shipped with the Mobile Atlas Creator binary release. For example the mobac.tools.MapSourcesTester downloads one tile from each map source for verifying that the map source is functional.

Participation

If you are familiar with the programming language Java and you want to contribute or participate in the development process of Mobile Atlas Creator feel free to contact one of the other developers of Mobile Atlas Creator listed at SourceForge.