https://github.com/52north/sensorweb-server-dao-impl

Implementation of series-rest-api SPI to access a database via Hibernate

https://github.com/52north/sensorweb-server-dao-impl

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 13 committers (7.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.4%) to scientific vocabulary

Keywords from Contributors

hydrology observation waterml transactional sos sensorweb sensorml sensor ogc inspire
Last synced: 10 months ago · JSON representation

Repository

Implementation of series-rest-api SPI to access a database via Hibernate

Basic Info
  • Host: GitHub
  • Owner: 52North
  • License: gpl-3.0
  • Language: Java
  • Default Branch: develop
  • Size: 6.15 MB
Statistics
  • Stars: 3
  • Watchers: 5
  • Forks: 9
  • Open Issues: 14
  • Releases: 19
Created over 9 years ago · Last pushed over 2 years ago
Metadata Files
Readme Changelog License

README.md

DAO Implementation of 52n Sensor Web Server Helgoland

Build Status Java CI Maven Central Total alerts Language grade: JavaScript Language grade: Java

Sensor Web Server Helgoland architecture overview

Description

Provide database data via 52n Sensor Web Server Helgoland.

This module is an SPI implementation of the 52°North Sensor Web Server Helgoland. It provides data access objects which access series data from relational databases. Using Hibernate the data model is not fixed to one specific.

The DAO module implements the Series API's Service Provider Interface (SPI). It serves as backend access layer to retrieve data from a relational database and to provide it via a well defined RESTful interface. Lightweight clients can then query and work with that series data easily in a common way (other data access mechanisms are available as well). Besides pure data access, the data can be preprocessed with common IO functionalities e.g. * prerendering of series data, * generalization, * overlaying of data from multiple series * conversion of raw data to other formats like pdf and png

Using Hibernate makes it flexible to use almost arbitrary data models, i.e. there is no need to have convert your data intot a specific data model. The combination of making adjustments to hbm.xml mapping files and database views (not always needed) make it possible to match existing databases quite well. The series data model of the 52°North SOS is used by default and can be used right out-of-the-box.

The following main frameworks are used to provide this API:

References

tbd

License

The module is published under the GNU General Public License v2 (GPLv2).

Changelog

  • https://github.com/52North/sensorweb-server-dao-impl/blob/develop/CHANGELOG.md
  • for detailed infos check https://github.com/52North/sensorweb-server-dao-impl/pulls?q=is%3Apr+is%3Aclosed

Contributing

We try to follow the GitFlow model, although we do not see it that strict.

However, make sure to do pull requests for features, hotfixes, etc. by making use of GitFlow. Altlassian provides a good overview. of the most common workflows.

Contact

Henning Bredel (h.bredel@52north.org)

Quick Start

Webapp Installation

  • tbd: deployment configuration
  • tbd: build from source
  • tbd: externalize config before build

Configuration

  • general config options
    • Generalizer
    • Prerendering
    • Date formatting
    • Rendering Hints
    • Status Intervals
    • Metadata from a Database

Logging

Depending on which build environment you've chosen open one the WEB-INF/classes/logback-{dev,ci,prod}.xml. Here you can edit log levels and log outputs.

Client development

Refer to the official Series REST API documentation to get a detailed overview on how to access the data provided by the API.

Credits

The development of the 52°North Sensor Web Server Helgoland DAO implementation was supported by several organizations and projects. Among other we would like to thank the following organisations and project

