Developers guide
There are several ways to get OLAPmapper running. The easiest is to download a binary release, as described in the installation guide. But you can also build OLAPmapper from its source code. This document describes how to do that, how to learn about OLAPmapper's inner workings, and the guidelines you'll need to follow if you want to contribute to the OLAPmapper project.
Getting a source code
First, you need to get a copy of the source code. Best way how to do it is to get the source code from SourceForge via Subversion. Just follow instructions on this page. In case that you use Eclipse IDE you can skip this step, because you will find more informations in next chapters. In every case you have just read only access to repository. Please contact me if you want to be developer of our project.
Getting a support libraries
Used libraries are:
- Apache Axis2/Java - core engine for Web services
- c3p0:JDBC DataSources/Resource Pools
- CERN Colt Scientific Library
- Jakarta Commons Collections
- JavaBeans Activation Framework
- Java CSV Library
- JavaMail API
- JUNG - Java universal network/graph framework
- Apache log4j - logging services
- Xerces Java Parser
- BrowserLauncher2
- JDBC driver to your database
You can download them by yourself, or you can download binary release of application and they are located into the lib
folder.
Importing project into Eclipse IDE
In case that you use Eclipse IDE you can use subclipse like subversion client. Just switch Eclipse into SVN Repository
perspective. After add new repository location with URL:
https://olapmapper.svn.sourceforge.net/svnroot/olapmapper
Afterwards please checkout directory src
into workspace like OlapMapper project. Don't forget to download libraries (see previous step) and add them into the build path (see eclipse project configuration).
Project TODOs
In case that you want contribute development team, you are warmly welcome. Future work should be based on this topics:
- Correlation between two datawarehouses (based on the work of prof. Michel de Rougemont)
- Define correlation
- Save defined correlation into a file
- Query on two datawarehouses
- Better user interface
- Support for loading/saving files into XML formats (nowadays it use binary format based on Java serialization)
Coding guidelines
If you are contributing code, please follow the same guidelines used for the rest of the code. We're trying to use SUN Code Conventions for the Java Programming Language with small changes with spacing and indentation.
Code content:
- Declare variables as near to their first use as possible.
- Don't initialize variables with 'dummy' values just to shut up the compiler.
- One declaration per line is recommended.
- Only one top-level class should be defined per java file.
Documentation and comments:
- Source files must contain copyright and license notices.
- Classes and public methods must have javadoc.
- Write Javadoc comments on methods in the present active ('Collects garbage.'), not the imperative ('Collect garbage.'), passive ('Garbage is collected.'), or future active ('Will collect garbage.').
- When editing HTML documents, please don't use an editor which reformats the HTML source (such as Microsoft Word).
Spacing and indentation:
- Use spaces, not tabs.
- Indentation 2.
- Open braces on the NEXT line as the preceding 'if', 'else', 'while' statement, or method or 'class' declaration.
- Use braces even for single-line blocks.
- Try to keep lines shorter than 120 characters.
You can download my spacing and indentation settings for Eclipse IDE.
Application workflow
In case that you are interested in application workflow, you can find great source of the informations in JavaDoc documentation. All Java classes and methods are documented, even if they are public or private.
More informations
If you still cannot find answer on your questions related to this project (Be sure that you've read all documentation) don't hesitate to contact me.