org.sakaiproject.hybrid.tool
Class SiteVisitToolPlacementServlet

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by org.sakaiproject.hybrid.tool.SiteVisitToolPlacementServlet
All Implemented Interfaces:
Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public class SiteVisitToolPlacementServlet
extends javax.servlet.http.HttpServlet

Based on https://source.caret.cam.ac.uk/camtools/trunk/camtools/sdata/tool/sakai -sdata-impl/src/main/java/org/sakaiproject/sdata/services/site/SiteBean.java

Requires one getParameter: siteId. Option getParameter: writeEvent=true -- Records presence.begin and site.visit events.

Servlet runs in the context of the current user, so they must have access to the siteId specified. Normal HTTP error codes to expect are: HttpServletResponse.SC_NOT_FOUND for an invalid siteId, or HttpServletResponse.SC_FORBIDDEN if the current user does not have permission to access the specified site.

See Also:
Serialized Form

Nested Class Summary
static class SiteVisitToolPlacementServlet.ResponseCommittedException
           
 
Field Summary
protected  org.sakaiproject.component.api.ComponentManager componentManager
           
protected  ToolHelperImpl toolHelper
           
 
Constructor Summary
SiteVisitToolPlacementServlet()
           
 
Method Summary
protected  boolean canAccessAtLeastOneTool(org.sakaiproject.site.api.Site site, List<org.sakaiproject.site.api.SitePage> pages)
          Loops through all of the site pages and checks to see if the current user can access at least one of those tools.
protected  boolean canAccessAtLeastOneTool(org.sakaiproject.site.api.Site site, org.sakaiproject.site.api.SitePage page)
          Goes through any tools on a single particular page to see if the current user can access at least one of the tools.
protected  void doGet(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)
           
 void init(javax.servlet.ServletConfig config)
           
protected  void sendError(javax.servlet.http.HttpServletResponse resp, int errorCode, String message)
          Simple little wrapper for HttpServletResponse.sendError - just to improve readability of main-line code.
protected  void setupTestCase(org.sakaiproject.component.api.ComponentManager componentManager)
          Only used for unit testing setup.
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service, service
 
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

componentManager

protected transient org.sakaiproject.component.api.ComponentManager componentManager

toolHelper

protected transient ToolHelperImpl toolHelper
Constructor Detail

SiteVisitToolPlacementServlet

public SiteVisitToolPlacementServlet()
Method Detail

doGet

protected void doGet(javax.servlet.http.HttpServletRequest req,
                     javax.servlet.http.HttpServletResponse resp)
              throws javax.servlet.ServletException,
                     IOException
Overrides:
doGet in class javax.servlet.http.HttpServlet
Throws:
javax.servlet.ServletException
IOException
See Also:
HttpServlet.doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)

canAccessAtLeastOneTool

protected boolean canAccessAtLeastOneTool(org.sakaiproject.site.api.Site site,
                                          List<org.sakaiproject.site.api.SitePage> pages)
Loops through all of the site pages and checks to see if the current user can access at least one of those tools.

Parameters:
site -
Returns:
true if at least one tool can be accessed.

canAccessAtLeastOneTool

protected boolean canAccessAtLeastOneTool(org.sakaiproject.site.api.Site site,
                                          org.sakaiproject.site.api.SitePage page)
Goes through any tools on a single particular page to see if the current user can access at least one of the tools.

Parameters:
site - The site we're using.
page - The page whose tools to check.
Returns:
true if at least one tool can be accessed.

sendError

protected void sendError(javax.servlet.http.HttpServletResponse resp,
                         int errorCode,
                         String message)
                  throws IOException
Simple little wrapper for HttpServletResponse.sendError - just to improve readability of main-line code.

Parameters:
resp -
errorCode -
message -
Throws:
IOException
SiteVisitToolPlacementServlet.ResponseCommittedException

init

public void init(javax.servlet.ServletConfig config)
          throws javax.servlet.ServletException
Specified by:
init in interface javax.servlet.Servlet
Overrides:
init in class javax.servlet.GenericServlet
Throws:
javax.servlet.ServletException

setupTestCase

protected void setupTestCase(org.sakaiproject.component.api.ComponentManager componentManager)
Only used for unit testing setup.

Parameters:
componentManager -


Copyright © 2009-2012 The Sakai Foundation. All Rights Reserved.