nexus site path corrected
[portal.git] / ecomp-portal-BE / src / main / java / org / openecomp / portalapp / portal / service / DashboardSearchServiceImpl.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.portal.service;
21
22 import java.util.ArrayList;
23 import java.util.HashMap;
24 import java.util.List;
25 import java.util.Map;
26
27 import org.openecomp.portalapp.portal.ecomp.model.SearchResultItem;
28 import org.openecomp.portalapp.portal.transport.CommonWidget;
29 import org.openecomp.portalapp.portal.transport.CommonWidgetMeta;
30 import org.openecomp.portalapp.portal.utils.EcompPortalUtils;
31 import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
32 import org.openecomp.portalsdk.core.service.DataAccessService;
33 import org.springframework.beans.factory.annotation.Autowired;
34 import org.springframework.stereotype.Component;
35 import org.springframework.transaction.annotation.Transactional;
36
37 @Component
38 @Transactional
39 public class DashboardSearchServiceImpl implements DashboardSearchService{
40         
41         private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(DashboardSearchServiceImpl.class);
42         
43         @Autowired
44         private DataAccessService dataAccessService;
45         
46         @SuppressWarnings("unchecked")
47         public Map<String, List<SearchResultItem>> searchResults(String orgUserId, String searchString){
48                 
49                 Map<String, String> params = new HashMap<>();
50                 params.put("userId", orgUserId);
51                 params.put("searchQuery", searchString);
52                 // Named query is stored in a *.hbm.xml file, mapped to SearchResultItem
53                 @SuppressWarnings("unchecked")
54                 List<SearchResultItem> list = dataAccessService.executeNamedQuery("searchPortal", params, null);
55                 Map<String, List<SearchResultItem>> finalJson = null;
56                 if (list.size() > 0) {
57                         finalJson = new HashMap<String, List<SearchResultItem>>();
58                         for (SearchResultItem thisResult : list) {
59                                 List<SearchResultItem> thisList = finalJson.get(thisResult.getCategory().toLowerCase());
60                                 if (thisList == null)
61                                         thisList = new ArrayList<SearchResultItem>();
62                                 thisList.add(thisResult);
63                                 finalJson.put(thisResult.getCategory().toLowerCase(), thisList);
64                         }
65                 }
66                 return finalJson;
67         
68         }
69         
70         @SuppressWarnings("unchecked")
71         @Override
72         public List<String> getRelatedUsers(String orgUserId) {
73                 
74                 Map<String, String> params = new HashMap<>();
75                 
76                 params.put("org_user_id", orgUserId);
77                 
78                 List<String> activeUsers = null;
79                 
80                 try{
81                         activeUsers = dataAccessService.executeNamedQuery("relatedUsers", params, null);
82                 }
83                 catch(Exception e){
84                         logger.error(EELFLoggerDelegate.errorLogger, EcompPortalUtils.getStackTrace(e));
85                 }
86                 
87                 return activeUsers;
88         }
89         
90         @SuppressWarnings("unchecked")
91         @Override
92         public List<Object[]> getRelatedUserVOs(String orgUserId) {
93                 
94                 Map<String, String> params = new HashMap<>();
95                 
96                 params.put("org_user_id", orgUserId);
97                 
98                 List<Object[]> activeUsers = null;
99                 
100                 try{
101                         activeUsers = dataAccessService.executeNamedQuery("relatedUserVOs", params, null);
102                 }
103                 catch(Exception e){
104                         logger.error(EELFLoggerDelegate.errorLogger, EcompPortalUtils.getStackTrace(e));
105                 }
106                 
107                 return activeUsers;
108         }
109         
110         
111         @SuppressWarnings("unchecked")
112         @Override
113         public CommonWidgetMeta getWidgetData(String resourceType) {
114
115                 List<CommonWidget> widgetItems = null;
116                 try{
117                         Map<String, String> params = new HashMap<>();
118                         params.put("cat", resourceType);
119                         widgetItems = (List<CommonWidget>)dataAccessService.executeNamedQuery("getCommonWidgetItem", params, null);
120
121                         /*widgetItems2  = new ArrayList<CommonWidget2>();
122
123                         for(int i = 0; i < widgetItems.size(); i++){
124                                 CommonWidget2 item = (CommonWidget2)widgetItems.get(i);
125                                 widgetItems2.add(new CommonWidget2(item.getCategory(), item.getHref(), item.getTitle(), item.getSortOrder()));
126                         }*/
127                 }
128                 catch(Exception e){
129                         logger.error(EELFLoggerDelegate.errorLogger, EcompPortalUtils.getStackTrace(e));
130                 }
131                 return new CommonWidgetMeta(resourceType, widgetItems);
132         }
133         
134         @Override
135         public String saveWidgetDataBulk(CommonWidgetMeta commonMetaWidgetData) {
136
137                 try{
138                         for(CommonWidget widgetData : commonMetaWidgetData.getItems()){
139                                 widgetData.setCategory(commonMetaWidgetData.getCategory());
140                                 dataAccessService.saveDomainObject(widgetData, null);
141                         }
142                         
143                         return "success";
144                 }
145                 catch(Exception e){
146                         logger.error(EELFLoggerDelegate.errorLogger, EcompPortalUtils.getStackTrace(e));
147                         return e.getMessage();
148                 }
149         }
150         
151         @Override
152         public String saveWidgetData(CommonWidget commonWidgetData) {
153
154                 try{
155                         
156                         dataAccessService.saveDomainObject(commonWidgetData, null);
157                         return "success";
158                 }
159                 catch(Exception e){
160                         logger.error(EELFLoggerDelegate.errorLogger, EcompPortalUtils.getStackTrace(e));
161                         return e.getMessage();
162                 }
163         }
164
165         @Override
166         public String deleteWidgetData(CommonWidget eventWidget) {
167                 try{
168                         dataAccessService.deleteDomainObject(eventWidget, null);
169                         return "success";
170                 }
171                 catch(Exception e){
172                         logger.error(EELFLoggerDelegate.errorLogger, EcompPortalUtils.getStackTrace(e));
173                         return e.getMessage();
174                 }
175         }
176
177 /*      @Override
178         public EventWidgetMeta getEventWidgetData() {
179                 List<EventWidget> widgetItems = null;
180                 try{
181                         Map<String, String> params = new HashMap<>();
182                         widgetItems = (List<EventWidget>)dataAccessService.executeNamedQuery("getEventWidgetData", params, null);
183
184                         widgetItems2  = new ArrayList<CommonWidget2>();
185
186                         for(int i = 0; i < widgetItems.size(); i++){
187                                 CommonWidget2 item = (CommonWidget2)widgetItems.get(i);
188                                 widgetItems2.add(new CommonWidget2(item.getCategory(), item.getHref(), item.getTitle(), item.getSortOrder()));
189                         }
190                 }
191                 catch(Exception e){
192                         e.printStackTrace();
193                 }
194                 return new EventWidgetMeta("EVENTS", widgetItems);
195         }
196
197         @Override
198         public String saveEventWidgetDataBulk(EventWidgetMeta eventsWidgetData) {
199                 try{
200                         for(EventWidget widgetData : eventsWidgetData.getItems()){
201                                 widgetData.setCategory(eventsWidgetData.getCategory());
202                                 dataAccessService.saveDomainObject(widgetData, null);
203                         }
204                         
205                         return "success";
206                 }
207                 catch(Exception e){
208                         e.printStackTrace();
209                         return e.getMessage();
210                 }
211         }
212         
213         @Override
214         public String saveEventWidgetData(EventWidget eventWidget) {
215                 try{
216                         dataAccessService.saveDomainObject(eventWidget, null);
217                         return "success";
218                 }
219                 catch(Exception e){
220                         e.printStackTrace();
221                         return e.getMessage();
222                 }
223         }
224         
225         @Override
226         public String deleteEventWidgetData(EventWidget eventWidget) {
227                 try{
228                         dataAccessService.deleteDomainObject(eventWidget, null);
229                         return "success";
230                 }
231                 catch(Exception e){
232                         e.printStackTrace();
233                         return e.getMessage();
234                 }
235         }
236         
237         */
238 }