This repository contains Colorado's Decision Support Systems (CDSS) Java library for the State of Colorado's HydroBase REST web services.
Eclipse is used for development and repositories currently contain Eclipse project files to facilitate setting up the Eclipse development environment. Development on library code usually occurs while developing an application such as TSTool, rather than the library alone, because software requirements come from application development.
This software is being migrated to an open source software project as part of the OpenCDSS project. See the following online resources:
See the following sections in this page:
The following are the main folders and files in this repository, listed alphabetically. See also the Development Environment Folder Structure for overall folder structure recommendations.
cdss-lib-dmi-hydrobase-rest-java/ Source code and development working files.
.classpath Eclipse configuration file.
.git/ Git repository folder (DO NOT MODIFY THIS except with Git tools).
.gitattributes Git configuration file for repository.
.gitignore Git configuration file for repository.
.project Eclipse configuration file.
bin/ Eclipse folder for compiled files (dynamic so ignored from repo).
conf/ Configuration files for installer build tools.
dist/ Folder used to build distributable installer (ignored from repo).
lib/ Third-party libraries.
LICENSE.txt Library license file.
README.md This file.
src/ Source code.
test/ Unit tests using JUnit.
Repository dependencies fall into two categories as indicated below.
This library depends on other repositories listed in the following table. The repository contains Eclipse configuration files that describe the dependencies so that this repository and others can be cloned when setting up a development environment, with minimal additional configuration (for example see TSTool Developer documentation).
Repository | Description |
---|---|
cdss-lib-common-java |
Library of core utility code used by multiple repos. |
The following repositories are known to depend on this repository:
Repository | Description |
---|---|
cdss-app-statedmi-main |
Main StateDMI application code. |
cdss-app-tstool-main |
Main TSTool application code. |
cdss-lib-processor-ts-java |
Library of processing code used by TSTool. |
The following folder structure is recommended for software development. Top-level folders should be created as necessary. Repositories are expected to be on the same folder level to allow cross-referencing scripts in those repositories to work. TSTool is used as an example, and normally use of this repository will occur through development of the main CDSS applications. See the application's developer documentation for more information.
C:\Users\user\ Windows user home folder (typical development environment).
/home/user/ Linux user home folder (not tested).
/cygdrive/C/Users/user Cygdrive home folder (not tested).
cdss-dev/ Projects that are part of Colorado's Decision Support Systems.
TSTool/ TSTool product folder (will be similar for other applications).
eclipse-workspace/ Folder for Eclipse workspace, which references Git repository folders.
The workspace folder is not maintained in Git.
git-repos/ Git repositories for TSTool.
cdss-lib-dmi-hydrobase-rest-java/ This repository.
...others... See application developer documenation and README for full list.
OWF has set up two different methods of testing TSTool code. The software can be tested at a performance level through command files written to run and test different commands, or code can be tested at a low level to ensure functionality through several JUnit tests.
A version for the library is typically not defined. Instead, tags are used to cross-reference the library version with commit of application code such as TSTool. This allows checking out a version of the library consistent with an application version. This approach might need to change if the library is seen as an independent resource that is used by many third-party applications.
Contributions to this project can be submitted using the following options:
See also the OpenCDSS / protocols for each software application.
Copyright Colorado Department of Natural Resources.
The software is licensed under GPL v3+. See the LICENSE.md file.
See the OpenCDSS information for overall contacts and contacts for each software product.