jvalue / open-data-service-v1 Goto Github PK
View Code? Open in Web Editor NEWOpen Data Service
License: GNU Affero General Public License v3.0
Open Data Service
License: GNU Affero General Public License v3.0
For example http://faui2o2f.cs.fau.de:8080/open-data-service/foo returns
Invalid query, see /api for available queries.
It would be nicer to have a response along the lines of
{
status: 400,
message: "Invalid query, see /api for available queries."
}
ODS currently always returns 200 OK for each request, even though some are invalid and the response contains error messages.
No filter should be able to modify the callers data.
For example if there are two filters A --> B, then A should create a copy of the data before forwarding it to B.
QA filter throws exception (1) when pegelonline source is experiencing an internal error (2)
(1)
java.lang.NullPointerException at org.jvalue.ods.qa.improvement.CombineSourceFilter.filter(CombineSourceFilter.java:74)
at org.jvalue.ods.qa.improvement.CombineSourceFilter.filter(CombineSourceFilter.java:48)
at org.jvalue.ods.filter.FilterChain.filter(FilterChain.java:49)
at org.jvalue.ods.filter.FilterChain.filter(FilterChain.java:50)
at org.jvalue.ods.filter.FilterChainManager.startFilterChains(FilterChainManager.java:63)
at org.jvalue.ods.grabber.DataGrabberMain.updateData(DataGrabberMain.java:64)
at org.jvalue.ods.server.ContainerRestletApp.run(ContainerRestletApp.java:118)
at java.lang.Thread.run(Thread.java:744)
(2)
http://pegelonline.wsv.de/webservices/rest-api/v2/stations.json
currently (18.07.14 12:52) returns
{
status: 500,
message: "Internal server error. Please retry."
}
The content of
/admin/logs
keeps growing and is not limited by any size restrictions.
Instead of one log with all entries offer some pagination mechanism for fetching only the most recent entries.
Github commits should trigger jenkins build. They used to, but aren't doing it anymore.
Api could / should offer two version counts
Source schema definitions (how data is available in the original source and how it will be stored in the DB) are currently created by manually by constructing large nested map and list objects.
When wanting to create these schemata dynamically at runtime, having a builder object that takes care on the internal referencing makes constructing this definition at lot easier.
--> Create a builder class for constructing schema, eliminating the need for manual linking
Clients should again be able to extract parts of all kinds of documents.
with $1234 being the ID of the document, water/coordinate two of its fields:
GET /ods/$1234/water
GET /ods/$1234/water/longname
GET /ods/$1234/coordinate
GET /ods/$1234/coordinate/longitude
... as deep as they want (except lists)
The ugly, former previously used code can be found here:
https://github.com/jvalue/open-data-service/blob/76299da9d021fe1775118c008343ec66da9fb1be/src/main/java/org/jvalue/ods/server/restlet/DefaultRestlet.java
Allow simple key-value-queries
f.e.: ods/stations?timeseries.measurement.level=10
This currently happens via
ContainerRestletApp.run()
--> DataGrabberMain.initialize()
--> ConfigurationManager.configureAll()
--> DbAccessor.deleteDatabase()
... and they are
coordinate: {
longitude: 8.826504838107983,
latitude: 53.161504277715444
}
Each FilterChain should run in its own thread, using a custom update interval (pull or push triggered)..
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.