All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.vip.saturn.job.console.controller.gui.JobConfigController Maven / Gradle / Ivy

/**
 * Copyright 1999-2015 dangdang.com.
 * 

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *

*/ package com.vip.saturn.job.console.controller.gui; import com.vip.saturn.job.console.aop.annotation.Audit; import com.vip.saturn.job.console.aop.annotation.AuditParam; import com.vip.saturn.job.console.controller.SuccessResponseEntity; import com.vip.saturn.job.console.domain.RequestResult; import com.vip.saturn.job.console.exception.SaturnJobConsoleException; import com.vip.saturn.job.console.service.JobService; import com.vip.saturn.job.console.utils.PermissionKeys; import com.vip.saturn.job.console.vo.UpdateJobConfigVo; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.List; /** * Job config related operations. */ @RequestMapping("/console/namespaces/{namespace:.+}/jobs/{jobName}/config") public class JobConfigController extends AbstractGUIController { @Resource private JobService jobService; @ApiResponses(value = {@ApiResponse(code = 200, message = "Success/Fail", response = RequestResult.class)}) @GetMapping public SuccessResponseEntity getJobConfig(final HttpServletRequest request, @AuditParam("namespace") @PathVariable String namespace, @AuditParam("jobName") @PathVariable String jobName) throws SaturnJobConsoleException { return new SuccessResponseEntity(jobService.getJobConfigVo(namespace, jobName)); } @ApiResponses(value = {@ApiResponse(code = 200, message = "Success/Fail", response = RequestResult.class)}) @Audit @PostMapping public SuccessResponseEntity updateJobConfig(final HttpServletRequest request, @AuditParam("namespace") @PathVariable String namespace, @AuditParam("jobName") @PathVariable String jobName, UpdateJobConfigVo updateJobConfigVo) throws SaturnJobConsoleException { assertIsPermitted(PermissionKeys.jobUpdate, namespace); jobService.updateJobConfig(namespace, updateJobConfigVo.toJobConfig(), getCurrentLoginUserName()); return new SuccessResponseEntity(); } @ApiResponses(value = {@ApiResponse(code = 200, message = "Success/Fail", response = RequestResult.class)}) @Audit @PostMapping("/runAtOnce") public SuccessResponseEntity runAtOnce(@AuditParam("namespace") @PathVariable String namespace, @AuditParam("jobName") @PathVariable String jobName) throws SaturnJobConsoleException { assertIsPermitted(PermissionKeys.jobRunAtOnce, namespace); jobService.runAtOnce(namespace, jobName); return new SuccessResponseEntity(); } @ApiResponses(value = {@ApiResponse(code = 200, message = "Success/Fail", response = RequestResult.class)}) @Audit @PostMapping("/stopAtOnce") public SuccessResponseEntity stopAtOnce(@AuditParam("namespace") @PathVariable String namespace, @AuditParam("jobName") @PathVariable String jobName) throws SaturnJobConsoleException { assertIsPermitted(PermissionKeys.jobStopAtOnce, namespace); jobService.stopAtOnce(namespace, jobName); return new SuccessResponseEntity(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy