/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.server.service.admin.mvc.controller; import java.io.InputStreamReader; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.core.io.Resource; import com.enonic.cms.framework.util.HttpServletUtil; import com.enonic.cms.core.AdminConsoleTranslationService; public class ResourceTranslationController extends ResourceController { private AdminConsoleTranslationService languageMap = AdminConsoleTranslationService.getInstance(); protected void serveResourceToResponse( HttpServletRequest request, HttpServletResponse response, Resource resource ) throws Exception { StringBuffer contentType = new StringBuffer(); contentType.append( mimeTypeResolver.getMimeType( resource.getFilename() ) ); contentType.append( "; charset=UTF-8" ); response.setContentType( contentType.toString() ); String languageCode = (String) request.getSession( true ).getAttribute( "languageCode" ); Map translationMap = languageMap.getTranslationMap( languageCode ); TranslationWriter translationWriter = new TranslationWriter( translationMap, response.getWriter() ); InputStreamReader in = new InputStreamReader( resource.getInputStream(), "UTF-8" ); HttpServletUtil.copyNoCloseOut( in, translationWriter ); } }