nexus site path corrected
[portal.git] / ecomp-portal-BE / src / main / java / org / openecomp / portalapp / kpidash / controller / KpiDashboardController.java
1 /*-
2  * ================================================================================
3  * eCOMP Portal
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ================================================================================
19  */
20 package org.openecomp.portalapp.kpidash.controller;
21
22 import java.util.List;
23
24 import javax.servlet.http.HttpServletRequest;
25 import javax.servlet.http.HttpServletResponse;
26
27 import org.openecomp.portalapp.controller.EPRestrictedBaseController;
28 import org.openecomp.portalapp.kpidash.model.KpiApiStats;
29 import org.openecomp.portalapp.kpidash.model.KpiServiceSupported;
30 import org.openecomp.portalapp.kpidash.model.KpiUserStoryStats;
31 import org.openecomp.portalapp.kpidash.service.KpiDashboardService;
32 import org.openecomp.portalapp.portal.domain.EPUser;
33 import org.openecomp.portalapp.portal.logging.aop.EPAuditLog;
34 import org.openecomp.portalapp.portal.utils.EcompPortalUtils;
35 import org.openecomp.portalapp.util.EPUserUtils;
36 import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
37 import org.springframework.beans.factory.annotation.Autowired;
38 import org.springframework.context.annotation.EnableAspectJAutoProxy;
39 import org.springframework.web.bind.annotation.RequestBody;
40 import org.springframework.web.bind.annotation.RequestMapping;
41 import org.springframework.web.bind.annotation.RequestMethod;
42 import org.springframework.web.bind.annotation.RestController;
43
44 @RestController
45 //@RequestMapping("/")
46 @org.springframework.context.annotation.Configuration
47 @EnableAspectJAutoProxy
48 @EPAuditLog
49 //public class KpiDashboardController extends EPUnRestrictedBaseController {
50 public class KpiDashboardController extends EPRestrictedBaseController {
51         
52         EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(KpiDashboardController.class);
53         
54         @Autowired
55         KpiDashboardService service;
56
57         @SuppressWarnings("unchecked")
58         @RequestMapping(value = { "/portalApi/get_user_stories_stats" }, method = RequestMethod.GET, produces = "application/json")     
59         public List<KpiUserStoryStats> getUserStories(HttpServletRequest request, HttpServletResponse response) {
60                 EPUser user = EPUserUtils.getUserSession(request);
61                 List<KpiUserStoryStats> userStories = null;
62                 
63                 try {
64                         if (user == null) {
65                                 EcompPortalUtils.setBadPermissions(user, response, "getUserApps");
66                         } else {
67                                 userStories = (List<KpiUserStoryStats>) service.getUserStories();
68                                 EcompPortalUtils.logAndSerializeObject("/portalApi/get_user_stories_stats", "GET result =", userStories);
69                         }
70                 } catch (Exception e) {
71                         logger.error(EELFLoggerDelegate.errorLogger, "Exception occurred while performing getUserApps operation, Details: " + EcompPortalUtils.getStackTrace(e));
72                 }
73                 return userStories;
74         }
75
76         @RequestMapping(value = { "/portalApi/save_user_stories_stats" }, method = RequestMethod.GET, produces = "application/json")
77         public void saveUserStories(@RequestBody KpiUserStoryStats kpiUserStoryStats) {
78                 service.saveUserStories(kpiUserStoryStats);
79         }
80
81         @SuppressWarnings("unchecked")
82         @RequestMapping(value = { "/portalApi/update_user_stories_stats" }, method = RequestMethod.POST)
83         public List<KpiUserStoryStats> updateUserStories(@RequestBody KpiUserStoryStats kpiUserStoryStats) {
84                 service.updateUserStories(kpiUserStoryStats);
85                 return (List<KpiUserStoryStats>) service.getUserStories();
86         }
87
88         @SuppressWarnings("unchecked")
89         @RequestMapping(value = { "/portalApi/get_user_api_stats" }, method = RequestMethod.GET, produces = "application/json") 
90         public List<KpiApiStats> getUserApis(HttpServletRequest request, HttpServletResponse response) {
91                 EPUser user = EPUserUtils.getUserSession(request);
92                 List<KpiApiStats> apiStats = null;
93                 
94                 try {
95                         if (user == null) {
96                                 EcompPortalUtils.setBadPermissions(user, response, "getUserApps");
97                         } else {
98                                 apiStats = (List<KpiApiStats>) service.getUserApis();
99                                 EcompPortalUtils.logAndSerializeObject("/portalApi/get_user_api_stats", "GET result =", apiStats);
100                         }
101                 } catch (Exception e) {
102                         logger.error(EELFLoggerDelegate.errorLogger, "Exception occurred while performing getUserApps operation, Details: " + EcompPortalUtils.getStackTrace(e));
103                 }
104                 return apiStats;
105         }
106
107         @SuppressWarnings("unchecked")
108         @RequestMapping(value = { "/portalApi/get_kpi_service_supported" }, method = RequestMethod.GET, produces = "application/json")  
109         public List<KpiServiceSupported> getKpiServiceSupported(HttpServletRequest request, HttpServletResponse response) {
110                 EPUser user = EPUserUtils.getUserSession(request);
111                 List<KpiServiceSupported> kpiServiceSupported = null;
112                 
113                 try {
114                         if (user == null) {
115                                 EcompPortalUtils.setBadPermissions(user, response, "getUserApps");
116                         } else {
117                                 kpiServiceSupported = (List<KpiServiceSupported>) service.getKpiServiceSupported();
118                                 EcompPortalUtils.logAndSerializeObject("/portalApi/get_kpi_service_supported", "GET result =", kpiServiceSupported);
119                         }
120                 } catch (Exception e) {
121                         logger.error(EELFLoggerDelegate.errorLogger, "Exception occurred while performing getUserApps operation, Details: " + EcompPortalUtils.getStackTrace(e));
122                 }
123                 return kpiServiceSupported;
124 //              return (List<KpiServiceSupported>) service.getKpiServiceSupported();
125         }
126
127         @SuppressWarnings("unchecked")
128         @RequestMapping(value = { "/portalApi/update_user_api_stats" }, method = RequestMethod.POST)
129         public List<KpiApiStats> updateUserApis(@RequestBody KpiApiStats kpiApiStats) {
130                 service.updateUserApis(kpiApiStats);
131                 return (List<KpiApiStats>) service.getUserApis();
132         }
133
134         @SuppressWarnings("unchecked")
135         @RequestMapping(value = { "/portalApi/execute_get_published_delivered" }, method = RequestMethod.GET, produces = "application/json")
136         public List<String> getPublishedDelivered(HttpServletRequest request, HttpServletResponse response) {
137                 EPUser user = EPUserUtils.getUserSession(request);
138                 List<String> publishedDelivered = null;
139                 
140                 try {
141                         if (user == null) {
142                                 EcompPortalUtils.setBadPermissions(user, response, "getUserApps");
143                         } else {
144                                 publishedDelivered = service.executeGetBytesPublishedDelivered();
145                                 EcompPortalUtils.logAndSerializeObject("/portalApi/execute_get_published_delivered", "GET result =", publishedDelivered);
146                         }
147                 } catch (Exception e) {
148                         logger.error(EELFLoggerDelegate.errorLogger, "Exception occurred while performing getLOCStatsCat operation, Details: " + EcompPortalUtils.getStackTrace(e));
149                 }
150                 return publishedDelivered;
151         //      return service.executeGetBytesPublishedDelivered();
152         }
153
154         @SuppressWarnings("unchecked")
155         @RequestMapping(value = { "/portalApi/execute_get_feed_stats" }, method = RequestMethod.GET, produces = "application/json")
156         public List<Long> getFeedStats(HttpServletRequest request, HttpServletResponse response) {
157                 EPUser user = EPUserUtils.getUserSession(request);
158                 List<Long> feedStats= null;
159                 
160                 try {
161                         if (user == null) {
162                                 EcompPortalUtils.setBadPermissions(user, response, "getUserApps");
163                         } else {
164                                 feedStats = service.executeGetFeedStats();
165                                 EcompPortalUtils.logAndSerializeObject("/portalApi/execute_get_feed_stats", "GET result =", feedStats);
166                         }
167                 } catch (Exception e) {
168                         logger.error(EELFLoggerDelegate.errorLogger, "Exception occurred while performing getLOCStatsCat operation, Details: " + EcompPortalUtils.getStackTrace(e));
169                 }
170                 return feedStats;
171 //              return service.executeGetFeedStats();
172         }
173
174         @SuppressWarnings("unchecked")
175         @RequestMapping(value = { "/portalApi/get_loc_stats_cat" }, method = RequestMethod.GET, produces = "application/json")  
176         public List<String> getLOCStatsCat(HttpServletRequest request, HttpServletResponse response) {
177                 EPUser user = EPUserUtils.getUserSession(request);
178                 List<String> LOCStatsCat = null;
179                 
180                 try {
181                         if (user == null) {
182                                 EcompPortalUtils.setBadPermissions(user, response, "getUserApps");
183                         } else {
184                                 LOCStatsCat = service.getLOCStatsCat();
185                                 EcompPortalUtils.logAndSerializeObject("/portalApi/get_loc_stats_cat", "GET result =", LOCStatsCat);
186                         }
187                 } catch (Exception e) {
188                         logger.error(EELFLoggerDelegate.errorLogger, "Exception occurred while performing getLOCStatsCat operation, Details: " + EcompPortalUtils.getStackTrace(e));
189                 }
190                 return LOCStatsCat;             
191         }
192
193         @SuppressWarnings("unchecked")
194         @RequestMapping(value = { "/portalApi/get_loc_stats" }, method = RequestMethod.GET, produces = "application/json")      
195         public List<Long> getLOCStats(HttpServletRequest request, HttpServletResponse response) {
196                 EPUser user = EPUserUtils.getUserSession(request);
197                 List<Long> LOCStats = null;
198                 
199                 try {
200                         if (user == null) {
201                                 EcompPortalUtils.setBadPermissions(user, response, "getUserApps");
202                         } else {
203                                 LOCStats = service.getLOCStats();
204                                 EcompPortalUtils.logAndSerializeObject("/portalApi/get_loc_stats", "GET result =", LOCStats);
205                         }
206                 } catch (Exception e) {
207                         logger.error(EELFLoggerDelegate.errorLogger, "Exception occurred while performing getLOCStats operation, Details: " + EcompPortalUtils.getStackTrace(e));
208                 }
209                 return LOCStats;
210         }
211
212         @RequestMapping(value = { "/portalApi/get_geo_map_url" }, method = RequestMethod.GET, produces = "text/plain")
213         public String getGeoMapUrl(HttpServletRequest request, HttpServletResponse response) {
214                 EPUser user = EPUserUtils.getUserSession(request);
215                 String geoMapUrl = null;
216                 
217                 try {
218                         if (user == null) {
219                                 EcompPortalUtils.setBadPermissions(user, response, "getUserApps");
220                         } else {
221                                 geoMapUrl = service.getGeoMapUrl();
222                                 EcompPortalUtils.logAndSerializeObject("/portalApi/get_geo_map_url", "GET result =", geoMapUrl);
223                         }
224                 } catch (Exception e) {
225                         logger.error(EELFLoggerDelegate.errorLogger, "Exception occurred while performing getGeoMapUrl operation, Details: " + EcompPortalUtils.getStackTrace(e));
226                 }
227                 
228                 return geoMapUrl;
229         }
230
231         @RequestMapping(value = { "/portalApi/get_rcloud_a_url" }, method = RequestMethod.GET, produces = "text/plain")
232         public String getRCloudAUrl(HttpServletRequest request, HttpServletResponse response) {
233                 EPUser user = EPUserUtils.getUserSession(request);
234                 String rcloudUrl = null;
235                 
236                 try {
237                         if (user == null) {
238                                 EcompPortalUtils.setBadPermissions(user, response, "getUserApps");
239                         } else {
240                                 rcloudUrl = service.getRCloudAUrl();
241                                 EcompPortalUtils.logAndSerializeObject("/portalApi/get_rcloud_a_url", "GET result =", rcloudUrl);
242                         }
243                 } catch (Exception e) {
244                         logger.error(EELFLoggerDelegate.errorLogger, "Exception occurred while performing getGeoMapUrl operation, Details: " + EcompPortalUtils.getStackTrace(e));
245                 }
246                 
247                 return rcloudUrl;
248         }
249
250         @RequestMapping(value = { "/portalApi/get_geo_map_api_url" }, method = RequestMethod.GET, produces = "text/plain")
251         public String getGeoMapApiUrl(HttpServletRequest request, HttpServletResponse response) {
252                 EPUser user = EPUserUtils.getUserSession(request);
253                 String geoMapApiUrl = null;
254                 
255                 try {
256                         if (user == null) {
257                                 EcompPortalUtils.setBadPermissions(user, response, "getUserApps");
258                         } else {
259                                 geoMapApiUrl = service.getGeoMapApiUrl();
260                                 EcompPortalUtils.logAndSerializeObject("/portalApi/get_geo_map_api_url", "GET result =", geoMapApiUrl);
261                         }
262                 } catch (Exception e) {
263                         logger.error(EELFLoggerDelegate.errorLogger, "Exception occurred while performing getGeoMapApiUrl operation, Details: " + EcompPortalUtils.getStackTrace(e));
264                 }
265                 
266                 return geoMapApiUrl;
267         }
268 }