override fun doHandle()

in aws-ecs-server/src/main/kotlin/jetbrains/buildServer/clouds/ecs/web/EcsDeleteImageDialogController.kt [28:47]


    override fun doHandle(httpServletRequest: HttpServletRequest, httpServletResponse: HttpServletResponse): ModelAndView? {
        val projectId = httpServletRequest.getParameter("projectId")
        val profileId = httpServletRequest.getParameter("profileId")
        val imageId = httpServletRequest.getParameter("imageId")
        if (StringUtil.isEmpty(imageId)) return null

        val client = cloudManager.getClientIfExistsByProjectExtId(projectId, profileId)
        val image = client.findImageById(imageId)

        if (BaseController.isGet(httpServletRequest)) {
            val modelAndView = ModelAndView(pluginDescriptor.getPluginResourcesPath("deleteImageDialog.jsp"))
            modelAndView.modelMap.put("instances", if (image == null) emptyList<Any>() else image.instances)
            return modelAndView
        } else if (isPost(httpServletRequest) && image != null) {
            for (instance in image.instances) {
                client.terminateInstance(instance)
            }
        }
        return null
    }