HealthCheckController up
[portal.git] / portal-BE / src / main / java / org / onap / portal / service / PersUserWidgetService.java
index 364085c..afaccfd 100644 (file)
@@ -43,68 +43,71 @@ package org.onap.portal.service;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
-import org.onap.portal.dao.ep.EpPersUserWidgetSelDao;
-import org.onap.portal.dao.fn.EpWidgetCatalogDao;
 import org.onap.portal.domain.db.ep.EpPersUserWidgetSel;
-import org.onap.portal.domain.db.fn.FnUser;
+import org.onap.portal.domain.db.ep.EpWidgetCatalog;
 import org.onap.portal.domain.dto.ecomp.PersUserWidgetSelection;
+import org.onap.portal.domain.dto.transport.WidgetCatalogPersonalization;
+import org.onap.portal.service.persUserWidgetSel.EpPersUserWidgetSelService;
+import org.onap.portal.service.user.FnUserService;
+import org.onap.portal.service.widgetCatalog.EpWidgetCatalogService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.EnableAspectJAutoProxy;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 @Service
+@Transactional
+@EnableAspectJAutoProxy
 public class PersUserWidgetService {
 
-       private final EpPersUserWidgetSelDao epPersUserWidgetSelDao;
-       private final EpWidgetCatalogDao epWidgetCatalogDao;
+       private static final Logger LOGGER = LoggerFactory.getLogger(PersUserWidgetService.class);
+       private final EpPersUserWidgetSelService epPersUserWidgetSelService;
+       private final EpWidgetCatalogService epWidgetCatalogService;
+       private final FnUserService fnUserService;
 
        @Autowired
-       public PersUserWidgetService(final EpPersUserWidgetSelDao epPersUserWidgetSelDao,
-               final EpWidgetCatalogDao epWidgetCatalogDao) {
-              this.epPersUserWidgetSelDao = epPersUserWidgetSelDao;
-              this.epWidgetCatalogDao = epWidgetCatalogDao;
+       public PersUserWidgetService(final EpPersUserWidgetSelService epPersUserWidgetSelService,
+           final EpWidgetCatalogService epWidgetCatalogService,
+           FnUserService fnUserService) {
+              this.epPersUserWidgetSelService = epPersUserWidgetSelService;
+              this.epWidgetCatalogService = epWidgetCatalogService;
+              this.fnUserService = fnUserService;
        }
 
-       public void setPersUserAppValue(FnUser user, Long widgetId, Boolean select) {
-              if (user == null || widgetId == null) {
-                     throw new IllegalArgumentException("setPersUserAppValue: Null values");
-              }
-
-              List<PersUserWidgetSelection> persList = getUserWidgetSelction(user, widgetId);
+       public void setPersUserAppValue(final long userId, final WidgetCatalogPersonalization personalization) {
+              List<PersUserWidgetSelection> persList = getUserWidgetSelction(userId, personalization.getWidgetId());
+              LOGGER.info("Error: " + persList.size());
               // Key constraint limits to 1 row
-              PersUserWidgetSelection persRow = null;
+              PersUserWidgetSelection persRow;
               if (persList.size() == 1) {
                      persRow = persList.get(0);
               } else {
-                     persRow = new PersUserWidgetSelection(null, user.getId(), widgetId, null);
+                     persRow = new PersUserWidgetSelection(null, userId, personalization.getWidgetId(), null);
               }
-              if (select) {
-                     if (persRow.getId() != null) {
-                            epPersUserWidgetSelDao.deleteById(persRow.getId());
-                     }
-                     persRow.setStatusCode("S"); // show
-                     EpPersUserWidgetSel epPersUserWidgetSel = new EpPersUserWidgetSel();
-                     epPersUserWidgetSel.setUserId(user);
-                     epPersUserWidgetSel.setWidgetId(epWidgetCatalogDao.findById(widgetId).get());
-                     epPersUserWidgetSelDao.saveAndFlush(epPersUserWidgetSel);
-              } else {
-                     if (persRow.getId() != null) {
-                            epPersUserWidgetSelDao.deleteById(persRow.getId());
-                     }
-                     persRow.setStatusCode("H"); // Hide
-                     EpPersUserWidgetSel epPersUserWidgetSel = new EpPersUserWidgetSel();
-                     epPersUserWidgetSel.setUserId(user);
-                     epPersUserWidgetSel.setWidgetId(epWidgetCatalogDao.findById(widgetId).get());
-                     epPersUserWidgetSelDao.saveAndFlush(epPersUserWidgetSel);
+              if (persRow.getId() != null) {
+                     epPersUserWidgetSelService.deleteById(persRow.getId());
               }
+              persRow.setStatusCode(personalization.getSelect() ? "S" : "H"); // Show / Hide
+              EpPersUserWidgetSel epPersUserWidgetSel = new EpPersUserWidgetSel();
+              epPersUserWidgetSel.setUserId(fnUserService.getUser(userId).get());
+              EpWidgetCatalog catalog = epWidgetCatalogService.findById(personalization.getWidgetId()).orElse(new EpWidgetCatalog());
+              epWidgetCatalogService.save(catalog);
+              epPersUserWidgetSel.setWidgetId(catalog);
+              epPersUserWidgetSelService.saveAndFlush(epPersUserWidgetSel);
        }
 
-       private List<PersUserWidgetSelection> getUserWidgetSelction(FnUser user, Long widgetId) {
-              return epPersUserWidgetSelDao.getEpPersUserWidgetSelForUserIdAndWidgetId(user.getId(), widgetId)
-                      .orElse(new ArrayList<>()).stream().map(
-                              this::epPersUserWidgetSelToPersUserWidgetSelection).collect(Collectors.toList());
+       private List<PersUserWidgetSelection> getUserWidgetSelction(final long userId, final long widgetId) {
+              return epPersUserWidgetSelService
+                      .getEpPersUserWidgetSelForUserIdAndWidgetId(userId, widgetId)
+                      .orElse(new ArrayList<>())
+                      .stream()
+                      .map(this::epPersUserWidgetSelToPersUserWidgetSelection)
+                      .collect(Collectors.toList());
        }
 
-       private PersUserWidgetSelection epPersUserWidgetSelToPersUserWidgetSelection(EpPersUserWidgetSel widgetSel) {
+       private PersUserWidgetSelection epPersUserWidgetSelToPersUserWidgetSelection(final EpPersUserWidgetSel widgetSel) {
               return new PersUserWidgetSelection(widgetSel.getId(), widgetSel.getUserId().getId(),
                       widgetSel.getWidgetId().getWidgetId(), widgetSel.getStatusCd());
        }