diff options
author | pranitk1905 <pranit.kapdule@t-systems.com> | 2023-09-01 14:52:39 +0530 |
---|---|---|
committer | pranitk1905 <pranit.kapdule@t-systems.com> | 2023-09-04 13:25:24 +0530 |
commit | d82c53bd799b22660be17219da516415d4c56b46 (patch) | |
tree | 852f840dfaf3947a5f3c6266beb16ece581a7757 /prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/controllers/ScheduleControllerForAutoCommitDisabled.java | |
parent | be165c3b701c8c08b4ad4a895d988b33e14a01e0 (diff) |
[DCAEGEN2] Pass autoCommitDisabled mode configuration via CBSContentParser
Pass autoCommitDisabled mode configuration via CBSContentParser instead
of environment variables.
Issue-ID: DCAEGEN2-3365
Change-Id: I3c56153d66a7291966d298874f12a01839f3ee3f
Signed-off-by: pranitk1905 <pranit.kapdule@t-systems.com>
[DCAEGEN2] Pass autoCommitDisabled mode configuration via CBSContentParser
Mentioned Copyrights and removed tabbed indentations
Issue-ID: DCAEGEN2-3365
Change-Id: I3c56153d66a7291966d298874f12a01839f3ee3f
Signed-off-by: pranitk1905 <pranit.kapdule@t-systems.com>
[DCAEGEN2] Pass autoCommitDisabled mode configuration via CBSContentParser
Added missing copyrights
Issue-ID: DCAEGEN2-3365
Change-Id: I3c56153d66a7291966d298874f12a01839f3ee3f
Signed-off-by: pranitk1905 <pranit.kapdule@t-systems.com>
[DCAEGEN2] Pass autoCommitDisabled mode configuration via CBSContentParser
Added missing copyrights
Issue-ID: DCAEGEN2-3365
Change-Id: I3c56153d66a7291966d298874f12a01839f3ee3f
Signed-off-by: pranitk1905 <pranit.kapdule@t-systems.com>
[DCAEGEN2] Pass autoCommitDisabled mode configuration via CBSContentParser
Removed Docs folder from the project as it is maintained in different
place
Issue-ID: DCAEGEN2-3365
Change-Id: I3c56153d66a7291966d298874f12a01839f3ee3f
Signed-off-by: pranitk1905 <pranit.kapdule@t-systems.com>
Diffstat (limited to 'prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/controllers/ScheduleControllerForAutoCommitDisabled.java')
-rw-r--r-- | prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/controllers/ScheduleControllerForAutoCommitDisabled.java | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/controllers/ScheduleControllerForAutoCommitDisabled.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/controllers/ScheduleControllerForAutoCommitDisabled.java new file mode 100644 index 00000000..64e3a469 --- /dev/null +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/controllers/ScheduleControllerForAutoCommitDisabled.java @@ -0,0 +1,80 @@ +/* + * ============LICENSE_START======================================================= + * PNF-REGISTRATION-HANDLER + * ================================================================================ + * Copyright (C) 2023 Deutsche Telekom Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============LICENSE_END========================================================= + */ + +package org.onap.dcaegen2.services.prh.controllers; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.onap.dcaegen2.services.prh.tasks.commit.ScheduledTasksRunnerWithCommit; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Profile; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; +import reactor.core.publisher.Mono; + +/** + * * @author <a href="mailto:PRANIT.KAPDULE@t-systems.com">Pranit Kapdule</a> on + * * 24/08/23 + * */ +@RestController +@Api(value = "ScheduleController") +@Profile("autoCommitDisabled") +public class ScheduleControllerForAutoCommitDisabled { + + private static final Logger LOGGER = LoggerFactory.getLogger(ScheduleControllerForAutoCommitDisabled.class); + + private ScheduledTasksRunnerWithCommit scheduledTasksRunnerWithCommit; + + @Autowired(required = false) + public ScheduleControllerForAutoCommitDisabled(ScheduledTasksRunnerWithCommit scheduledTasksRunnerWithCommit) { + this.scheduledTasksRunnerWithCommit = scheduledTasksRunnerWithCommit; + } + + @RequestMapping(value = "start", method = RequestMethod.GET) + @ApiOperation(value = "Start scheduling worker request") + public Mono<ResponseEntity<String>> startTasks() { + LOGGER.trace("Receiving start scheduling worker request with Comit SchedulerController"); + return Mono.fromSupplier(scheduledTasksRunnerWithCommit::tryToStartTaskWithCommit) + .map(this::createStartTaskResponse); + } + + @RequestMapping(value = "stopPrh", method = RequestMethod.GET) + @ApiOperation(value = "Receiving stop scheduling worker request") + public Mono<ResponseEntity<String>> stopTask() { + LOGGER.trace("Receiving stop scheduling worker request"); + return Mono.defer(() -> { + scheduledTasksRunnerWithCommit.cancelTasks(); + return Mono.just(new ResponseEntity<>("PRH Service has been stopped!", HttpStatus.OK)); + }); + } + + private ResponseEntity<String> createStartTaskResponse(boolean wasScheduled) { + if (wasScheduled) { + return new ResponseEntity<>("PRH Service has been started!", HttpStatus.CREATED); + } else { + return new ResponseEntity<>("PRH Service is already running!", HttpStatus.NOT_ACCEPTABLE); + } + } +} |