diff --git a/CityDoctorParent/Extensions/README.md b/CityDoctorParent/Extensions/README.md index e3ce45113ff8a2d896d616faf5e686f40d06e722..b81834c5a81558fc9d2d42530edf30bf8716f974 100644 --- a/CityDoctorParent/Extensions/README.md +++ b/CityDoctorParent/Extensions/README.md @@ -3,13 +3,17 @@ Extension modules to the core functionality of CityDoctor2. # Loading -Except for CityDoctorGUI, all extension modules are not loaded into the Maven project by default. -If you wish to load an extension, you can either import the respective Maven module directly, or adjust the CityDoctorParent -pom.xml and move the respective modules out of the comment-block in the module list found at the end of the file. +Except for CityDoctorGUI, all extension modules are not loaded into the Maven project by default. +Loading an extension module can be done by either loading the Maven module directly, or by adjusting the CityDoctorParent +pom.xml and moving the respective modules out of the comment-block in the module list found at the end of the file. # Building -All loaded modules will also be built upon building of the CityDoctorParent. +If the modules are loaded by including them in the CityDoctorParent pom, Maven will +automatically build them while building CityDoctor2. +If the modules are loaded directly, they need to be built directly with Maven. + +After building, the jars can be found in the **/target** subdirectory of each respective extension module. # Module Information @@ -22,9 +26,14 @@ representation, to allow use of advanced functionalities of CGAL with CityDoctor ### Usage -The AutoPro module is deprecated and will be removed in a future release, once the C++ functionalities have been ported to Java. +> ⚠ The AutoPro module is deprecated and will be removed in a future release, once the CGAL functionalities have been ported to Java. + +AutoPro requires a collection of .dll-files to run, some of which are not available as FOSS and thus cannot be +distributed with this project. +Access to the collection, or information about the required .dll-files, can be granted upon request for a valid reason. +Contact a Maintainer of this project for further information in this regard. -AutoPro requires a collection of .dll files to run, some of which are not available as open source projects. Access to the collection is only granted upon request. Contact a Maintainer for further information. +--- ## CityDoctorGUI ![Maintenance Level: Actively Maintained](../resources/Badges/MaintenanceLevel_ActivelyMaintained.svg) @@ -32,7 +41,7 @@ AutoPro requires a collection of .dll files to run, some of which are not availa The GUI module offers a graphical user interface for CityDoctor2, including a model viewer allowing for visual inspection of validation results and found errors. -### View Plugins +### View-Plugins The GUI is expandable via plugins, enabling the creation of views for custom functionalities or extensions of the CityDoctor2 core. Custom views can be created by extending the Abstract class `View` of the CityDoctorGUI and need to be registered by calling @@ -52,6 +61,7 @@ mvn install -P create-binaries Lastly, the GUI can also be started by calling `MainWindow.main(args[])`. +--- ## CityDoctorHealer ![Maintenance Level: Inactively Maintained](../resources/Badges/MaintenanceLevel_InactivelyMaintained.svg) @@ -68,11 +78,14 @@ An example start command looks like this: ``` java -classpath libs/*;plugins/*;CityDoctorHealer-.jar de.hft.stuttgart.citydoctor2.CityDoctorHealer -in .gml -config .yml -xmlReport .xml -pdfReport .pdf -out .gml ``` -Note: Unlike the CityDoctor core, the _-out_ argument is required +Note: Unlike CityDoctor core, the _-out_ argument is required. +The -xml-output and -pdfReport arguments are still optional. To prevent infinite loops the `Healer` class has a limit for the number of healing iterations (default: 200). This limit can be changed by calling `Healer.setNumberOfIterations(int limit)`. +--- + ## CityDoctorHealerGenetic ![Maintenance Level: Abandoned](../resources/Badges/MaintenanceLevel_Abandoned.svg) @@ -86,36 +99,40 @@ Usage is nearly identical to CityDoctorHealer, only requiring changing the class A View for usage with CityDoctorGUI is included. +--- + ## CityDoctorHealerGUI + ![Maintenance Level: Inactively Maintained](../resources/Badges/MaintenanceLevel_InactivelyMaintained.svg) -CityDoctorGUI-view for CityDoctorHealer. +CityDoctorGUI-view for CityDoctorHealer. Allows fine control over the automated healing steps, including a preview of the +result of each healing step. ### Usage -See [CityDoctorGUI](#view-plugins) +See [CityDoctorGUI View-plugins](#view-plugins) +--- ## CityDoctorWebService ![Maintenance Level: Abandoned](../resources/Badges/MaintenanceLevel_Abandoned.svg) -Web service API for CityDoctor. +Contains a web service implementation for CityDoctor2. ### Usage > ⚠ This module has been abandoned. As of writing the module is still functional, but it may break at any time. >Issues, bug reports and suggestions for this module will not be processed. Use at your own discretion. -Run on a Tomcat Server. - +> ⚠ CityDoctorWebservice requires connection to a PostgreSQL Server. Connection parameters need to be set in the +pgpass.conf file found in the /DBScripts directory. +> +The PostgreSQL Server needs to contain a database called "CityDoctorDB" with a schema called "citydoctordb". +The required tables will be automatically created by the web service if they're missing. -# Build +To run the web service, build the module and [deploy CityDoctorWebService.war](https://tomcat.apache.org/tomcat-9.0-doc/deployer-howto.html) +to a Tomcat server (version 8 or 9). -Use [Maven](https://maven.apache.org/) to build CityDoctor2. - -```bash -cd CityDoctorParent -mvn install -``` +--- ## License diff --git a/README.md b/README.md index bd17d1bf30a155c162cd828c555b690cb0857225..7b9a843a3250a4a51c6318487f2eb91e1cd4192c 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,7 @@ Note: ## Extension Example extensions for CityDoctor are included in this repository, and can be found in the [Extensions subdirectory](./CityDoctorParent/Extensions) +alongside a short description for each respective extension. ## License [LGPL](http://www.gnu.org/licenses/lgpl-3.0.de.html)