X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ecomp-portal-BE-common%2Fsrc%2Fmain%2Fjava%2Forg%2Fopenecomp%2Fportalapp%2Fportal%2Fcontroller%2FConsulClientController.java;h=808220c587bf7ddaa2b3756349f949d217e21fb7;hb=refs%2Fchanges%2F85%2F4985%2F2;hp=8db9484949077a71a6aa9af468dc1e351ecaf1aa;hpb=ba838f2e13f1e8050c75e68bd3733d56d8f416d5;p=portal.git diff --git a/ecomp-portal-BE-common/src/main/java/org/openecomp/portalapp/portal/controller/ConsulClientController.java b/ecomp-portal-BE-common/src/main/java/org/openecomp/portalapp/portal/controller/ConsulClientController.java index 8db94849..808220c5 100644 --- a/ecomp-portal-BE-common/src/main/java/org/openecomp/portalapp/portal/controller/ConsulClientController.java +++ b/ecomp-portal-BE-common/src/main/java/org/openecomp/portalapp/portal/controller/ConsulClientController.java @@ -1,90 +1,95 @@ -/*- - * ================================================================================ - * ECOMP Portal - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property - * ================================================================================ - * 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 org.openecomp.portalapp.portal.controller; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; - -import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate; -import org.openecomp.portalapp.controller.EPRestrictedBaseController; -import org.openecomp.portalapp.portal.service.ConsulHealthService; -import org.openecomp.portalapp.portal.ecomp.model.PortalRestResponse; -import org.openecomp.portalapp.portal.ecomp.model.PortalRestStatusEnum; -import com.orbitz.consul.ConsulException; -import com.orbitz.consul.model.health.ServiceHealth; - -import io.searchbox.client.config.exception.NoServerConfiguredException; - -@RestController -@RequestMapping("/portalApi/consul") -public class ConsulClientController extends EPRestrictedBaseController { - private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ConsulClientController.class); - - @Autowired - private ConsulHealthService consulHealthService; - //Get location of a healthy node running our service - @RequestMapping(value = { "/service/{service}" }, method = RequestMethod.GET, produces = "application/json") - public PortalRestResponse getServiceLocation(HttpServletRequest request, HttpServletResponse response, @PathVariable("service") String service) { - - try{ - return new PortalRestResponse(PortalRestStatusEnum.OK, "Success!", consulHealthService.getServiceLocation(service)); - } - catch(NoServerConfiguredException e){ - logger.error(logger.errorLogger, "No healthy service exception!"); - return new PortalRestResponse(PortalRestStatusEnum.WARN, "Warning!", "No healthy service exception!"); - } - catch(ConsulException e){ - logger.error(logger.errorLogger, "Couldn't connect ot consul - Is consul running?"); - return new PortalRestResponse(PortalRestStatusEnum.ERROR, "Error!", "Couldn't connect ot consul - Is consul running?"); - } - } - - @RequestMapping(value = { "/service/healthy/{service}" }, method = RequestMethod.GET, produces = "application/json") - public PortalRestResponse> getAllHealthyNodes(HttpServletRequest request, HttpServletResponse response, @PathVariable("service") String service) { - try{ - return new PortalRestResponse>(PortalRestStatusEnum.OK, "Success!", consulHealthService.getAllHealthyNodes(service)); - } - catch(ConsulException e){ - logger.error(logger.errorLogger, "Couldn't connect to consul - shouldn't break anything."); - return new PortalRestResponse>(PortalRestStatusEnum.ERROR,"Error!", new ArrayList<>()); - } - } - - @RequestMapping(value = { "/service/all/{service}" }, method = RequestMethod.GET, produces = "application/json") - public PortalRestResponse> getAllNodes(HttpServletRequest request, HttpServletResponse response, @PathVariable("service") String service) { - try{ - return new PortalRestResponse>(PortalRestStatusEnum.OK, "Success!", consulHealthService.getAllNodes(service)); - } - catch(ConsulException e){ - logger.error(logger.errorLogger, "Couldn't connect to consul - shouldn't break anything."); - return new PortalRestResponse>(PortalRestStatusEnum.ERROR,"Error!", new ArrayList<>()); - } - } - -} +/*- + * ================================================================================ + * ECOMP Portal + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property + * ================================================================================ + * 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 org.openecomp.portalapp.portal.controller; + +import java.util.ArrayList; +import java.util.List; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.openecomp.portalapp.controller.EPRestrictedBaseController; +import org.openecomp.portalapp.portal.ecomp.model.PortalRestResponse; +import org.openecomp.portalapp.portal.ecomp.model.PortalRestStatusEnum; +import org.openecomp.portalapp.portal.service.ConsulHealthService; +import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import com.orbitz.consul.ConsulException; +import com.orbitz.consul.model.health.ServiceHealth; + +import io.searchbox.client.config.exception.NoServerConfiguredException; + +@RestController +@RequestMapping("/portalApi/consul") +public class ConsulClientController extends EPRestrictedBaseController { + private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ConsulClientController.class); + + @Autowired + private ConsulHealthService consulHealthService; + + // Get location of a healthy node running our service + @RequestMapping(value = { "/service/{service}" }, method = RequestMethod.GET, produces = "application/json") + public PortalRestResponse getServiceLocation(HttpServletRequest request, HttpServletResponse response, + @PathVariable("service") String service) { + + try { + return new PortalRestResponse(PortalRestStatusEnum.OK, "Success!", + consulHealthService.getServiceLocation(service, null)); + } catch (NoServerConfiguredException e) { + logger.error(logger.errorLogger, "No healthy service exception!"); + return new PortalRestResponse(PortalRestStatusEnum.WARN, "Warning!", + "No healthy service exception!"); + } catch (ConsulException e) { + logger.error(logger.errorLogger, "Couldn't connect ot consul - Is consul running?"); + return new PortalRestResponse(PortalRestStatusEnum.ERROR, "Error!", + "Couldn't connect ot consul - Is consul running?"); + } + } + + @RequestMapping(value = { "/service/healthy/{service}" }, method = RequestMethod.GET, produces = "application/json") + public PortalRestResponse> getAllHealthyNodes(HttpServletRequest request, + HttpServletResponse response, @PathVariable("service") String service) { + try { + return new PortalRestResponse>(PortalRestStatusEnum.OK, "Success!", + consulHealthService.getAllHealthyNodes(service)); + } catch (ConsulException e) { + logger.error(logger.errorLogger, "Couldn't connect to consul - shouldn't break anything."); + return new PortalRestResponse>(PortalRestStatusEnum.ERROR, "Error!", new ArrayList<>()); + } + } + + @RequestMapping(value = { "/service/all/{service}" }, method = RequestMethod.GET, produces = "application/json") + public PortalRestResponse> getAllNodes(HttpServletRequest request, HttpServletResponse response, + @PathVariable("service") String service) { + try { + return new PortalRestResponse>(PortalRestStatusEnum.OK, "Success!", + consulHealthService.getAllNodes(service)); + } catch (ConsulException e) { + logger.error(logger.errorLogger, "Couldn't connect to consul - shouldn't break anything."); + return new PortalRestResponse>(PortalRestStatusEnum.ERROR, "Error!", new ArrayList<>()); + } + } + +}