jetbrains.buildServer.web.openapi.project
Class ProjectPortlet

java.lang.Object
  extended by jetbrains.buildServer.web.openapi.SimplePageExtension
      extended by jetbrains.buildServer.web.openapi.project.ProjectPortlet
All Implemented Interfaces:
PageExtension
Direct Known Subclasses:
BuildTypesBasedPortlet, ProjectGraphExtension

public abstract class ProjectPortlet
extends SimplePageExtension

A web extension for fragments on the project pages. Such extensions are available only if there is projectId in the request, and there is corresponding available project.


Field Summary
 
Fields inherited from class jetbrains.buildServer.web.openapi.SimplePageExtension
myCssPaths, myJsPaths, myPagePlaces
 
Constructor Summary
protected ProjectPortlet(PagePlaces manager, ProjectManager projectManager, PlaceId place, java.lang.String pluginName, java.lang.String includeUrl)
           
 
Method Summary
 void fillModel(java.util.Map<java.lang.String,java.lang.Object> model, javax.servlet.http.HttpServletRequest request)
          This method is useful for extensions that do not have controllers (such extensions usually return path to JSP as their include URL).
protected abstract  void fillModel(java.util.Map<java.lang.String,java.lang.Object> model, javax.servlet.http.HttpServletRequest request, SProject project, SUser user)
           
 SProject getProject(javax.servlet.http.HttpServletRequest request)
          Helper method
 boolean isAvailable(javax.servlet.http.HttpServletRequest request)
          Returns true if this extension is available (should be included on the page) for the specified request.
 
Methods inherited from class jetbrains.buildServer.web.openapi.SimplePageExtension
addCssFile, addJsFile, getCssPaths, getIncludeUrl, getJsPaths, getPlaceId, getPluginName, isGet, isPost, register, setIncludeUrl, setPlaceId, setPluginName, setPosition, toString, unregister
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ProjectPortlet

protected ProjectPortlet(PagePlaces manager,
                         ProjectManager projectManager,
                         PlaceId place,
                         @NonNls
                         java.lang.String pluginName,
                         @NonNls
                         java.lang.String includeUrl)
Method Detail

fillModel

public void fillModel(@NotNull
                      java.util.Map<java.lang.String,java.lang.Object> model,
                      @NotNull
                      javax.servlet.http.HttpServletRequest request)
Description copied from interface: PageExtension
This method is useful for extensions that do not have controllers (such extensions usually return path to JSP as their include URL). method is called before processing is passed to JSP. It allows page extension to modify model passed to JSP. Note that since main page controller also uses this model for storing its parameters in case of parameter name conflict extension parameter will be removed and warning message will be logged into the server log.

Specified by:
fillModel in interface PageExtension
Overrides:
fillModel in class SimplePageExtension
Parameters:
model - model to modify
request - HTTP request

isAvailable

public boolean isAvailable(@NotNull
                           javax.servlet.http.HttpServletRequest request)
Description copied from interface: PageExtension
Returns true if this extension is available (should be included on the page) for the specified request. If extension needs to be shown for some pages only, it can obtain original page URL via request attribute called "pageUrl":
String pageUrl = (String)request.getAttribute("pageUrl");

Specified by:
isAvailable in interface PageExtension
Overrides:
isAvailable in class SimplePageExtension
Parameters:
request - HTTP request
Returns:
true if extension should be included in the page place

fillModel

protected abstract void fillModel(@NotNull
                                  java.util.Map<java.lang.String,java.lang.Object> model,
                                  @NotNull
                                  javax.servlet.http.HttpServletRequest request,
                                  @NotNull
                                  SProject project,
                                  SUser user)

getProject

@Nullable
public SProject getProject(javax.servlet.http.HttpServletRequest request)
Helper method

Parameters:
request - HTTP request
Returns:
SBuildType deduced from buildTypeId parameter