Jackson based JAX-RS Providers(JSON, XML, CSV) Example

Jackson based JAX-RS Providers(JSON, XML, CSV) Example

This blog post discusses returning multiple data formats from your RESTFul endpoints using Jackson JAX-RS providers. Jackson provides a lot of providers that you can see here . The providers allow you to return a POJO(plain old java object) from your REST annotated methods and give back the appropriate media type. Jackson also gives you the ability make your own Entity Providers. Documentation for how to do that is here below I’ll show a generic way to provide CSV’s along with XML…

Read More Read More

CXF Jetty Example

CXF Jetty Example

This is a simple example of how to combine CXF and Jetty to get a simple web services up and running. Pom for this example: [code language=”xml”] <?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>datadidit.helpful.hints</groupId> <artifactId>parent</artifactId> <version>1.0.0-SNAPSHOT</version> </parent> <artifactId>jetty-cxf</artifactId> <name>jetty-cxf</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxrs</artifactId> </dependency> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>javax.ws.rs-api</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>${jetty.version}</version> </plugin> </plugins> </build> </project> [/code]   Here is a simple REST endpoint: [code language=”Java”] package datadidit.helpful.hints.rest.cxf; import javax.ws.rs.DefaultValue; import javax.ws.rs.GET; import…

Read More Read More

Where is your favorite NFL teams cap space going…Part2(AFC)

Where is your favorite NFL teams cap space going…Part2(AFC)

Part 2 takes a look at what teams in the AFC are doing with their cap space. AFC East AFC North AFC South AFC West AFC East Biggest thing standing out to me below is Miami is spending a lot of money on their DL, 2 times more than league average and almost 30% of their cap space. Buffalo Bills Miami Dolphins New England Patriots New York Jets NFL DB 29,479,496 27,616,499 17,018,794 38,402,025 26,240,056 DL 33,279,980 43,671,818 26,648,167 23,376,055…

Read More Read More

Where is your favorite NFL teams cap space going…Part1(NFC)

Where is your favorite NFL teams cap space going…Part1(NFC)

Was interested in getting a look at how each team is spending their cap by position group. In order to get the data I went to spotrac, which is a great site for interactively managing your teams salary cap. The position groups I split that data into are: QB: Quarterback RB: Running back which includes Full backs as well TE: Tight End WR: Wide Receiver OL: Offensive line which includes center, gaurd and tackles ST: Special Teams which includes punter,…

Read More Read More

Enriching Datasets with R

Enriching Datasets with R

If you have a simple data set and have some additional statistics you’d like to add to that dataset you can easily do that with R. Going to add fip, woba, wrc, and wraa to a couple of baseball datasets as an example of this. To calculate FIP I first needed the following R functions: [code language=”r”] #Calculate FIP Constant fip_constant_calc <- function(pitching_data){ #FIP Constant = lgERA – (((13*lgHR)+(3*(lgBB+lgHBP))-(2*lgK))/lgIP) era = sum(pitching_data["ER"])/sum(pitching_data["IP"]) * 9 lgHR = sum(pitching_data["HR"]) lgBB = sum(pitching_data["BB"])…

Read More Read More

Why Reynaldo?

Why Reynaldo?

The Nationals sent Lucas Giolito back down to the minors and have called up Reynaldo Lopez for his Major League debut tomorrow. So I decided to take a look at possible reasons for that decision. Giolito did ok in his first rain shortened start giving up only 1 hit in 4 innings but the 2 BB’s were a little concerning. Especially since this season he’s had a pattern of walking people to a tune of 4.3 BB/9 in the Eastern…

Read More Read More

An Example CSV to Mongo Dataflow

An Example CSV to Mongo Dataflow

Do you have a bunch of CSV files laying around that you’d like to be able to run queries against? This post is going to discuss a way to do that with Apache Camel and a processor I wrote. Prerequisites: Ability to run a mvn camel:run A MongoDB installation available Technologies used: Apache Camel Maven MongoDB Wrote a Custom camel processor to take in a CSV file and turn it into JSON. Jackson was my tool of choice for converting…

Read More Read More

Learning wOBA

Learning wOBA

As I continue to learn R and go down the road of becoming a data scientist. I need to learn how to use and compute advanced statistics. The first advanced analytic I’m going to learn how to compute is weighted on-base average(wOBA). Weighted on-base average combines all the parts of a players offensive game and gives them all appropriate weights for their impact on the game. For example, a HR is given more weight than a BB or a Single…

Read More Read More

JSON to CSV with Jackson

JSON to CSV with Jackson

Needed to convert some JSON output to CSV this week on one of my REST endpoints. Previously on this endpoint I was using Gson to do the conversion. Gson does not natively support JSON to CSV conversion. So though I love how easy it is for me to type: [code language=”java”] Gson gson = new Gson(); gson.toJson("Hello World"); [/code] and easily retrtieve my Json. I switched over to using Jackson because it does support CSV conversion of my Pojos as…

Read More Read More

Exploratory Data Analysis using Minor League Batting Statistics

Exploratory Data Analysis using Minor League Batting Statistics

Similar to graphically looking at Nationals minor league pitching stats I wanted to do the same with their minor league hitting stats per team. I decided to look at how the Nationals minor league team OPS is doing relative to their league and level. OPS is a players OBP added to their SLG measure how good a player is doing offensively when those two metrics are taken into account. Since pitchers also bat I needed to do some data cleaning or…

Read More Read More