X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=webapp-backend%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fric%2Fportal%2Fdashboard%2Fcontroller%2FAdminController.java;h=8313d736c7f80c73ea4a1e59595681acef1517eb;hb=6b79976523018d41b3643b15deeb6706ad4daa6e;hp=262f999fcdc8954fd2688129934f8db81170198f;hpb=847b44ffdd48cd1fa6b201887d3728df54305891;p=portal%2Fric-dashboard.git diff --git a/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/AdminController.java b/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/AdminController.java index 262f999f..8313d736 100644 --- a/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/AdminController.java +++ b/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/AdminController.java @@ -21,9 +21,13 @@ package org.oransc.ric.portal.dashboard.controller; import java.lang.invoke.MethodHandles; +import javax.servlet.http.HttpServletResponse; + import org.oransc.ric.portal.dashboard.DashboardApplication; import org.oransc.ric.portal.dashboard.DashboardConstants; import org.oransc.ric.portal.dashboard.model.DashboardUser; +import org.oransc.ric.portal.dashboard.model.ErrorTransport; +import org.oransc.ric.portal.dashboard.model.IDashboardResponse; import org.oransc.ric.portal.dashboard.model.SuccessTransport; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -32,6 +36,8 @@ import org.springframework.security.access.annotation.Secured; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.beans.factory.annotation.Value; import io.swagger.annotations.ApiOperation; @@ -49,12 +55,16 @@ public class AdminController { public static final String USER_METHOD = "user"; public static final String HEALTH_METHOD = "health"; public static final String VERSION_METHOD = DashboardConstants.VERSION_METHOD; + public static final String XAPPMETRICS_METHOD = "metrics"; private final DashboardUser[] users; private static final String ACTIVE = "Active"; private static final String INACTIVE = "Inactive"; + @Value("${metrics.url.ac}") + private String acAppMetricsUrl; + public AdminController() { // Mock data users = new DashboardUser[] { // @@ -92,4 +102,15 @@ public class AdminController { return users; } + @ApiOperation(value = "Gets the kibana metrics URL for the specified app.", response = SuccessTransport.class) + @GetMapping(XAPPMETRICS_METHOD) + public IDashboardResponse getAppMetricsUrl(@RequestParam String app, HttpServletResponse response) { + if (DashboardConstants.APP_NAME_AC.equals(app)) { + logger.debug("getAppMetricsUrl: acAppMetricsUrl {}", acAppMetricsUrl); + return new SuccessTransport(200, acAppMetricsUrl); + } else { + response.setStatus(HttpServletResponse.SC_BAD_REQUEST); + return new ErrorTransport(400, "Client provided app name is invalid as: " + app); + } + } }