package org.genedb.web.mvc.controller.download; // //import org.apache.log4j.Logger; //import org.genedb.querying.tmpquery.GeneSummary; //import org.genedb.web.mvc.controller.WebConstants; //import org.genedb.web.mvc.model.ResultsCacheFactory; // //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.servlet.ModelAndView; // //import java.util.List; // //import javax.servlet.http.HttpSession; // // //@Controller //@RequestMapping("/ResultsNavigator") //public class ResultsNavigatorController { // private static final Logger logger = Logger.getLogger(ResultsNavigatorController.class); // // //@Autowired //// private ResultsCacheFactory resultsCacheFactory; //// //// public void setResultsCacheFactory(ResultsCacheFactory resultsCacheFactory) { //// this.resultsCacheFactory = resultsCacheFactory; //// } // // @RequestMapping(method = RequestMethod.GET, value="/{key}" ) // public ModelAndView navigate( // HttpSession session, // @RequestParam(value="index") int index, // @PathVariable(value="key") String key//, // //@RequestParam(value="taxonNodeName", required=false) String taxonNodeName // ) { // // if (!key.startsWith(session.getId())){ // logger.warn("The key doesn't match the session - redirecting to error."); // session.setAttribute(WebConstants.FLASH_MSG, "Your session has timed out - Please repeat your search."); // return new ModelAndView("redirect:/QueryList"); // } // // ModelAndView ret = new ModelAndView(); // // List<GeneSummary> results = resultsCacheFactory.getResultsCacheMap().get(key).results; // if (results == null && results.size() == 0) { // return new ModelAndView("/Homepage"); // } // // if (index == -256) { // ret.setViewName("redirect:/Results/"+key); // return ret; // } // // int checkedIndex = index - 1; // // if (index < 0) { // checkedIndex = 0; // } // // if (index >= results.size()) { // checkedIndex = results.size() - 1; // } // // ret.addObject("index", checkedIndex+1); // ret.addObject("key", key); // ret.addObject("resultsLength", results.size()); //// if (taxonNodeName != null) { //// ret.addObject("taxonNodeName", taxonNodeName); //// } // String uniqueName = results.get(checkedIndex).getSystematicId(); // ret.setViewName("redirect:/gene/"+uniqueName); // return ret; // } // //}