Package org.silverpeas.components.kmelia.servlets

## Class KmeliaRequestRouter

- java.lang.Object
- - javax.servlet.GenericServlet
  - - javax.servlet.http.HttpServlet
    - - org.silverpeas.core.web.mvc.webcomponent.SilverpeasHttpServlet
      - - org.silverpeas.core.web.mvc.webcomponent.SilverpeasAuthenticatedHttpServlet
        - - org.silverpeas.core.web.mvc.route.ComponentRequestRouter<KmeliaSessionController>
          - - org.silverpeas.components.kmelia.servlets.KmeliaRequestRouter

- All Implemented Interfaces:
    `Serializable`, `javax.servlet.Servlet`, `javax.servlet.ServletConfig`

      public class KmeliaRequestRouter
      extends org.silverpeas.core.web.mvc.route.ComponentRequestRouter<KmeliaSessionController>

  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.silverpeas.core.web.mvc.webcomponent.SilverpeasHttpServlet

      `org.silverpeas.core.web.mvc.webcomponent.SilverpeasHttpServlet.HttpError, org.silverpeas.core.web.mvc.webcomponent.SilverpeasHttpServlet.UserSessionStatus`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `KmeliaRequestRouter()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected boolean` | `checkUserAuthorization​(String function, KmeliaSessionController kmelia)` |
    `KmeliaSessionController` | `createComponentSessionController​(org.silverpeas.core.web.mvc.controller.MainSessionController mainSessionCtrl, org.silverpeas.core.web.mvc.controller.ComponentContext context)` | This method creates a KmeliaSessionController instance
    `String` | `getDestination​(String function, KmeliaSessionController kmelia, org.silverpeas.core.web.http.HttpRequest request)` | This method has to be implemented by the component request rooter it has to compute a destination page
    `org.silverpeas.core.contribution.template.publication.PublicationTemplateManager` | `getPublicationTemplateManager()` | Gets an instance of PublicationTemplateManager.
    `String` | `getSessionControlBeanName()` | This method has to be implemented in the component request rooter class. returns the session control bean name to be put in the request object ex : for almanach, returns "almanach"

    - ### Methods inherited from class org.silverpeas.core.web.mvc.route.ComponentRequestRouter

      `doGet, doPost, emptyJsonResponse, getComponentId, getOrganizationController, hasTheSessionSecurityTokenToBeRenewed, sendJson, updateSessionManagement`

    - ### Methods inherited from class org.silverpeas.core.web.mvc.webcomponent.SilverpeasAuthenticatedHttpServlet

      `getMainSessionController, getSessionInfo, getSynchronizerTokenService, renewSessionSecurityToken, service, throwUserSessionExpiration`

    - ### Methods inherited from class org.silverpeas.core.web.mvc.webcomponent.SilverpeasHttpServlet

      `existOpenedUserSession, forbidden, notFound, preconditionFailed, redirectOrForwardService, sendError, sendError, throwHttpForbiddenError, throwHttpForbiddenError, throwHttpNotFoundError, throwHttpNotFoundError, throwHttpPreconditionFailedError, throwHttpPreconditionFailedError`

    - ### Methods inherited from class javax.servlet.http.HttpServlet

      `doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service`

    - ### Methods inherited from class javax.servlet.GenericServlet

      `destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, init, log, log`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### KmeliaRequestRouter

          public KmeliaRequestRouter()

  - ### Method Detail

    - #### createComponentSessionController

          public KmeliaSessionController createComponentSessionController​(org.silverpeas.core.web.mvc.controller.MainSessionController mainSessionCtrl,
                                                                          org.silverpeas.core.web.mvc.controller.ComponentContext context)

      This method creates a KmeliaSessionController instance
      Specified by:
        `createComponentSessionController` in class `org.silverpeas.core.web.mvc.route.ComponentRequestRouter<KmeliaSessionController>`
      Parameters:
        `mainSessionCtrl` - The MainSessionController instance
        `context` - Context of current component instance
      Returns:
        a KmeliaSessionController instance

    - #### getSessionControlBeanName

          public String getSessionControlBeanName()

      This method has to be implemented in the component request rooter class. returns the session control bean name to be put in the request object ex : for almanach, returns "almanach"
      Specified by:
        `getSessionControlBeanName` in class `org.silverpeas.core.web.mvc.route.ComponentRequestRouter<KmeliaSessionController>`

    - #### getDestination

          public String getDestination​(String function,
                                       KmeliaSessionController kmelia,
                                       org.silverpeas.core.web.http.HttpRequest request)

      This method has to be implemented by the component request rooter it has to compute a destination page
      Specified by:
        `getDestination` in class `org.silverpeas.core.web.mvc.route.ComponentRequestRouter<KmeliaSessionController>`
      Parameters:
        `function` - The entering request function ( : "Main.jsp")
        `kmelia` - The component Session Control, build and initialised.
        `request` - The entering request. The request rooter need it to get parameters
      Returns:
        The complete destination URL for a forward (ex : "/almanach/jsp/almanach.jsp?flag=user")

    - #### checkUserAuthorization

          protected boolean checkUserAuthorization​(String function,
                                                   KmeliaSessionController kmelia)

      Overrides:
        `checkUserAuthorization` in class `org.silverpeas.core.web.mvc.route.ComponentRequestRouter<KmeliaSessionController>`

    - #### getPublicationTemplateManager

          public org.silverpeas.core.contribution.template.publication.PublicationTemplateManager getPublicationTemplateManager()

      Gets an instance of PublicationTemplateManager.
      Returns:
        an instance of PublicationTemplateManager.