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());
}