//package org.genedb.web.mvc.controller;
//
//import org.genedb.db.dao.SequenceDao;
//import org.genedb.web.mvc.model.BerkeleyMapFactory;
//
//import org.gmod.schema.feature.TopLevelFeature;
//
//import org.apache.log4j.Logger;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Controller;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestMethod;
//
//import java.io.IOException;
//import java.io.Writer;
//
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//
//@Controller
//@RequestMapping("/ContextMap")
//public class ContextMapController {
// /*
// * More than 30,000 pixels per tile, and almost all browsers
// * fail. More than 5,000 or so, and Linux Firefox crashes.
// */
// //private static final int TILE_WIDTH = 5000; // in pixels
//
// private Logger logger = Logger.getLogger(this.getClass());
//
// private BerkeleyMapFactory bmf;
//
// @Autowired
// private SequenceDao sequenceDao;
//
// @RequestMapping(method=RequestMethod.GET)
// public void writeMapInfo(HttpServletRequest request, Writer out,
// HttpServletResponse response, String chromosome) throws IOException {
//
//
// TopLevelFeature tlf = sequenceDao.getFeatureByUniqueName(chromosome, TopLevelFeature.class);
// if (tlf == null) {
//
// }
// if ( ! tlf.isTopLevelFeature()) {
// // TODO
// }
//
//
// String text = bmf.getContextMapMap().get(tlf.getFeatureId());
// if (text != null) {
// logger.trace("Cache hit for context map '"+chromosome+"' of '"+text+"'");
// } else {
// logger.debug(String.format("The context maps for '%s' aren't cached and need to be generated", chromosome));
// }
//
// out.write(text);
// }
//
// public void setBerkeleyMapFactory(BerkeleyMapFactory bmf) {
// this.bmf = bmf;
// }
//
//}