magoffin.matt.ma2.web
Class ShadowServerController

java.lang.Object
  extended by org.springframework.context.support.ApplicationObjectSupport
      extended by org.springframework.web.context.support.WebApplicationObjectSupport
          extended by org.springframework.web.servlet.support.WebContentGenerator
              extended by org.springframework.web.servlet.mvc.AbstractController
                  extended by org.springframework.web.servlet.mvc.BaseCommandController
                      extended by org.springframework.web.servlet.mvc.AbstractCommandController
                          extended by magoffin.matt.ma2.web.AbstractCommandController
                              extended by magoffin.matt.ma2.web.ShadowServerController
All Implemented Interfaces:
org.springframework.context.ApplicationContextAware, org.springframework.web.servlet.mvc.Controller, org.springframework.web.servlet.mvc.LastModified

public class ShadowServerController
extends AbstractCommandController
implements org.springframework.web.servlet.mvc.LastModified

Controller for serving up media item shadows.

Version:
$Revision: 43 $ $Date: 2007-10-21 11:10:01 +1300 (Sun, 21 Oct 2007) $
Author:
Matt Magoffin (spamsqr@msqr.us)

Nested Class Summary
static class ShadowServerController.Command
          Command class for shadow server.
 
Field Summary
static java.lang.String OUTPUT_MIME
          The MIME type of the generated image.
 
Fields inherited from class magoffin.matt.ma2.web.AbstractCommandController
HTTP_USER_AGENT_HEADER
 
Fields inherited from class org.springframework.web.servlet.mvc.BaseCommandController
DEFAULT_COMMAND_NAME
 
Fields inherited from class org.springframework.web.servlet.support.WebContentGenerator
HEADER_CACHE_CONTROL, HEADER_EXPIRES, HEADER_PRAGMA, METHOD_GET, METHOD_HEAD, METHOD_POST
 
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport
logger
 
Constructor Summary
ShadowServerController()
           
 
Method Summary
protected  void generateShadow(ShadowServerController.Command cmd, java.io.OutputStream out)
          Generate the shadow and send to the output stream.
protected  java.lang.String getCacheKey(ShadowServerController.Command cmd)
          Generate a cache key for the given command.
 long getLastModified(javax.servlet.http.HttpServletRequest request)
           
 net.sf.ehcache.Cache getShadowCache()
           
protected  org.springframework.web.servlet.ModelAndView handle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Object command, org.springframework.validation.BindException errors)
           
 void setShadowCache(net.sf.ehcache.Cache shadowCache)
           
 
Methods inherited from class magoffin.matt.ma2.web.AbstractCommandController
getDomainObjectFactory, getErrorView, getMessagesSource, getSuccessView, getSystemBiz, getWebHelper, initApplicationContext, registerCalendarEditor, setDomainObjectFactory, setErrorView, setMessagesSource, setSuccessView, setSystemBiz, setWebHelper
 
Methods inherited from class org.springframework.web.servlet.mvc.AbstractCommandController
handleRequestInternal
 
Methods inherited from class org.springframework.web.servlet.mvc.BaseCommandController
bindAndValidate, checkCommand, createBinder, createCommand, getBindingErrorProcessor, getCommand, getCommandClass, getCommandName, getMessageCodesResolver, getPropertyEditorRegistrars, getValidator, getValidators, initBinder, isValidateOnBinding, onBind, onBind, onBindAndValidate, setBindingErrorProcessor, setCommandClass, setCommandName, setMessageCodesResolver, setPropertyEditorRegistrar, setPropertyEditorRegistrars, setValidateOnBinding, setValidator, setValidators, suppressBinding, suppressValidation
 
Methods inherited from class org.springframework.web.servlet.mvc.AbstractController
handleRequest, isSynchronizeOnSession, setSynchronizeOnSession
 
Methods inherited from class org.springframework.web.servlet.support.WebContentGenerator
applyCacheSeconds, applyCacheSeconds, cacheForSeconds, cacheForSeconds, checkAndPrepare, checkAndPrepare, getCacheSeconds, getSupportedMethods, isRequireSession, isUseCacheControlHeader, isUseExpiresHeader, preventCaching, setCacheSeconds, setRequireSession, setSupportedMethods, setUseCacheControlHeader, setUseExpiresHeader
 
Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport
getServletContext, getTempDir, getWebApplicationContext, isContextRequired
 
Methods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, requiredContextClass, setApplicationContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OUTPUT_MIME

public static final java.lang.String OUTPUT_MIME
The MIME type of the generated image.

See Also:
Constant Field Values
Constructor Detail

ShadowServerController

public ShadowServerController()
Method Detail

handle

protected org.springframework.web.servlet.ModelAndView handle(javax.servlet.http.HttpServletRequest request,
                                                              javax.servlet.http.HttpServletResponse response,
                                                              java.lang.Object command,
                                                              org.springframework.validation.BindException errors)
                                                       throws java.lang.Exception
Specified by:
handle in class org.springframework.web.servlet.mvc.AbstractCommandController
Throws:
java.lang.Exception

getCacheKey

protected java.lang.String getCacheKey(ShadowServerController.Command cmd)
Generate a cache key for the given command.

Parameters:
cmd - the command
Returns:
a cache key

getLastModified

public long getLastModified(javax.servlet.http.HttpServletRequest request)
Specified by:
getLastModified in interface org.springframework.web.servlet.mvc.LastModified

generateShadow

protected void generateShadow(ShadowServerController.Command cmd,
                              java.io.OutputStream out)
                       throws java.io.IOException
Generate the shadow and send to the output stream.

Other classes might want to override this method to generate the shadow in a different way.

Parameters:
cmd - the command
out - the output stream
Throws:
java.io.IOException - if an IO error occurs

getShadowCache

public net.sf.ehcache.Cache getShadowCache()
Returns:
Returns the shadowCache.

setShadowCache

public void setShadowCache(net.sf.ehcache.Cache shadowCache)
Parameters:
shadowCache - The shadowCache to set.