Building From Source

Preparation

Copy a default database to a reachable and writeable location. You can get a default database from the latest stable release (at the time of writing, 1.5).

Get Neo4J 2.3.x for Unix systems (even if you use Windows).

Glassfish will be installed in the next step.

Configuring the IDE

Get Netbeans 8.0.2 and install it along with the latest updates. You could also use a newer version of Netbeans, but odds are that you find mismatches in the modules versions when compiling the client that are not worth fixing if you just want to get the code running quickly. Download the "Java EE" flavor, which already includes most of the plugins you will need, plus Glassfish Server 4.1.

When you are prompted to select the application servers to be installed, don't forget to choose Glassfish 4.1.

Copy the libraries from Neo4J into the Glassfish's domain1's lib directory (as instructed in the Administrator's Manual).

Optional (If you also installed Java 7 and want to provide compatibility for it): Go to Tools ⇒ Java Platforms, click "Add Platform..." and search for your JDK 7 installation. If you don't follow this step, when you open the projects, a warning will be displayed because the JDK_7 platform can not be found. Simply change the default Java platform to whatever version you had installed.

Open the server project and compile it. If the database is in place, the application should be deployed and started successfully.

Open the client project and compile it. It should run out of the box. If you get any errors regarding dependencies and versions, make sure you have installed the latest Netbeans updates and restarted the IDE after installing them.

Additional Notes

Note that the trunk version will compile, but it's not a stable build since it's the main active development branch. You can find the the latest stable builds prefixed by version- at the same level as trunk in the SVN repository.

Whenever you modify the web service API, you have to update the client side stub. This process has been automated by a shell script included in the client code. Note that this script can be easily ported to Windows systems:

Tell the script where the wsimport tool is located. This program is included in your JDK distribution, usually in the bin directory. Add this directory to the PATH environment variable. In GNU/Linux this can be done with the command export PATH=$PATH:<path_to_jdk>/bin/

Go the Communications module in the client cd <client_code_dir>/Communications/

Execute the Unix script ./refresh-ws.sh -c

If the defaults don't suit your setup, execute ./refresh-ws.sh -h to see more options.

Before using the system for the first time, check if there are any patches to be applied to the database. Go to http://<server_ip>:8080/kuwaiba and click on the Apply Patches section. Select the patches applicable to the current version and apply them.