package it.cnr.isti.driver.web;

import it.cnr.isti.driver.utils.CachedImage;
import it.cnr.isti.driver.utils.CachedImageDao;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.view.AbstractView;

public class CachedImageView extends AbstractView {
	public static Log log = LogFactory.getLog(CachedImageView.class);

	@Autowired
	protected CachedImageDao cachedImageDao;

	@Override
	protected void renderMergedOutputModel(Map map, HttpServletRequest request,
			HttpServletResponse response) throws Exception {

		String url = ((String) map.get("url")).trim();

		CachedImage cachedImage = cachedImageDao.getCachedImage(url);
		if (cachedImage != null) {
			response.setContentType(cachedImage.getContentType());
			response.getOutputStream().write(cachedImage.getData());
		}

	}

}