| Project/Logo | Description | | :-------------: | :------------- | | Cos4Cloud - Co-designed citizen observatories for the EOS-Cloud | The development of this version of the 52°North Sensor Web Server DAO was supported by the European Union’s Horizon 2020 research project Cos4Cloud (co-funded by the European Commission under the grant agreement n°863463) | | BMBFTaMIS - Das Talsperren-Mess-Informations-System | The development of this version of the 52°North Sensor Web Server DAO was supported by the German Federal Ministry of Education and Research research project TaMIS (co-funded by the German Federal Ministry of Education and Research, programme Geotechnologien, under grant agreement no. 03G0854[A-D]) | | JERICO-S3 - Science - Services- Sustainability | The development of this version of the 52°North Sensor Web Server DAO was supported by the European Union’s Horizon 2020 research project JERICO-S3 (co-funded by the European Commission under the grant agreement n°871153) | | BMBFCOLABIS - Collaborative Early Warning Information Systems for Urban Infrastructures | The development of this version of the 52°North Sensor Web Server DAO was supported by the German Federal Ministry of Education and Research research project COLABIS (co-funded by the German Federal Ministry of Education and Research, programme Geotechnologien, under grant agreement no. 03G0852A) | | NeXOS - Next generation, Cost-effective, Compact, Multifunctional Web Enabled Ocean Sensor Systems Empowering Marine, Maritime and Fisheries Management | The development of this version of the 52°North Sensor Web Server DAO was supported by the European FP7 research project NeXOS (co-funded by the European Commission under the grant agreement n°614102) | | FixO3 - Fixed-Point Open Ocean Observatories | The development of this version of the 52°North Sensor Web Server DAO was supported by the European FP7 research project FixO3 (co-funded by the European Commission under the grant agreement n°312463) | | ODIP II - Ocean Data Interoperability Platform | The development of this version of the 52°North Sensor Web Server DAO was supported by the Horizon 2020 research project ODIP II (co-funded by the European Commission under the grant agreement n°654310) | | SeaDataCloud | The development of this version of the 52°North Sensor Web Server DAO was supported by the Horizon 2020 research project SeaDataCloud (co-funded by the European Commission under the grant agreement n°730960) | | Wupperverband | The Wupperverband for water, humans and the environment (Germany) | | Belgian Interregional Environment Agency (IRCEL - CELINE) | The Belgian Interregional Environment Agency (IRCEL - CELINE) is active in the domain of air quality (modelling, forecasts, informing the public on the state of their air quality, e-reporting to the EU under the air quality directives, participating in scientific research on air quality, etc.). IRCEL — CELINE is a permanent cooperation between three regional environment agencies: Agence wallonne de l'Air et du Climat (AWAC), Bruxelles Environnement - Leefmilieu Brussel and Vlaamse Milieumaatschappij (VMM). | | GEOWOW - GEOSS interoperability for Weather, Ocean and Water | The development of this version of the 52°North Sensor Web Server DAO was supported by the European FP7 research project GEOWOW (co-funded by the European Commission under the grant agreement n°282915) |

Owner

  • Name: 52°North Spatial Information Research GmbH
  • Login: 52North
  • Kind: organization
  • Email: info@52north.org
  • Location: Münster

Advancing spatial information infrastructures to foster open science

GitHub Events

Total
Last Year

Committers

Last synced: over 3 years ago

All Time
  • Total Commits: 1,851
  • Total Committers: 13
  • Avg Commits per committer: 142.385
  • Development Distribution Score (DDS): 0.65
Top Committers
Name Email Commits
Carsten Hollmann c****n@5****g 647
Henning Bredel b****l@5****g 503
Henning Bredel h****l@5****g 292
dependabot-preview[bot] 2****]@u****m 159
dependabot[bot] 4****]@u****m 119
Christian Autermann c****n@5****g 56
speckij s****j@g****m 31
Jan Schulte j****e@5****g 18
speckij j****5@u****e 9
EHJ-52n e****s@5****g 8
Travis CI t****s@t****g 5
Henning Bredel h****l@g****e 3
Christian Autermann c****n@a****g 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 3
  • Total pull requests: 145
  • Average time to close issues: N/A
  • Average time to close pull requests: 16 days
  • Total issue authors: 2
  • Total pull request authors: 1
  • Average comments per issue: 0.33
  • Average comments per pull request: 0.38
  • Merged pull requests: 93
  • Bot issues: 0
  • Bot pull requests: 145
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • autermann (1)
  • ridoo (1)
Pull Request Authors
  • dependabot[bot] (98)
Top Labels
Issue Labels
bug (2) v3.x (1)
Pull Request Labels
dependencies (98) java (60) github_actions (3)

Packages

  • Total packages: 5
  • Total downloads: unknown
  • Total docker downloads: 14,478
  • Total dependent packages: 60
    (may contain duplicates)
  • Total dependent repositories: 15
    (may contain duplicates)
  • Total versions: 142
