-
Notifications
You must be signed in to change notification settings - Fork 0
/
JvcJsonWebEventDao.java
45 lines (31 loc) · 1.33 KB
/
JvcJsonWebEventDao.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package live.soilandpimp.batch.dao;
import java.io.IOException;
import java.util.List;
import org.codehaus.jettison.json.JSONArray;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import live.soilandpimp.batch.domain.Event;
import live.soilandpimp.batch.util.EventContentProvidor;
@Repository
public class JvcJsonWebEventDao implements WebEventDao {
@Autowired
private ObjectMapper objectMapper;
@Autowired
private EventContentProvidor eventContentProvidor;
@Override
public List<Event> getCurrentPostedEvents() {
try {
byte[] content = eventContentProvidor.getContent();
JSONObject jsonObject = new JSONObject(new String(content));
JSONArray jsonArray = jsonObject.getJSONObject("contents").getJSONArray("live");
return objectMapper.readValue(jsonArray.toString(), new TypeReference<List<Event>>() {});
} catch (IOException | JSONException e) {
e.printStackTrace();
throw new RuntimeException();// TODO enhance
}
}
}