All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Hazard dataset user quota to check type name after the namespace when determining if a dataset is a hazard dataset #289
- Join Shapefile to upload GeoPackage to GeoServer instead of Shapefile #283
- Join between CSV table and shapefile has been updated based on Geotools update #272
- Add retrofit information to the mapping set class #252
- Fix broken Semantics Type embedded in data viewer #273
- Renaming option for uploading geoserver layers #259
- GeoPackage handling in services #205
- Raster GeoPackage checker for not supporting it #258
- hazardDatasets field to TornadoDataset, TornadoModel and EarthquakeModel class #213
- Fix Semantic search endpoint return format #267
- Rewrite Allocation and Usage endpoints to leverage Java model and Jackson #220
- Semantic services types endpoint missing access control #234
- Template dataset generation (CSV and Shapefile) API to semantics-service #214
- Owner item added to the dataset, hazard, and dfr3 object #92
- Attenuation model Sadigh et al. 1997 #208
- Include incore lab quota to the allocation endpoints #217
- Allow semantics id to be added to space member #229
- Geoserver connection library has been removed and new connection object has been added #190
- Semantics should display description instead of title #206
- Semantic services endpoint returns correct ID #227
- Endpoints to return allowed demand types and units #155
- Refactor POST /types API #159
- Refactor GET /types endpoint #156
- Refactor DELETE /types/{id} endpoint #160
- Filtering by space in GET /types endpoint 191
- Limiting and offset for GET /types/search endpoint and to GET /types endpoint #195
- Refactor AllocationsController and UsageController to use updated authorizer #143
- Upgraded project and space-service dependencies: Jersey 3.1.2 and swagger 2.1.12 for OpenAPI 3 #152
- Upgraded project and semantics-service dependencies: Jersey 3.1.2 and swagger 2.1.12 for OpenAPI 3 #167
- Upgraded project and hazard-service dependencies: Jersey 3.1.2 and swagger 2.1.12 for OpenAPI 3 #163
- Upgraded project and data-service dependencies: Jersey 3.1.2 and swagger 2.1.12 for OpenAPI 3 #165
- Refactor DAO for Semantics service #151
- Removed jetty-runner 9 and replaced with Jetty 11 docker image #174
- Upgraded geotools to version 29.0 and refactored codes #186
- Removed maestro service from the incore services repository #145
- Missing log4j.properties file required to configure logging #148
- Changed the endpoint /types/{name} response to Document #193
- Query parameters for sorting by given field in ascending and descending order #111
- Get user group function to read and parse user groups from headers #120
- Remove LdapClient and refactor the Authorizer class along with its interface to take in userGroups parameter and modify internal calls too #118
- Add userGroups parameter in Semantics Controller #124
- Add userGroups parameter in Space Controller #123
- Add userGroups parameter in DFR3 Controller #122
- Add userGroups parameter in Data Controller #121
- Add userGroups parameter in Hazard Controller #119
- Earthquake hazard raster didn't handle values below the threshold that were set to null#108
- Space endpoint for getting space by providing the name of the space #101
- Enforce demand type and demand unit check when POST to hazard values endpoint #15
- Liquefaction did not handle the case of no exposure correctly #83
- Keyword searching in fragility mapping is not behaving correctly #78
- Enable more demand types and demand units for Hurricane #85
- Endpoint to obtain the allocation for a logged-in user #76
- Network dataset's sub data's dataType changed from networkType to dataType #79
- User Allocation management to limit usage per user or group. Added validations to deny creation of new datasets, hazards and DFR3 curves when the allocations limits are met. #66
- Earthquake threshold values to be agnostic of period values - with this change it is enough to just define a single threshold value for period based demands such as "SA" and "SD". #32
- Toro1997 attenuations model for earthquakes #35
- Support for storing expression based curves for Repairs and Restorations #6
- Fully deprecate the old format DFR3 models and related code references #31
- Vulnerable log4j package updated to prevent remote code execution #55
- renamed master branch of the repository to be "main", and updated the github actions.
- Update earthquake values endpoint to accept site classification dataset #40
- Add validation on DFR3 service to only acceptable demand types and units are being provided. Make it uniform on hazard service too enhancement #7
- Upgrades and cleanup to semantics service #18
- Ability to store demand-specific threshold values in the metadata when creating hazards (pending for model-based earthquakes) #1
- Maestro service endpoints to record the status of playbook workflow and the status of each step #16
- Ability to include or exclude hazard datasets when querying for datasets through data service api calls #10
- Github action to run unit tests and automatically publish docker images #20
- Bug that was allowing updating datasets, hazards and DFR3 objects through the POST method that was supposed to only create new entities. #22
- User status endpoint for DFR3 Service to show usage information INCORE1-1156
- Support for hazard exposure for earthquake, tornado, tsunami, tornado and hurricane. Defined hazard thresholds for each of them INCORE1-1361
- Exception handling on hazard service to return specific error codes (-9999.x) on failure INCORE1-1364
- Code formatting issues and reformatted consistently accross all services INCORE1-1335
- User status endpoints for data and hazard services. It returns the no of entities and data usage for each user. INCORE1-1155
- New parameter "seed" value to the endpoint that gets tornado values to generate uniform random values. INCORE1-1226
- Return no exposure (null) when the hazard value is out of bounds or below a threshold. Only supported for tornado & floods. INCORE1-973
- Migrated all fragilities in the DFR3 database to new format. INCORE1-869
- Deprecated the fragility curve formats that are not used anymore. INCORE1-1269
- Remove geoserver store when deleting a dataset. INCORE1-1225
- Hazard service was giving wrong values when demand type is of the format "x.x sec SD". INCORE1-1258
- Errors on GUID validation when uploading datasets. INCORE1-1282
- Ability to create tornados by uploading a zip file with shapefiles INCORE1-830
- New field to DFR3 curve paramters to support an equation-friendly short name and a full name INCORE1-1220
- Migrated all fragilities in the DFR3 database to new equation based format INCORE1-869
- Fix the mappings in the database without any rules defined INCORE1-1215
- Delete geoserver layer when deleting geopkg datasets INCORE1-1208
- Increased memory size for the service containers INCORE1-1201
- Zipped shapefile upload to data service INCORE1-1047
- Allow mapping "rules" to be an Array or HashMap INCORE1-1153
- Update versioning and tagging of docker images INCORE1-1154
- Updated model based tornado to use seed value for uniform random distribution INCORE1-1187
- Tornado model shapefile needed to include a GUID INCORE1-1120
- Make data service to deny POSTs when GUID is not in the shapefile INCORE1-1056
- For CSV datasets with source inventory dataset, the merge data is now saved as geopackage (instead of shapefiles) on the geoserver. This also fixes a limitation with shapefiles attributes to only have field names under 10 characters INCORE1-762
- Fix CORS issue to work with the new platform. Move CORS variables to env INCORE1-1087
- POST endpoints to get hazard values for multiple demand types in a single call INCORE1-921
- Convert demandType & demandUnits in DFR3 jsons to be arrays instead of comma separated strings INCORE1-819
- Upgrade morphia from 1.5 to 2.1. Replace deprecated morphia methods INCORE1-703
- Upgrade packages to be compatible with Java 11 INCORE1-885
- Get mongo hostname from env INCORE1-936
- Space information is being saved in Dataset collection even though it is a read-only field INCORE1-918
- Hurricane windfield full grid snapshot datasets are being saved as raster INCORE1-926
- Included space information in the GET request jsons of datasets, hazards and DFR3 objects. INCORE1-889
- Support for Parametric fragilities with a common fragility json format INCORE1-783
- DELETE endpoints for Fragilities, Repairs, Restorations & Mappings INCORE1-614
- GET endpoint to fetch unique dataset datatypes INCORE1-807
- Function to FileUtils, fileUseGeoserver, to take a file name string, and determine based on the extension if it should use Geoserver INCORE1-612
- Updated datatypes of hazard datasets to include space prefix (example: 'incore:') INCORE1-707
- Some of the gradle build warnings. Removed maestro service from the gradle farm INCORE1-658
- Bug in adding hurricanes & floods to a space INCORE1-790
- Bug in adding members to spaces INCORE1-727
- Flood endpoints to accept raster based deterministic flood. INCORE1-746
- Alter the dfr3 status endpoint to include service version and database connection test. INCORE-466
- Added validation so PUT dataset endpoint will only allow updating string fields. It will return appropriate error message with HTTP response for non-string fields INCORE1-767
- Updated jax-rs and jersey dependencies to the latest versions INCORE1-653
- Hurricane endpoints to accept dataset based deterministic hurricanes. This also involved refactoring current hurricaneWindfields code into separate route. INCORE1-690
- Upgrade morphia version to 1.5.8 and upgrade mongo driver to 3.12.5 INCORE1-670
- incore.properties has been removed from docker and semantics docker added. INCORE1-671
- Jetty temp folder location has been changed. INCORE1-673
- Docker tagging in build process has been changed to distinguish prod and dev INCORE1-678
- Upgrade gradle to v6.5. Cleaned up gradle dependencies and changed geoserver related dependency links. INCORE1-591
- Resolved swagger path conflicts in delete hazard endpoints INCORE1-659
- Enable cors for dfr3 services and a new property was added to list the allowed cross origin domains INCORE1-585
- Add DFR3 support for conditional and parametric fragilities INCORE1-527
- Initial framework for moving long running object creation tasks outside of the hazard service INCORE1-514
- DELETE endpoints for all hazards INCORE1-560
- Initial implementation of semantics service restricted to admin users INCORE1-571
- Application properties are now initialized by system environment variables INCORE1-587
- Text search endpoint to DFR3 Mappings INCORE1-512
- Updated all controller's exceptions and its messages and added constructors to controllers that were missing one INCORE-470
- Tornado values response updated to be consistent with other hazards. Fixes the broken pyincore analyses for Tornado INCORE1-555
- dataservice.url property. It's references are replaced with services.url INCORE-482
- HTTP Exception class that can include a custom exception message in the Response INCORE-480
- Added UserInfoUtil class for validating user-info jsons and updated exceptions thrown in Dataset Controller. INCORE1-476
- Update docker's properties files with new property added for LDAP cache refresh, so the docker builds will succeed INCORE1-478
- Added Abrahamson, Silva, Kamai 2014 and Campbell and Bozorgnia 2014 attenuation models INCORE1-430
- The user's LDAP groups in the cache will now get refreshed after a certain interval INCORE1-431
IN-CORE service release for IN-CORE v1.0
Prototype for IN-CORE, a web application with a service oriented architecture based on legacy IN-CORE v1, which was based on Ergo.
- Authentication service - uses LDAP
- Data service - MongoDB, file storage and Geoserver with initial implementation to fetch/store data
- Fragility service - MongoDB with initial implementation to return building fragilities
- Hazard service - MongoDB with initial implementation of scenario earthquake using Atkinson and Boore 1995 model
- Maestro service - MongoDB with initial implementation of building damage based on version 1 analysis
- Kong provides API Gateway pattern to service layer
- Initial web frontend providing login page, data browsing, fragility viewer, and analysis page to run building damage analysis