repo1.maven.org: org.n52.sensorweb-server.dao-impl:dao-impl-repo

JPA repositories.

  • Versions: 20
  • Dependent Packages: 23
  • Dependent Repositories: 5
  • Docker Downloads: 4,826
Rankings
Dependent packages count: 2.8%
Docker downloads count: 3.6%
Dependent repos count: 10.9%
Average: 21.6%
Forks count: 37.9%
Stargazers count: 52.8%
Last synced: 10 months ago
repo1.maven.org: org.n52.sensorweb-server.dao-impl:dao-impl-dao

REST SPI Implementation for SOS Sensor Web Server Database Model.

  • Versions: 39
  • Dependent Packages: 18
  • Dependent Repositories: 5
  • Docker Downloads: 4,826
Rankings
Dependent packages count: 3.5%
Docker downloads count: 3.6%
Dependent repos count: 10.9%
Average: 21.7%
Forks count: 37.9%
Stargazers count: 52.7%
Last synced: 11 months ago
repo1.maven.org: org.n52.sensorweb-server.dao-impl:dao-impl-repos

52°North Maven Parent Project

  • Versions: 5
  • Dependent Packages: 16
  • Dependent Repositories: 2
  • Docker Downloads: 4,826
Rankings
Docker downloads count: 3.6%
Dependent packages count: 3.9%
Dependent repos count: 16.1%
Average: 22.8%
Forks count: 37.9%
Stargazers count: 52.7%
Last synced: 10 months ago
repo1.maven.org: org.n52.sensorweb-server.dao-impl:dao-impl-webapp

RESTful Sensor Web Server Helgoland API as template Web application.

  • Versions: 39
  • Dependent Packages: 3
  • Dependent Repositories: 3
Rankings
Dependent repos count: 13.8%
Dependent packages count: 17.6%
Average: 30.5%
Forks count: 37.9%
Stargazers count: 52.8%
Last synced: 11 months ago
repo1.maven.org: org.n52.sensorweb-server.dao-impl:dao-impl-parent

52°North Maven Parent Project

  • Versions: 39
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 32.0%
Average: 40.4%
Dependent packages count: 48.9%
Last synced: 10 months ago

Dependencies

dao/pom.xml maven
  • com.fasterxml.jackson.core:jackson-core provided
  • com.github.spotbugs:spotbugs-annotations provided
  • org.geotools:gt-opengis provided
  • si.uom:si-quantity provided
  • tech.units:indriya provided
  • com.fasterxml.jackson.core:jackson-annotations
  • com.fasterxml.jackson.core:jackson-databind
  • com.google.guava:guava
  • javax.persistence:javax.persistence-api
  • joda-time:joda-time
  • org.apache.commons:commons-lang3
  • org.apache.xmlbeans:xmlbeans
  • org.geolatte:geolatte-geom
  • org.hibernate:hibernate-core
  • org.hibernate:hibernate-spatial
  • org.locationtech.jts:jts-core
  • org.n52.arctic-sea:faroe-annotations
  • org.n52.arctic-sea:janmayen
  • org.n52.arctic-sea:shetland
  • org.n52.arctic-sea:svalbard
  • org.n52.arctic-sea:svalbard-odata
  • org.n52.sensorweb-server.db-model:db-model-entities
  • org.n52.sensorweb-server.helgoland:helgoland-io
  • org.n52.sensorweb-server.helgoland:helgoland-rest
  • org.n52.sensorweb-server.helgoland:helgoland-spi
  • org.slf4j:slf4j-api
  • org.springframework:spring-beans
  • org.springframework:spring-context
  • org.springframework:spring-orm
  • org.springframework:spring-tx
  • ch.qos.logback:logback-classic test
  • javax:javaee-api test
  • org.geotools:gt-metadata test
  • org.geotools:gt-referencing test
  • org.hamcrest:hamcrest test
  • org.junit.jupiter:junit-jupiter-api test
  • org.junit.jupiter:junit-jupiter-engine test
