visualizr
visualizr is a tiny data visualization framework. It uses amcharts and an internal HTTP API to create charts based on time data.
Features
- Linecharts for time data (single and multiple graphs within one chart)
- Multiple charts per data source
- Support of multiple data sources (a data source can provide multiple charts)
- Full Ajax support
- Automatic refresh
- Easy integration
Integration
There are 6 steps, you've to do in order to integrate visualizr:
-
Implement a
DataSourceProvider(implementsbiz.paluch.visualizr.spi.DataSourceProvider)
TheDataSourceProviderprovides a list of DataSources. EveryChartDataSourcehas an id and a name. -
Implement a
ChartProvider(ìmplementsbiz.paluch.visualizr.spi.ChartProvider)br/> TheChartProviderprovides two things: TheChartDescriptors andChartData. -
Implement your
ViewResource(extndsbiz.paluch.visualizr.AbstractViewResource)
You need to implement just thegetDataSourceProvidermethod. Since I'm not in charge of dependency injection, you're free on how you get theDataSourceProvider -
Implement your
ChartResource(extndsbiz.paluch.visualizr.AbstractChartResource)
You need to implement just thegetChartProvidermethod. Since I'm not in charge of dependency injection, you're free on how you get theChartProvider -
Like 4, implement your
ChartDataResource(extndsbiz.paluch.visualizr.AbstractChartDataResource)
You need to implement just thegetChartProvidermethod. Since I'm not in charge of dependency injection, you're free on how you get theChartProvider -
Stick all together and run it! Some RESTEasy versions try to create instances of abstract resource classes, therefore you should disable autoscan and create an
javax.ws.rs.core.Applicationthat specifies the 3 resource classes.
Running a demo
Wanna try it? You need just maven for it:
mvn clean install
cd visualizr
mvn jetty:run
Open your browser and start [http://localhost:8080/visualizr/view/single.html]
Versions/Dependencies
This project is built against following dependencies/versions:
- Apache Velocity 1.7
- RESTEasy/RESTEasy Jackson 3.0.19
- Jackson 2.8.8
- Google Guava 21.0
- Java Servlet API 3.1 (will work with 2.5 as well)
HTML/Javascript Frameworks
visualizr uses JQuery 1.11.0, Bootstrap 3.1.1 and amcharts 3. These libraries are bundled within the module local-hosted-js-frameworks which is optional. In case the bundled resources are not available, it will switch to the hosted version of JQuery (via googleapis), Bootstrap (netdna) and amcharts (amcharts.com). The compressed version of local-hosted-js-frameworks eats some 1MB.


