[Trunk | Monitor Service]: 1.. pom.xml: Updated version of admin-tools-library to 1.0.5 (used to be 1.0.4) | 2. StakeholderController.java: In method "buildFullStakeholder()", when creating Stakeholder, create Portal if not exists (pid = alias) and in method "deleteStakeholder()", when deleting a Stakeholder, delete Portal as well.

This commit is contained in:
Konstantina Galouni 2022-07-27 11:51:56 +00:00
parent 99161920d5
commit a03001c90e
2 changed files with 25 additions and 5 deletions

View File

@ -84,7 +84,7 @@
<dependency> <!-- this dependency includes dependency to uoa-authorization-library -->
<groupId>eu.dnetlib</groupId>
<artifactId>uoa-admin-tools-library</artifactId>
<version>1.0.4</version>
<version>1.0.5</version>
</dependency>
<dependency>
<groupId>eu.dnetlib</groupId>

View File

@ -1,6 +1,9 @@
package eu.dnetlib.uoamonitorservice.controllers;
import eu.dnetlib.uoaadmintoolslibrary.entities.Portal;
import eu.dnetlib.uoaadmintoolslibrary.entities.PortalType;
import eu.dnetlib.uoaadmintoolslibrary.handlers.utils.RolesUtils;
import eu.dnetlib.uoaadmintoolslibrary.services.PortalService;
import eu.dnetlib.uoamonitorservice.dao.*;
import eu.dnetlib.uoamonitorservice.entities.*;
import eu.dnetlib.uoamonitorservice.handlers.EntityNotFoundException;
@ -13,10 +16,7 @@ import org.springframework.security.access.AuthorizationServiceException;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.*;
@RestController
@CrossOrigin(origins = "*")
@ -47,6 +47,9 @@ public class StakeholderController {
@Autowired
private TopicController topicController;
@Autowired
private PortalService portalService;
@PreAuthorize("isAuthenticated()")
@RequestMapping(value = "/stakeholder/alias", method = RequestMethod.GET)
public List<String> getAllReservedStakeholderAlias() {
@ -96,6 +99,16 @@ public class StakeholderController {
Stakeholder<String> stakeholderSaved = stakeholderDAO.save(stakeholder);
stakeholderFull.setId(stakeholderSaved.getId());
Portal portal = portalService.getPortal(stakeholderFull.getAlias());
if(portal == null) {
portal = new Portal();
portal.setPid(stakeholderFull.getAlias());
portal.setName(stakeholderFull.getName());
portal.setType(stakeholderFull.getType());
portalService.insertPortal(portal);
}
return stakeholderFull;
//return null;
}
@ -548,8 +561,10 @@ public class StakeholderController {
log.debug("Id: "+stakeholderId);
Stakeholder<String> stakeholder = stakeholderDAO.findById(stakeholderId);
String pid = null;
if(stakeholder != null) {
pid = stakeholder.getAlias();
// List<String> roles = authorizationService.getRoles();
List<String> roles = rolesUtils.getRoles();
@ -623,6 +638,11 @@ public class StakeholderController {
stakeholder.setTopics(null);
stakeholderDAO.delete(stakeholderId);
log.debug("Stakeholder deleted!");
Portal portal = portalService.getPortal(pid);
if(portal != null) {
portalService.deletePortal(portal.getId());
}
} else {
// EXCEPTION - Stakeholder not found
throw new EntityNotFoundException("Delete stakeholder: Stakeholder with id: "+stakeholderId+" not found");