pom.xml maven
  • org.springframework.boot:spring-boot-dependencies 2.7.2 import
  • com.github.spotbugs:spotbugs-annotations 4.7.1 provided
  • com.google.guava:guava 31.1-jre
  • commons-io:commons-io 2.11.0
  • javax.measure:unit-api 2.1.3
  • javax.persistence:javax.persistence-api 2.2
  • joda-time:joda-time 2.10.14
  • org.apache.xmlbeans:xmlbeans 4.0.0
  • org.apiguardian:apiguardian-api 1.1.2
  • org.codehaus.janino:janino 3.1.7
  • org.geolatte:geolatte-geom 1.8.2
  • org.geotools:gt-epsg-hsql 27.1
  • org.geotools:gt-main 27.1
  • org.geotools:gt-metadata 27.1
  • org.geotools:gt-opengis 27.1
  • org.geotools:gt-referencing 27.1
  • org.geotools:gt-shapefile 27.1
  • org.hibernate:hibernate-core 5.6.10.Final
  • org.hibernate:hibernate-spatial 5.6.10.Final
  • org.locationtech.jts:jts-core 1.19.0
  • org.n52.arctic-sea:faroe-annotations 9.6.1
  • org.n52.arctic-sea:iceland 9.6.1
  • org.n52.arctic-sea:janmayen 9.6.1
  • org.n52.arctic-sea:shetland 9.6.1
  • org.n52.arctic-sea:svalbard 9.6.1
  • org.n52.arctic-sea:svalbard-odata 9.6.1
  • org.n52.sensorweb-server.dao-impl:dao-impl-dao 3.6.1-SNAPSHOT
  • org.n52.sensorweb-server.db-model:db-model-entities 3.2.0
  • org.n52.sensorweb-server.db-model:db-model-mappings 3.2.0
  • org.n52.sensorweb-server.db-model:db-model-types 3.2.0
  • org.n52.sensorweb-server.helgoland:helgoland-io 3.4.2
  • org.n52.sensorweb-server.helgoland:helgoland-rest 3.4.2
  • org.n52.sensorweb-server.helgoland:helgoland-spi 3.4.2
  • org.n52.sensorweb-server.helgoland:helgoland-web-resources 3.4.2
  • si.uom:si-quantity 2.1
  • tech.units:indriya 2.1.3
  • xalan:xalan 2.7.2
  • javax:javaee-api 8.0.1 test
webapp/pom.xml maven
  • org.n52.sensorweb-server.helgoland:helgoland-web-resources provided
  • ch.qos.logback:logback-classic
  • ch.qos.logback:logback-core
  • com.fasterxml.jackson.core:jackson-annotations
  • com.fasterxml.jackson.core:jackson-core
  • com.fasterxml.jackson.core:jackson-databind
  • com.mchange:c3p0 0.9.5.5
  • com.sun.xml.bind:jaxb-core 3.0.2
  • com.sun.xml.bind:jaxb-impl 3.0.2
  • com.thetransactioncompany:cors-filter 2.10
  • javax.activation:activation 1.1.1
  • javax.xml.bind:jaxb-api
  • net.postgis:postgis-jdbc 2.5.1
  • org.codehaus.janino:janino
  • org.hibernate:hibernate-c3p0
  • org.hibernate:hibernate-ehcache
  • org.n52.arctic-sea:shetland
  • org.n52.sensorweb-server.dao-impl:dao-impl-dao
  • org.n52.sensorweb-server.db-model:db-model-entities
  • org.n52.sensorweb-server.db-model:db-model-types
  • org.n52.sensorweb-server.helgoland:helgoland-rest
  • org.postgresql:postgresql
  • org.slf4j:jcl-over-slf4j
  • org.slf4j:log4j-over-slf4j
  • org.springframework:spring-beans
  • org.springframework:spring-context
  • org.springframework:spring-orm
  • org.springframework:spring-oxm
  • org.springframework:spring-web
  • org.springframework:spring-webmvc
.github/workflows/codeql-analysis.yml actions
  • actions/checkout v3 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/daily.yml actions
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
.github/workflows/pull.yml actions
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
.github/workflows/pull_java_8.yml actions
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
.github/workflows/push.yml actions
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
.github/workflows/push_java_8.yml actions
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
Dockerfile docker
  • jetty jre8 build
