Class BaseFormXmlController
- java.lang.Object
-
- org.springframework.context.support.ApplicationObjectSupport
-
- org.springframework.web.context.support.WebApplicationObjectSupport
-
- org.springframework.web.servlet.support.WebContentGenerator
-
- org.springframework.web.servlet.mvc.AbstractController
-
- jetbrains.buildServer.controllers.BaseController
-
- jetbrains.buildServer.controllers.BaseFormXmlController
-
- All Implemented Interfaces:
org.springframework.beans.factory.Aware
,org.springframework.context.ApplicationContextAware
,org.springframework.web.context.ServletContextAware
,org.springframework.web.servlet.mvc.Controller
- Direct Known Subclasses:
AbstractEditBuildTypeController
,AbstractSubmitCreateUserController
,AbstractUpdateUserController
,AdminCreateProjectController
,AdminEditDependenciesController
,AdminEditProjectController
,AgentDetailsController
,AgentDistributionSettingsController
,AgentPoolController
,AgentSelectConfigurationsPopupController
,AgentsParametersReportController
,AgentsStatisticsController
,AgentsStatisticsTableController
,ArtifactsStorageParamsController
,AttachToGroupsController
,AttachUsersController
,BackupController
,BuildQueueController
,BuildsScheduleController
,BuildTypeInvestigationDialogController
,BulkInvestigateDialogController
,ChangeExpandedViewController
,ChangeLogFilterController
,ChangesController
,CheckoutRulesController
,CleanupController
,CopyBuildStepController
,CopyBuildTypeController
,CopyProjectController
,CopyTemplateController
,CreateBuildTypeController
,CreateObjectFromUrlController
,CreateTemplateController
,DiscoveredRunnersController
,EditAccessTokenController
,EditGroupController
,EditNotificationRulesController
,EditNotifierSettingsController
,EditParametersSpecController
,EditProjectParametersController
,EditProviderController
,EditVcsRootsController
,EditVcsSettingsController
,FileUploadController
,ForgotPasswordController
,GenerateSettingsController
,HealthStatusReportController
,HttpsToggleController
,IprReparseController
,LicenseManagerController
,LoginSubmitController
,MoveBuildTypeController
,MoveBuildTypeTemplateController
,MoveProjectController
,MoveVcsRootController
,MultipartFormController
,OAuthConnectionsController
,PasswordChangeController
,PauseProjectController
,PopupDialogController
,ProjectsImportController
,RegenerateExternalIdsController
,ResetPasswordController
,ScheduleTriggerInspectController
,ServerConfigGeneralController
,SetupObjectFromVcsUrlController
,ShowAgreementController
,SubmitSetupAdminController
,TestConnectionController
,ToolInstallController
,TwoFactorStepController
,VersionedSettingsActionsController
,VersionedSettingsController
,VersionedSettingsDslContextParametersTab
,ViewAuditLogController
,ViewQueuedController
,ViewQueuedPersonalController
,VisibleBuildTypesController
,VisibleProjectsController
public abstract class BaseFormXmlController extends BaseController
Controller which output is xml in case of POST request and usual response in case of GET.
-
-
Field Summary
-
Fields inherited from class jetbrains.buildServer.controllers.BaseController
myServer
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
BaseFormXmlController()
ConstructorBaseFormXmlController(SBuildServer server)
Constructor
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
addMessage(javax.servlet.http.HttpServletRequest request, String key, String text, String... parameters)
Adds a messages to the messages storage associated with specified request.protected org.springframework.validation.BindingResult
bindFromRequest(javax.servlet.http.HttpServletRequest request, Object bean)
Binds the specified bean properties from the HTTP request.protected abstract org.springframework.web.servlet.ModelAndView
doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Implement this method to process GET requests.protected org.springframework.web.servlet.ModelAndView
doHandle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Performs actual request processingprotected abstract void
doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, org.jdom.Element xmlResponse)
Implement this method to process POST requests.protected void
forgetFormBean(javax.servlet.http.HttpServletRequest request, Class clazz)
Removes a form bean of the specified class from the session.protected void
forgetFormBean(javax.servlet.http.HttpServletRequest request, Class clazz, String customKey)
Removes a form bean of the specified class from the session.protected <T> T
getOrCreateFormBean(javax.servlet.http.HttpServletRequest request, Class<T> clazz, String customKey, FormUtil.FormCreator<T> formBeanCreator)
Retrieves or creates (using the specified form bean creator) a form bean of the specified class.protected <T> T
getOrCreateFormBean(javax.servlet.http.HttpServletRequest request, Class<T> clazz, FormUtil.FormCreator<T> formBeanCreator)
Retrieves or creates (using the specified form bean creator) a form bean of the specified class.protected boolean
isInitPageRequest(javax.servlet.http.HttpServletRequest request)
Returns true if request contains parameter: init.protected org.springframework.web.servlet.ModelAndView
selfRedirectOnInit(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
protected void
writeErrors(org.jdom.Element xmlResponse, ActionErrors errors)
Writes errors to the XML response.protected void
writeRedirect(org.jdom.Element xmlResponse, String url)
Writes redirect to the XML response.-
Methods inherited from class jetbrains.buildServer.controllers.BaseController
getOrCreateMessages, handleRequest, handleRequestInternal, isGet, isPost, redirectTo, setExceptionResolvers, simpleView
-
Methods inherited from class org.springframework.web.servlet.mvc.AbstractController
isSynchronizeOnSession, setSynchronizeOnSession
-
Methods inherited from class org.springframework.web.servlet.support.WebContentGenerator
applyCacheControl, applyCacheSeconds, applyCacheSeconds, cacheForSeconds, cacheForSeconds, checkAndPrepare, checkAndPrepare, checkRequest, getAllowHeader, getCacheControl, getCacheSeconds, getSupportedMethods, getVaryByRequestHeaders, isAlwaysMustRevalidate, isRequireSession, isUseCacheControlHeader, isUseCacheControlNoStore, isUseExpiresHeader, prepareResponse, preventCaching, setAlwaysMustRevalidate, setCacheControl, setCacheSeconds, setRequireSession, setSupportedMethods, setUseCacheControlHeader, setUseCacheControlNoStore, setUseExpiresHeader, setVaryByRequestHeaders
-
Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
-
-
-
-
Constructor Detail
-
BaseFormXmlController
public BaseFormXmlController(@NotNull SBuildServer server)
Constructor- Parameters:
server
- SBuildServer instance
-
BaseFormXmlController
protected BaseFormXmlController()
Constructor
-
-
Method Detail
-
doHandle
@Nullable protected org.springframework.web.servlet.ModelAndView doHandle(@NotNull javax.servlet.http.HttpServletRequest request, @NotNull javax.servlet.http.HttpServletResponse response) throws Exception
Description copied from class:BaseController
Performs actual request processing- Specified by:
doHandle
in classBaseController
- Parameters:
request
- HTTP requestresponse
- HTTP response- Returns:
- model and view components
- Throws:
Exception
- exception
-
doGet
protected abstract org.springframework.web.servlet.ModelAndView doGet(@NotNull javax.servlet.http.HttpServletRequest request, @NotNull javax.servlet.http.HttpServletResponse response)
Implement this method to process GET requests. Usually on GET request a form bean is created and a page is shown.- Parameters:
request
- HTTP requestresponse
- HTTP response- Returns:
- model and view components
-
doPost
protected abstract void doPost(@NotNull javax.servlet.http.HttpServletRequest request, @NotNull javax.servlet.http.HttpServletResponse response, @NotNull org.jdom.Element xmlResponse)
Implement this method to process POST requests. Usually POST requests are changing state of the form bean and underlying model. To output errors (if request validation failed)ActionErrors
can be used. To add messages (if request processing was successful) useaddMessage(javax.servlet.http.HttpServletRequest, String, String, String...)
method.- Parameters:
request
- HTTP requestresponse
- HTTP responsexmlResponse
- XML response for AJAX requests
-
writeRedirect
protected void writeRedirect(@NotNull org.jdom.Element xmlResponse, @NotNull String url)
Writes redirect to the XML response. This redirect command is then can be processed by JavaScript on the client side.- Parameters:
xmlResponse
- XML responseurl
- URL
-
writeErrors
protected void writeErrors(@NotNull org.jdom.Element xmlResponse, @NotNull ActionErrors errors)
Writes errors to the XML response. These errors can be then processed by JavaScript.- Parameters:
xmlResponse
- XML responseerrors
- errors
-
bindFromRequest
protected org.springframework.validation.BindingResult bindFromRequest(@NotNull javax.servlet.http.HttpServletRequest request, @NotNull Object bean)
Binds the specified bean properties from the HTTP request.- Parameters:
request
- HTTP requestbean
- bean- Returns:
- binding result
-
getOrCreateFormBean
protected <T> T getOrCreateFormBean(javax.servlet.http.HttpServletRequest request, Class<T> clazz, FormUtil.FormCreator<T> formBeanCreator)
Retrieves or creates (using the specified form bean creator) a form bean of the specified class.- Parameters:
request
- HTTP requestclazz
- classformBeanCreator
- form bean creator- Returns:
- Retrieves or creates form bean of the specified class
-
getOrCreateFormBean
protected <T> T getOrCreateFormBean(javax.servlet.http.HttpServletRequest request, Class<T> clazz, String customKey, FormUtil.FormCreator<T> formBeanCreator)
Retrieves or creates (using the specified form bean creator) a form bean of the specified class.- Parameters:
request
- HTTP requestclazz
- classcustomKey
- additional key identifying the form bean in the sessionformBeanCreator
- form bean creator- Returns:
- Retrieves or creates form bean of the specified class
-
forgetFormBean
protected void forgetFormBean(javax.servlet.http.HttpServletRequest request, Class clazz)
Removes a form bean of the specified class from the session.- Parameters:
request
- HTTP requestclazz
- class
-
forgetFormBean
protected void forgetFormBean(javax.servlet.http.HttpServletRequest request, Class clazz, String customKey)
Removes a form bean of the specified class from the session.- Parameters:
request
- HTTP requestclazz
- classcustomKey
- additional key
-
isInitPageRequest
protected boolean isInitPageRequest(javax.servlet.http.HttpServletRequest request)
Returns true if request contains parameter: init.- Parameters:
request
- HTTP request- Returns:
- true if init parameter presents
-
addMessage
protected void addMessage(@NotNull javax.servlet.http.HttpServletRequest request, @NotNull String key, String text, String... parameters)
Adds a messages to the messages storage associated with specified request.The caller cannot pass raw HTML message using this constructor, as the
message
andparameters
will be escaped.- Parameters:
request
- HTTP requestkey
- message keytext
- messageparameters
- if specified then substrings like {0}, {1}, {2} and so on will be replaced with parameter with corresponding index.- See Also:
ActionMessages.addMessage(String, String, String...)
-
selfRedirectOnInit
@Nullable protected org.springframework.web.servlet.ModelAndView selfRedirectOnInit(@NotNull javax.servlet.http.HttpServletRequest request, @NotNull javax.servlet.http.HttpServletResponse response)
-
-