diff options
author | GuangrongFu <fu.guangrong@zte.com.cn> | 2021-12-18 15:08:14 +0800 |
---|---|---|
committer | Guangrong Fu <fu.guangrong@zte.com.cn> | 2022-08-11 18:51:35 +0800 |
commit | c4bd70c1f74cd04c441f76de4359e166a089660a (patch) | |
tree | 634a0da7181a1fa8030fb6beb14d8a7d2f6d86c3 /engine-d/src/main/java/org/onap/holmes/engine/resources/EngineResources.java | |
parent | 61da3e3d053548815054384e5e18750e87463ee9 (diff) |
Switched from Dropwizard to Springboot
Issue-ID: HOLMES-511
Signed-off-by: GuangrongFu <fu.guangrong@zte.com.cn>
Change-Id: I72b53ad4073e0a07a4c6a234781dc0d139584dda
Diffstat (limited to 'engine-d/src/main/java/org/onap/holmes/engine/resources/EngineResources.java')
-rw-r--r-- | engine-d/src/main/java/org/onap/holmes/engine/resources/EngineResources.java | 92 |
1 files changed, 35 insertions, 57 deletions
diff --git a/engine-d/src/main/java/org/onap/holmes/engine/resources/EngineResources.java b/engine-d/src/main/java/org/onap/holmes/engine/resources/EngineResources.java index 0aa3a59..cb41533 100644 --- a/engine-d/src/main/java/org/onap/holmes/engine/resources/EngineResources.java +++ b/engine-d/src/main/java/org/onap/holmes/engine/resources/EngineResources.java @@ -1,12 +1,12 @@ /** * Copyright 2017 ZTE Corporation. - * + * <p> * 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 - * + * <p> * http://www.apache.org/licenses/LICENSE-2.0 - * + * <p> * 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. @@ -16,64 +16,59 @@ package org.onap.holmes.engine.resources; -import com.codahale.metrics.annotation.Timed; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; -import org.jvnet.hk2.annotations.Service; import org.onap.holmes.common.dmaap.store.ClosedLoopControlNameCache; import org.onap.holmes.common.exception.CorrelationException; import org.onap.holmes.common.utils.ExceptionUtil; -import org.onap.holmes.common.utils.LanguageUtil; import org.onap.holmes.engine.manager.DroolsEngine; import org.onap.holmes.engine.request.CompileRuleRequest; import org.onap.holmes.engine.request.DeployRuleRequest; import org.onap.holmes.engine.response.CorrelationRuleResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import javax.inject.Inject; -import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.*; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; -import java.util.Locale; +import jakarta.ws.rs.core.MediaType; import java.util.regex.Matcher; import java.util.regex.Pattern; -@Service -@Path("/rule") -@Api(tags = {"Holmes Engine Management"}) -@Produces(MediaType.APPLICATION_JSON) @Slf4j +@RestController +@RequestMapping("/rule") +@Api(tags = {"Holmes Engine Management"}) public class EngineResources { - @Inject - DroolsEngine droolsEngine; - private Pattern packagePattern = Pattern.compile("package[\\s]+([^;]+)[;\\s]*"); + private Pattern packagePattern = Pattern.compile("package[\\s]+([^;]+)[;\\s]*"); private ClosedLoopControlNameCache closedLoopControlNameCache; + private DroolsEngine droolsEngine; + + @Autowired + public void setDroolsEngine(DroolsEngine droolsEngine) { + this.droolsEngine = droolsEngine; + } - @Inject + @Autowired public void setClosedLoopControlNameCache(ClosedLoopControlNameCache closedLoopControlNameCache) { this.closedLoopControlNameCache = closedLoopControlNameCache; } - @PUT - @Produces(MediaType.APPLICATION_JSON) - @Timed + @ResponseBody + @PutMapping(produces = MediaType.APPLICATION_JSON) public CorrelationRuleResponse deployRule( @ApiParam(value = "The request entity of the HTTP call, which comprises three " + "fields: \"content\" , \"loopControlName\" and \"engineId\". " + "The \"content\" should be a valid Drools rule string and the \"engineId\" " - + "has to be \"engine-d\" in the Amsterdam release.", required = true) DeployRuleRequest deployRuleRequest, - @Context HttpServletRequest httpRequest) { + + "has to be \"engine-d\" in the Amsterdam release.", required = true) + @RequestBody DeployRuleRequest deployRuleRequest) { CorrelationRuleResponse crResponse = new CorrelationRuleResponse(); - Locale locale = LanguageUtil.getLocale(httpRequest); try { String packageName = getPackageName(deployRuleRequest.getContent()); - if(packageName == null) { - throw new CorrelationException("Could not find package name in rule: "+deployRuleRequest.getContent()); + if (packageName == null) { + throw new CorrelationException("Could not find package name in rule: " + deployRuleRequest.getContent()); } - + closedLoopControlNameCache .put(packageName, deployRuleRequest.getLoopControlName()); String packageNameRet = droolsEngine.deployRule(deployRuleRequest); @@ -97,15 +92,8 @@ public class EngineResources { return crResponse; } - @DELETE - @Produces(MediaType.APPLICATION_JSON) - @Timed - @Path("/{packageName}") - public boolean undeployRule(@PathParam("packageName") String packageName, - @Context HttpServletRequest httpRequest) { - - Locale locale = LanguageUtil.getLocale(httpRequest); - + @DeleteMapping(value = "/{packageName}") + public void undeployRule(@PathVariable("packageName") String packageName) { try { droolsEngine.undeployRule(packageName); closedLoopControlNameCache.remove(packageName); @@ -113,36 +101,26 @@ public class EngineResources { log.error(correlationException.getMessage(), correlationException); throw ExceptionUtil.buildExceptionResponse(correlationException.getMessage()); } - - return true; } - - @POST + @PostMapping @ApiOperation(value = "Check the validity of a rule.") - @Produces(MediaType.APPLICATION_JSON) - @Timed - public boolean compileRule(CompileRuleRequest compileRuleRequest, - @Context HttpServletRequest httpRequest) { - - Locale locale = LanguageUtil.getLocale(httpRequest); - + public void compileRule(@RequestBody CompileRuleRequest compileRuleRequest) { try { droolsEngine.compileRule(compileRuleRequest.getContent()); } catch (CorrelationException correlationException) { log.error(correlationException.getMessage(), correlationException); throw ExceptionUtil.buildExceptionResponse(correlationException.getMessage()); } - return true; } - - private String getPackageName(String contents){ + + private String getPackageName(String contents) { Matcher m = packagePattern.matcher(contents); - - if (m.find( )) { - return m.group(1); - }else { - return null; + + if (m.find()) { + return m.group(1); + } else { + return null; } } } |