opendcs / rest_api

Rest API that serves OpenDCS database objects as JSON
Apache License 2.0
1 stars 3 forks source link

Migrate DAOs to use core opendcs jar as standard DAOs and bind variables are implemented in the core jar #180

Open MikeNeilson opened 2 months ago

MikeNeilson commented 2 months ago

Component to be refactored All DAOs in this project.

Purpose of refactoring To avoid duplicating code and make it easier to handle additional implementations or even simple schema changes over time.

Proposed method OpenDCS 7.0.13 had migrated several DAOs to use bind variables for all but a few operations, this makes them suitable for use within an web API.

Related tasks:

Additional context This Issue should stay open with issues for specific DAOs getting put in the above list.

AlgorithmDAO, ComputationDAO, and LoadingAppDAO are bind variables for operations of concern; there's a few select in cases that could cause issues but I don't think they're used from what I've reviewed.

We will be migrating the old "...io" interactions to standard DAO over time. Routing Spec, Sources, and Schedules will be the first to transition after 7.0.13 is formally released.

The rest_api will need to be able to create a database using a standard javax.sql.DataSource. This effort is underway in the main code.