Class ProjectPortlet

  • All Implemented Interfaces:
    PageExtension
    Direct Known Subclasses:
    BuildTypesBasedPortlet

    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.
    • 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