package com.clouck.webapp.controller; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import com.clouck.exception.CloudVersionIllegalStateException; import com.clouck.model.Account; import com.clouck.model.User; import com.google.common.base.Optional; @Controller @RequestMapping("/accounts/ec2") public class MediatorController extends AbstractController { private static final Logger log = LoggerFactory.getLogger(MediatorController.class); //TODO: It's better to combine this with login controller, as this is similar with overview in ec2 controller @RequestMapping(value = "/overview", method = RequestMethod.GET) public String loadInitOverview() { log.debug("load init overview"); User user = findCurrentUser(); String accountId = null; int size = user.getAccountIds().size(); if (size == 0) { Optional<Account> oAccount = accountService.findDemoAccount(); if (oAccount.isPresent()) { accountId = oAccount.get().getId(); } else { throw new CloudVersionIllegalStateException("demo account is not loaded."); } } else { accountId = user.getAccountIds().get(0); } return "redirect:/accounts/" + accountId + "/ec2/overview"; } }