jetbrains.buildServer.web.openapi
Interface WebControllerManager

All Superinterfaces:
PagePlaces

public interface WebControllerManager
extends PagePlaces

Plugin web controllers manager


Method Summary
 void addPageExtension(WebPlace addTo, WebExtension extension)
          Deprecated. see PagePlace.addExtension(PageExtension)
 ControllerAction getAction(BaseController controller, javax.servlet.http.HttpServletRequest request)
          Get an action, sutable for processing of the request and associated with the specified controller
 void registerAction(BaseController controller, ControllerAction controllerAction)
          Register ControllerAction.
 void registerController(java.lang.String path, org.springframework.web.servlet.mvc.Controller controller)
          Register another Spring controller in the Web application.
 void removePageExtension(WebPlace removeFrom, WebExtension extension)
          Deprecated. see PagePlace.removeExtension(PageExtension)
 
Methods inherited from interface jetbrains.buildServer.web.openapi.PagePlaces
getPlaceById
 

Method Detail

registerController

void registerController(@NotNull
                        java.lang.String path,
                        @NotNull
                        org.springframework.web.servlet.mvc.Controller controller)
Register another Spring controller in the Web application.
By default all controllers require logged in user and if there is no such user in the session redirect to the login page is sent. If your controller does not require logged in user you can indicate this via AuthorizationInterceptor.
If you need to check any permissions before processing request, see RequestPermissionsChecker
Note that by default controller will receive requests if URL ends with .html. If controller needs to handle requests to any resources (with any suffixes) then it should use syntax like: /app/<path>/** where <path> can be any string and prefix /app is required. URLs to such controllers will look like: http://server/app/<path>/resource.

Parameters:
path - path to register controller for (must start with /)
controller - controller to register

registerAction

void registerAction(@NotNull
                    BaseController controller,
                    @NotNull
                    ControllerAction controllerAction)
Register ControllerAction. Such action is invoked when using urls like /action.html?parameters or /ajax.html?parameters. In the latter case ControllerAction.process(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.jdom.Element) will get not null ajaxResponse parameter.

Parameters:
controller - controller to associate action with
controllerAction - action

getAction

ControllerAction getAction(@NotNull
                           BaseController controller,
                           @NotNull
                           javax.servlet.http.HttpServletRequest request)
Get an action, sutable for processing of the request and associated with the specified controller

Parameters:
controller - controller
request - request
Returns:
controller action

addPageExtension

@Deprecated
void addPageExtension(WebPlace addTo,
                                 WebExtension extension)
Deprecated. see PagePlace.addExtension(PageExtension)

Add a web page fragment for some place WebPlace, fragment is added to the tail of extensions list

Parameters:
addTo - - the target location for this page extension, can be additional tab or additional content
extension - web extension

removePageExtension

@Deprecated
void removePageExtension(WebPlace removeFrom,
                                    WebExtension extension)
Deprecated. see PagePlace.removeExtension(PageExtension)

Remove a web page fragment for some place WebPlace

Parameters:
removeFrom - - the target location for this page extension, can be additional tab or additional content
extension - web extension