Skip to content
MaxKissgen edited this page Sep 12, 2021 · 16 revisions

Introduction

This page gives you an overview over the file structure of the OCD Service Project. The focus will be set on the ocd directory where most service specific files are located (aside from the source code). Some other files will be discussed as well. For more information on the remaining files you may refer to the LAS2peer Template Project or LAS2peer documentation.

Source Code

The actual source code of the service is located under rest_ocd_services/src/main/java. The most important class here is probably the i5/las2peer/services/ocd/ServiceClass.java which contains the entire Service API. You will also find the META-INF directory with the persistence.xml files. For more information on this aspect take a look at Database Configuration.

The source code for the jUnit tests is in rest_ocd_services/src/test. This directory includes also the src/test/i5/las2peer/services/ocd/DatabaseInitializer.java which can be used for database initialisation. For more information please refer to Build Process.

OCD Directory

The ocd directory contains most files apart from the source code which are specific to the OCD Service. You will find the following subdirectories.

  • db: Contains the database of the JPA provider.
  • eclipselink: Any log files for database creation or dropping created by the EclipseLink JPA persitence provider will be stored here.
  • lfr: Provides an application from Lancichinetti for calculating the LFR benchmarks he introduced (for directed and weighted graphs). It is compiled once for each Linux and Windows.
  • test: Contains a folder with data files for jUnit test input. An additional folder for test output files may be created during the build.
  • yGuard: Any log files of the obfuscation process will be stored here. Please refer to [Deploying the OCD Service](Deploying the OCD Service) for more information.
  • (ivy if using the old ant build: Contains an ocd_ivy.xml file to load the service's dependencies via Ivy. Note that there is an additional ivy.xml and ivy.settings file for dependencies required by LAS2peer under etc/ivy from the root directory.)

Other Important Resources

  • bin: Comprises scripts for launching the service and generating Agents.
  • rest_ocd_services/export: This directory contains a copy of the service jar, the obfuscated service jar and jUnit test reports. Please refer to Build Process for more information.
  • service: This directory contains the service jar. Please refer to Build Process for more information.
  • bin/start_network.bat and bin/start_network.sh: Skripts for launching the OCD Service. Please refer to Running the OCD Service for more information.
  • etc/startup/passphrases.txt: Password storage for preinstalled users. Please refer to User Management and Authentication for more information.
  • (ocd_build.xml if using the old ant build: The build file for the OCD Service. Please do only make use of this build file. Please refer to Build Process for more information.)
  • (ocd.conf if using the old ant build: Upstart script for the OCD Service. Please refer to Deploying the OCD Service for more information.)
  • (etc/ant_configuration/user.properties if using the old ant build: Ant property file for user agent generation. Please refer to User Management and Authentication for more information.)