//package com.clouck.rest;
//
//import java.util.List;
//
//import org.joda.time.DateTime;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Controller;
//import org.springframework.web.bind.annotation.PathVariable;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestMethod;
//import org.springframework.web.bind.annotation.RequestParam;
//import org.springframework.web.bind.annotation.ResponseBody;
//
//import com.clouck.converter.RepConverter;
//import com.clouck.exception.CloudVersionIllegalStateException;
//import com.clouck.model.Region;
//import com.clouck.model.ResourceType;
//import com.clouck.model.aws.ec2.Ec2Version;
//import com.clouck.rep.ChartDataRep;
//import com.clouck.service.AwsService;
//import com.clouck.webapp.controller.AbstractController;
//import com.google.common.base.Optional;
//
//@Controller
//@RequestMapping(value = "/rest/chart-data")
//public class ChartDataRestController extends AbstractController {
// private static final Logger log = LoggerFactory.getLogger(ChartDataRestController.class);
//
// @Autowired
// private RepConverter converter;
//
// @Autowired
// private AwsService awsService;
//
// @RequestMapping(value = "/{variableName}/{millis}", method = RequestMethod.GET)
// public @ResponseBody ChartDataRep loadCharts(@PathVariable String variableName, @PathVariable long millis,
// @RequestParam("account-id") String accountId, @RequestParam(value = "region", required = false) String regionEndpoint) {
// // TODO: do validation
// ResourceType resourceType = ResourceType.find(variableName);
// log.debug("load charts from account id:{} of type:{}", accountId, resourceType);
//
// Optional<Region> oRegion = Region.toRegion(regionEndpoint);
// if (oRegion.isPresent()) {
// List<Ec2Version> ec2Versions = awsService.findEc2VersionsUptoIncludeOrderByTimeDetected(accountId, resourceType, new DateTime(millis), oRegion.get());
// return converter.toChartData(resourceType, ec2Versions);
// } else {
// throw new CloudVersionIllegalStateException("invalid region endpoint:" + regionEndpoint);
// }
// }
//}