[Trunk | Admin Tools Library]:

1. AdminPortalRelationsController.java: In "getDivIdsFull()" (/{pid}/div/full) set RequestParam page as NOT required (bug fix in admin portal).
2. EntityService.java: [Bug fix] 
	a. In "deleteEntities()", delete entity, after all relations with it have been deleted.
	b. Check equality of page entity with id with "equals" not "==".
3. PageService.java: [Bug fix]
	a. Delete page, after all related divIds, related div help contents, related page help contents have been deleted.
	b. Delete divId, after all related div help contents have been deleted.
	c. In "getDivHelpContents()" and "getPageHelpContents()" param is "page.getRoute()" (not its id).
This commit is contained in:
Konstantina Galouni 2020-09-22 14:14:35 +00:00
parent 1f0fb6df28
commit 7d14e75334
3 changed files with 15 additions and 13 deletions

View File

@ -138,7 +138,7 @@ public class AdminPortalRelationsController {
@RequestMapping(value = "/{pid}/div/full", method = RequestMethod.GET)
public List<DivIdResponse> getDivIdsFull(@PathVariable PortalType portalType,
@PathVariable(value = "pid") String pid,
@RequestParam(required = true) String page) {
@RequestParam(required = false) String page) {
return divIdService.getDivIdsFull(page, null, pid);
}

View File

@ -10,6 +10,7 @@ import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@ -84,8 +85,6 @@ public class EntityService {
public Boolean deleteEntities(List<String> entities) throws Exception {
for (String id: entities) {
entityDAO.delete(id);
// delete entity from portals
List<Portal> portals = portalService.getAllPortals();
for( Portal portal : portals ) {
@ -99,17 +98,18 @@ public class EntityService {
List<Page> pages = pageService.getAllPages(null, null, null);
for( Page page : pages ) {
List<String> pageEntities = page.getEntities();
int index = 0;
for(String pageEntity : pageEntities) {
if(pageEntity == id) {
pageEntities.remove(index);
Iterator<String> pageEntityIterator = pageEntities.iterator();
while(pageEntityIterator.hasNext()) {
String pageEntity = pageEntityIterator.next();
if(pageEntity.equals(id)) {
pageEntityIterator.remove();
break;
}
index++;
}
page.setEntities(pageEntities);
pageService.insertOrUpdatePage(page);
}
entityDAO.delete(id);
}
return true;

View File

@ -219,19 +219,18 @@ public class PageService {
public Boolean deletePages(List<String> pages) throws Exception {
for (String id: pages) {
Page page = pageDAO.findById(id);
pageDAO.delete(id);
// delete divIds related only to this page from all portals, otherwise remove this page from divIds
List<DivId> divIds = divIdService.getDivIds(id, null, null);
for(DivId divId : divIds) {
if(divId.getPages().size() == 1) {
divIdService.deleteDivId(divId.getId());
// delete div contents related to this page from all portals
List<DivHelpContentResponse> divHelpContentResponses = divHelpContentService.getDivHelpContents(null, id, divId.getId(), null);
List<DivHelpContentResponse> divHelpContentResponses = divHelpContentService.getDivHelpContents(null, page.getRoute(), divId.getId(), null);
for (DivHelpContentResponse divHelpContentResponse : divHelpContentResponses) {
divHelpContentService.deleteDivHelpContent(divHelpContentResponse.getId());
}
divIdService.deleteDivId(divId.getId());
} else {
List<String> divIdPages = divId.getPages();
divIdPages.remove(id);
@ -242,7 +241,8 @@ public class PageService {
// delete page contents related to this page from all portals
List<PageHelpContentResponse> pageHelpContentResponses = pageHelpContentService.getPageHelpContents(null, page.getPortalType(), id, null, null, null);
List<PageHelpContentResponse> pageHelpContentResponses = pageHelpContentService.getPageHelpContents(null, page.getPortalType(), page.getRoute(), null, null, null);
for(PageHelpContentResponse pageHelpContentResponse : pageHelpContentResponses) {
pageHelpContentService.deletePageHelpContent(pageHelpContentResponse.getId());
}
@ -255,6 +255,8 @@ public class PageService {
portal.setPages(portalPages);
portalService.insertOrUpdatePortal(portal);
}
pageDAO.delete(id);
}
return true;