@RequestMapping(value = "/range/{startTime}/{endTime}", method = RequestMethod.GET) @ResponseBody public JsonNode[] getInstants( @PathVariable long startTime, @PathVariable long endTime, @RequestParam(required = false) String resolution, @RequestParam(required = false) String timezone) { TimeInstant startTimeInstant = TimeInstant.fromValueObject(new TimeInstantVO(startTime, resolution, timezone)); TimeInstant endTimeInstant = TimeInstant.fromValueObject(new TimeInstantVO(endTime, resolution, timezone)); List<Node> nodes; try (Transaction tx = database.beginTx()) { nodes = timeTree.getOrCreateInstants(startTimeInstant, endTimeInstant); tx.success(); } JsonNode[] result; try (Transaction tx = database.beginTx()) { result = jsonNodes(nodes); tx.success(); } return result; }
@RequestMapping(value = "/single/{time}", method = RequestMethod.GET) @ResponseBody public JsonNode getInstant( @PathVariable long time, @RequestParam(required = false) String resolution, @RequestParam(required = false) String timezone) { TimeInstant timeInstant = TimeInstant.fromValueObject(new TimeInstantVO(time, resolution, timezone)); long id; try (Transaction tx = database.beginTx()) { id = timeTree.getOrCreateInstant(timeInstant).getId(); tx.success(); } JsonNode result; try (Transaction tx = database.beginTx()) { result = new JsonNode(database.getNodeById(id)); tx.success(); } return result; }