repo/pom.xml maven
  • javax.persistence:javax.persistence-api provided
  • org.geolatte:geolatte-geom provided
  • org.geotools:gt-opengis provided
  • org.n52.arctic-sea:shetland provided
  • org.n52.sensorweb-server.db-model:db-model-types provided
  • org.springframework.boot:spring-boot provided
  • org.springframework:spring-beans provided
  • org.springframework:spring-context provided
  • org.springframework:spring-tx provided
  • si.uom:si-quantity provided
  • tech.units:indriya provided
  • com.github.spotbugs:spotbugs-annotations
  • com.google.guava:guava
  • joda-time:joda-time
  • org.geotools:gt-main
  • org.hibernate:hibernate-core
  • org.hibernate:hibernate-spatial
  • org.locationtech.jts:jts-core
  • org.n52.arctic-sea:faroe-annotations
  • org.n52.arctic-sea:janmayen
  • org.n52.arctic-sea:svalbard
  • org.n52.arctic-sea:svalbard-odata
  • org.n52.sensorweb-server.db-model:db-model-entities
  • org.n52.sensorweb-server.helgoland:helgoland-spi
  • org.slf4j:slf4j-api
  • org.springframework.boot:spring-boot-autoconfigure
  • org.springframework.data:spring-data-jpa
  • org.springframework:spring-orm
  • ${project.groupId}:dao-impl-repos test
  • ch.qos.logback:logback-classic test
  • com.cosium.spring.data:spring-data-jpa-entity-graph test
  • com.h2database:h2 test
  • javax:javaee-api test
  • org.assertj:assertj-core test
  • org.geotools:gt-metadata test
  • org.geotools:gt-referencing test
  • org.hamcrest:hamcrest test
  • org.junit.jupiter:junit-jupiter-api test
  • org.junit.jupiter:junit-jupiter-engine test
  • org.junit.vintage:junit-vintage-engine test
  • org.n52.sensorweb-server.db-model:db-model-mappings test
  • org.opengeo:geodb 0.9 test
  • org.springframework.boot:spring-boot-starter-test test
  • org.springframework.boot:spring-boot-test-autoconfigure test
  • org.springframework.data:spring-data-commons test
  • org.springframework:spring-test test
repos/pom.xml maven
  • javax:javaee-api provided
  • org.springframework.boot:spring-boot provided
  • org.springframework:spring-beans provided
  • com.cosium.spring.data:spring-data-jpa-entity-graph
  • org.n52.sensorweb-server.db-model:db-model-entities
  • org.springframework.data:spring-data-commons
  • org.springframework.data:spring-data-jpa
  • org.springframework:spring-context
  • org.springframework:spring-tx
springboot/pom.xml maven
  • org.springframework.boot:spring-boot-dependencies ${spring-boot.version} import
  • ch.qos.logback:logback-classic
  • ch.qos.logback:logback-core
  • com.h2database:h2
  • net.bytebuddy:byte-buddy
  • org.apache.httpcomponents:httpclient
  • org.aspectj:aspectjtools
  • org.hibernate:hibernate-ehcache
  • org.hibernate:hibernate-spatial
  • org.n52.sensorweb-server.dao-impl:dao-impl-dao
  • org.n52.sensorweb-server.dao-impl:dao-impl-repo
  • org.n52.sensorweb-server.db-model:db-model-entities
  • org.n52.sensorweb-server.db-model:db-model-mappings
  • org.n52.sensorweb-server.db-model:db-model-types
  • org.n52.sensorweb-server.helgoland:helgoland-rest
  • org.slf4j:jcl-over-slf4j
  • org.slf4j:log4j-over-slf4j
  • org.slf4j:slf4j-api
  • org.springframework.boot:spring-boot-starter-actuator
  • org.springframework.boot:spring-boot-starter-data-jpa
  • org.springframework.boot:spring-boot-starter-jetty
  • org.springframework.boot:spring-boot-starter-web
  • org.springframework:spring-beans
  • org.springframework:spring-context
  • org.springframework:spring-orm
  • org.springframework:spring-oxm
  • org.springframework:spring-tx
  • org.springframework:spring-web
  • org.springframework:spring-webmvc
  • org.springframework.boot:spring-boot-starter-test test