add plugin controller and service and related changes
This commit is contained in:
parent
0c75baa89b
commit
4eaac0ee19
|
@ -2,19 +2,19 @@ package eu.dnetlib.uoaadmintoolslibrary.controllers;
|
|||
|
||||
import eu.dnetlib.uoaadmintoolslibrary.entities.*;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.entities.fullEntities.*;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.entities.plugin.Plugin;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.entities.plugin.PluginTemplate;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.handlers.ContentNotFoundException;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.handlers.MismatchingContentException;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.services.*;
|
||||
import org.apache.http.protocol.ResponseContent;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
|
||||
@RestController
|
||||
@RequestMapping(value = "{portalType}")
|
||||
|
@ -28,6 +28,9 @@ public class AdminPortalRelationsController {
|
|||
@Autowired
|
||||
private DivHelpContentService divHelpContentService;
|
||||
|
||||
@Autowired
|
||||
private PluginService pluginService;
|
||||
|
||||
@Autowired
|
||||
private DivIdService divIdService;
|
||||
|
||||
|
@ -127,6 +130,51 @@ public class AdminPortalRelationsController {
|
|||
return mapCount;
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/{pid}/pluginTemplate/page/count", method = RequestMethod.GET)
|
||||
public Map<String, Integer> countPluginTemplatesForPages(@PathVariable PortalType portalType, @PathVariable(value = "pid") String pid) {
|
||||
Map<String, Integer> mapCount = new HashMap<String, Integer>();
|
||||
|
||||
List<Page> pages = pageService.getAllPages(pid, null, null);
|
||||
for(Page page : pages){
|
||||
List<PluginTemplate> plugin = pluginService.getPluginTemplatesByPage( page.getId());
|
||||
if (plugin == null) {
|
||||
mapCount.put(page.getId(), 0);
|
||||
} else {
|
||||
mapCount.put(page.getId(), plugin.size());
|
||||
}
|
||||
}
|
||||
return mapCount;
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/{pid}/plugins/page/{pageId}", method = RequestMethod.GET)
|
||||
public List<Plugin> getPluginsForPage(@PathVariable PortalType portalType,@PathVariable(value = "pid") String pid, @PathVariable(value = "pageId") String pageId) {
|
||||
return pluginService.getPluginsByPage(pid, pageId);
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/{pid}/pluginTemplates/page/{pageId}", method = RequestMethod.GET)
|
||||
public List<PluginTemplate> getPluginTemplatesForPages(@PathVariable PortalType portalType,@PathVariable(value = "pid") String pid, @PathVariable(value = "pageId") String pageId) {
|
||||
return pluginService.getPluginTemplatesByPage(pageId);
|
||||
|
||||
}
|
||||
@RequestMapping(value = "/{pid}/plugins/page/route", method = RequestMethod.GET)
|
||||
public List<Plugin> getPluginsForPageRoute(@PathVariable PortalType portalType,@PathVariable(value = "pid") String pid, @RequestParam(value = "route") String route) {
|
||||
Page p = pageService.getPageByPortalTypeAndRoute(portalType + "",route,pid);
|
||||
if(p != null) {
|
||||
return pluginService.getPluginsByPage(pid,p.getId());
|
||||
}
|
||||
return new ArrayList<>();
|
||||
|
||||
}
|
||||
@RequestMapping(value = "/{pid}/pluginTemplates/page/route", method = RequestMethod.GET)
|
||||
public List<PluginTemplate> getPluginTemplatesForPageRoute(@PathVariable PortalType portalType,@PathVariable(value = "pid") String pid,
|
||||
@RequestParam(value = "route") String route) {
|
||||
Page p = pageService.getPageByPortalTypeAndRoute(portalType + "",route ,pid);
|
||||
if(p != null) {
|
||||
return pluginService.getPluginTemplatesByPage(p.getId());
|
||||
}
|
||||
return new ArrayList<>();
|
||||
}
|
||||
@PreAuthorize("hasAnyAuthority(" +
|
||||
"@AuthorizationService.PORTAL_ADMIN, " +
|
||||
"@AuthorizationService.curator(#portalType), @AuthorizationService.manager(#portalType, #pid))")
|
||||
|
|
|
@ -2,6 +2,7 @@ package eu.dnetlib.uoaadmintoolslibrary.controllers;
|
|||
|
||||
import eu.dnetlib.uoaadmintoolslibrary.entities.Page;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.entities.fullEntities.PortalPage;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.entities.plugin.PluginTemplate;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.handlers.ForbiddenException;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.handlers.MismatchingContentException;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.handlers.utils.RolesUtils;
|
||||
|
@ -107,11 +108,11 @@ public class PageController {
|
|||
return pageService.deletePages(pages);
|
||||
}
|
||||
|
||||
// // not used by portals
|
||||
// @RequestMapping(value = "/page/{id}", method = RequestMethod.GET)
|
||||
// public Page getPage(@PathVariable(value = "id") String id) {
|
||||
// return pageService.getPage(id);
|
||||
// }
|
||||
//used from admin - manage templates per page
|
||||
@RequestMapping(value = "/page/{id}", method = RequestMethod.GET)
|
||||
public Page getPage(@PathVariable(value = "id") String id) {
|
||||
return pageService.getPage(id);
|
||||
}
|
||||
//
|
||||
// // not used by portals
|
||||
// @RequestMapping(value = "/page/{id}", method = RequestMethod.DELETE)
|
||||
|
|
|
@ -0,0 +1,137 @@
|
|||
package eu.dnetlib.uoaadmintoolslibrary.controllers;
|
||||
|
||||
import eu.dnetlib.uoaadmintoolslibrary.entities.Page;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.entities.plugin.Plugin;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.entities.plugin.PluginTemplate;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.services.PageService;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.services.PluginService;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@CrossOrigin(origins = "*")
|
||||
public class PluginController {
|
||||
private final Logger log = LogManager.getLogger(this.getClass());
|
||||
|
||||
@Autowired
|
||||
private PluginService pluginService;
|
||||
@Autowired
|
||||
private PageService pageService;
|
||||
// used WITHOUT ANY PARAMS
|
||||
@RequestMapping(value = "/plugins", method = RequestMethod.GET)
|
||||
public List<Plugin> getPlugins() {
|
||||
return pluginService.getPlugins(null, null, null);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/plugins/template/{id}", method = RequestMethod.GET)
|
||||
public List<Plugin> getPluginsByTemplate(@PathVariable(value = "id") String id) {
|
||||
return pluginService.getPluginsByTemplateId(id);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/pluginTemplates", method = RequestMethod.GET)
|
||||
public List<PluginTemplate> getPluginTemplates(/*@RequestParam(required = false) String page,
|
||||
@RequestParam(required = false) String name,
|
||||
@RequestParam(value="portal", required = false) String pid*/) {
|
||||
return pluginService.getPluginTemplates(null, null, null);
|
||||
}
|
||||
@RequestMapping(value = "/pluginTemplates/page/{pageId}", method = RequestMethod.GET)
|
||||
public List<PluginTemplate> getPluginTemplatesByPage(@PathVariable(value = "pageId") String pageId) {
|
||||
return pluginService.getPluginTemplates(pageId, null, null);
|
||||
}
|
||||
@RequestMapping(value = "/pluginTemplates/{id}", method = RequestMethod.GET)
|
||||
public PluginTemplate getPluginTemplateById(@PathVariable(value = "id") String id) {
|
||||
return pluginService.getPluginTemplateById(id);
|
||||
}
|
||||
|
||||
// used
|
||||
@PreAuthorize("hasAnyAuthority(" +
|
||||
"@AuthorizationService.PORTAL_ADMIN, " +
|
||||
"@AuthorizationService.curator('community'))")
|
||||
@RequestMapping(value = "/pluginTemplate/save", method = RequestMethod.POST)
|
||||
public PluginTemplate insertTemplate(@RequestBody PluginTemplate pluginTemplate ) {
|
||||
return pluginService.savePluginTemplate(pluginTemplate);
|
||||
}
|
||||
@PreAuthorize("hasAnyAuthority(" +
|
||||
"@AuthorizationService.PORTAL_ADMIN, " +
|
||||
"@AuthorizationService.curator('community'))")
|
||||
@RequestMapping(value = "/pluginTemplate/save/order/{position}", method = RequestMethod.POST)
|
||||
public PluginTemplate updatePluginTemplateOrder(@RequestBody PluginTemplate pluginTemplate, @PathVariable(value = "position") Integer position ) {
|
||||
PluginTemplate pt = pluginService.getPluginTemplateById(pluginTemplate.getId());
|
||||
pt.setOrder(pt.getOrder() != null ? pt.getOrder() + position: 0 );
|
||||
return pluginService.savePluginTemplate(pt);
|
||||
}
|
||||
@PreAuthorize("hasAnyAuthority(" +
|
||||
"@AuthorizationService.PORTAL_ADMIN, " +
|
||||
"@AuthorizationService.curator('community')," +
|
||||
"@AuthorizationService.manager('community', #pid))")
|
||||
@RequestMapping(value = "/community/{pid}/plugin/save/order/{position}", method = RequestMethod.POST)
|
||||
public Plugin updatePluginOrder(@PathVariable String pid,@RequestBody Plugin plugin, @PathVariable(value = "position") Integer position ) {
|
||||
Plugin pl = pluginService.getPluginById(plugin.getId());
|
||||
pl.setOrder(pl.getOrder() != null ? pl.getOrder() + position: 0 );
|
||||
return pluginService.savePlugin(pl);
|
||||
}
|
||||
@PreAuthorize("hasAnyAuthority(" +
|
||||
"@AuthorizationService.PORTAL_ADMIN, " +
|
||||
"@AuthorizationService.curator('community')," +
|
||||
"@AuthorizationService.manager('community', #pid))")
|
||||
@RequestMapping(value = "/community/{pid}/plugin/save", method = RequestMethod.POST)
|
||||
public Plugin savePlugin(@PathVariable String pid, @RequestBody Plugin plugin ) {
|
||||
return pluginService.savePlugin(plugin);
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAnyAuthority(" +
|
||||
"@AuthorizationService.PORTAL_ADMIN, " +
|
||||
"@AuthorizationService.curator('community'))")
|
||||
@RequestMapping(value = "/community/{pid}/plugin/status/{id}", method = RequestMethod.POST)
|
||||
public Plugin updatePluginStatus(@PathVariable String pid, @PathVariable(value = "id") String id, @RequestBody String status ) {
|
||||
return pluginService.updatePluginStatus(id,status);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/pluginTemplate/page/count", method = RequestMethod.GET)
|
||||
public Map<String, Integer> countPluginTemplatesForPages() {
|
||||
Map<String, Integer> mapCount = new HashMap<String, Integer>();
|
||||
|
||||
List<Page> pages = pageService.getAllPages(null, null, null);
|
||||
for(Page page : pages){
|
||||
List<PluginTemplate> plugin = pluginService.getPluginTemplatesByPage( page.getId());
|
||||
if (plugin == null) {
|
||||
mapCount.put(page.getId(), 0);
|
||||
} else {
|
||||
mapCount.put(page.getId(), plugin.size());
|
||||
}
|
||||
}
|
||||
return mapCount;
|
||||
}
|
||||
|
||||
// not used by portals
|
||||
@PreAuthorize("hasAnyAuthority(" +
|
||||
"@AuthorizationService.PORTAL_ADMIN, " +
|
||||
"@AuthorizationService.curator('community'))")
|
||||
@RequestMapping(value = "/pluginTemplate/{id}", method = RequestMethod.DELETE)
|
||||
public void deletePluginTemplate(@PathVariable(value = "id") String id) {
|
||||
pluginService.deletePluginTemplate(id);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/plugin/template/count", method = RequestMethod.GET)
|
||||
public Map<String, Integer> countPluginsByTemplate() {
|
||||
Map<String, Integer> mapCount = new HashMap<String, Integer>();
|
||||
|
||||
List<PluginTemplate> templates = pluginService.getPluginTemplates(null,null,null);
|
||||
for(PluginTemplate template: templates){
|
||||
List<Plugin> plugins = pluginService.getPluginsByTemplateId(template.getId());
|
||||
if (plugins == null) {
|
||||
mapCount.put(template.getId(), 0);
|
||||
} else {
|
||||
mapCount.put(template.getId(), plugins.size());
|
||||
}
|
||||
}
|
||||
return mapCount;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package eu.dnetlib.uoaadmintoolslibrary.dao.MongoDBDAOs;
|
||||
|
||||
import eu.dnetlib.uoaadmintoolslibrary.dao.PluginDAO;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.entities.plugin.Plugin;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.entities.plugin.PluginTemplate;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
import org.springframework.data.mongodb.repository.Query;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface MongoDBPluginDAO extends PluginDAO, MongoRepository<Plugin, String> {
|
||||
Plugin findById(String Id);
|
||||
|
||||
List<Plugin> findAll();
|
||||
List<Plugin> findByPage(String page);
|
||||
List<Plugin> findByPageAndPid(String page, String pid);
|
||||
List<Plugin> findByTemplateId(String templateId);
|
||||
Plugin save(Plugin plugin);
|
||||
void deleteAll();
|
||||
void delete(String id);
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package eu.dnetlib.uoaadmintoolslibrary.dao.MongoDBDAOs;
|
||||
|
||||
import eu.dnetlib.uoaadmintoolslibrary.dao.DivIdDAO;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.dao.PluginTemplateDAO;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.entities.DivId;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.entities.plugin.PluginTemplate;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
import org.springframework.data.mongodb.repository.Query;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface MongoDBPluginTemplateDAO extends PluginTemplateDAO, MongoRepository<PluginTemplate, String> {
|
||||
PluginTemplate findById(String Id);
|
||||
PluginTemplate findByCode(String code);
|
||||
List<PluginTemplate> findAll();
|
||||
@Query("{ pages: ?0 }")
|
||||
List<PluginTemplate> findByPages(String page);
|
||||
PluginTemplate save(PluginTemplate pluginTemplate);
|
||||
|
||||
void deleteAll();
|
||||
|
||||
void delete(String id);
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
package eu.dnetlib.uoaadmintoolslibrary.dao;
|
||||
|
||||
import eu.dnetlib.uoaadmintoolslibrary.entities.plugin.Plugin;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface PluginDAO {
|
||||
Plugin findById(String Id);
|
||||
|
||||
List<Plugin> findAll();
|
||||
List<Plugin> findByPage(String page);
|
||||
List<Plugin> findByPageAndPid(String page, String pid);
|
||||
List<Plugin> findByTemplateId(String templateId);
|
||||
Plugin save(Plugin plugin);
|
||||
void deleteAll();
|
||||
void delete(String id);
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package eu.dnetlib.uoaadmintoolslibrary.dao;
|
||||
|
||||
import eu.dnetlib.uoaadmintoolslibrary.entities.plugin.PluginTemplate;
|
||||
import java.util.List;
|
||||
|
||||
public interface PluginTemplateDAO {
|
||||
PluginTemplate findById(String Id);
|
||||
List<PluginTemplate> findAll();
|
||||
List<PluginTemplate> findByPage(String page);
|
||||
PluginTemplate save(PluginTemplate pluginTemplate);
|
||||
|
||||
void deleteAll();
|
||||
|
||||
void delete(String id);
|
||||
}
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
package eu.dnetlib.uoaadmintoolslibrary.entities.plugin;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import org.springframework.data.annotation.Id;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class Plugin {
|
||||
@Id
|
||||
@JsonProperty("_id")
|
||||
private String id;
|
||||
private String pid;
|
||||
private String templateCode;
|
||||
private String templateId;
|
||||
private String page;
|
||||
private String placement;
|
||||
private Integer order;
|
||||
private Boolean isActive = true;
|
||||
private Map<String,String> settingsValues = new HashMap<>();
|
||||
private Object object;
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getPid() {
|
||||
return pid;
|
||||
}
|
||||
|
||||
public void setPid(String pid) {
|
||||
this.pid = pid;
|
||||
}
|
||||
|
||||
public String getTemplateCode() {
|
||||
|
||||
|
||||
return templateCode;
|
||||
}
|
||||
|
||||
public void setTemplateCode(String templateCode) {
|
||||
this.templateCode = templateCode;
|
||||
}
|
||||
|
||||
public String getTemplateId() {
|
||||
return templateId;
|
||||
}
|
||||
|
||||
public void setTemplateId(String templateId) {
|
||||
this.templateId = templateId;
|
||||
}
|
||||
|
||||
public String getPage() {
|
||||
return page;
|
||||
}
|
||||
|
||||
public void setPage(String page) {
|
||||
this.page = page;
|
||||
}
|
||||
|
||||
public String getPlacement() {
|
||||
return placement;
|
||||
}
|
||||
|
||||
public void setPlacement(String placement) {
|
||||
this.placement = placement;
|
||||
}
|
||||
|
||||
public Integer getOrder() {
|
||||
return order;
|
||||
}
|
||||
|
||||
public void setOrder(Integer order) {
|
||||
this.order = order;
|
||||
}
|
||||
|
||||
public Boolean getActive() {
|
||||
return isActive;
|
||||
}
|
||||
|
||||
public void setActive(Boolean active) {
|
||||
isActive = active;
|
||||
}
|
||||
|
||||
public Map<String, String> getSettingsValues() {
|
||||
return settingsValues;
|
||||
}
|
||||
|
||||
public void setSettingsValues(Map<String, String> settingsValues) {
|
||||
this.settingsValues = settingsValues;
|
||||
}
|
||||
|
||||
public Object getObject() {
|
||||
return object;
|
||||
}
|
||||
|
||||
public void setObject(Object object) {
|
||||
this.object = object;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
package eu.dnetlib.uoaadmintoolslibrary.entities.plugin;
|
||||
|
||||
public class PluginAttributes {
|
||||
String name;
|
||||
String type;
|
||||
String value;
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,144 @@
|
|||
package eu.dnetlib.uoaadmintoolslibrary.entities.plugin;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.entities.PortalType;
|
||||
import org.springframework.data.annotation.Id;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class PluginTemplate {
|
||||
|
||||
@Id
|
||||
@JsonProperty("_id")
|
||||
private String id;
|
||||
|
||||
private String name;
|
||||
private String description;
|
||||
private String code;
|
||||
private String image;
|
||||
private String page;
|
||||
private String placement;
|
||||
private Integer order;
|
||||
private PortalType portalType; // explore, connect, community, monitor
|
||||
private String plan; // e.g basic, ultimate, etc for paid communities
|
||||
private Boolean defaultIsActive;
|
||||
private ArrayList<String> portalSpecific = new ArrayList<>();
|
||||
private Map<String,PluginAttributes> settings = new HashMap<>();
|
||||
private Object object;
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getImage() {
|
||||
return image;
|
||||
}
|
||||
|
||||
public void setImage(String image) {
|
||||
this.image = image;
|
||||
}
|
||||
|
||||
public PortalType getPortalType() {
|
||||
return portalType;
|
||||
}
|
||||
|
||||
public void setPortalType(PortalType portalType) {
|
||||
this.portalType = portalType;
|
||||
}
|
||||
|
||||
public String getPlan() {
|
||||
return plan;
|
||||
}
|
||||
|
||||
public void setPlan(String plan) {
|
||||
this.plan = plan;
|
||||
}
|
||||
|
||||
public Object getObject() {
|
||||
return object;
|
||||
}
|
||||
|
||||
public void setObject(Object object) {
|
||||
this.object = object;
|
||||
}
|
||||
|
||||
public Map<String, PluginAttributes> getSettings() {
|
||||
return settings;
|
||||
}
|
||||
|
||||
public void setSettings(Map<String, PluginAttributes> settings) {
|
||||
this.settings = settings;
|
||||
}
|
||||
|
||||
|
||||
public Integer getOrder() {
|
||||
return order;
|
||||
}
|
||||
|
||||
public void setOrder(Integer order) {
|
||||
this.order = order;
|
||||
}
|
||||
|
||||
public String getPage() {
|
||||
return page;
|
||||
}
|
||||
|
||||
public void setPage(String page) {
|
||||
this.page = page;
|
||||
}
|
||||
|
||||
public String getPlacement() {
|
||||
return placement;
|
||||
}
|
||||
|
||||
public void setPlacement(String placement) {
|
||||
this.placement = placement;
|
||||
}
|
||||
|
||||
public ArrayList<String> getPortalSpecific() {
|
||||
return portalSpecific;
|
||||
}
|
||||
|
||||
public void setPortalSpecific(ArrayList<String> portalSpecific) {
|
||||
this.portalSpecific = portalSpecific;
|
||||
}
|
||||
|
||||
public Boolean getDefaultIsActive() {
|
||||
return defaultIsActive;
|
||||
}
|
||||
|
||||
public void setDefaultIsActive(Boolean defaultIsActive) {
|
||||
this.defaultIsActive = defaultIsActive;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,96 @@
|
|||
package eu.dnetlib.uoaadmintoolslibrary.services;
|
||||
|
||||
import eu.dnetlib.uoaadmintoolslibrary.dao.PluginDAO;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.dao.PluginTemplateDAO;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.entities.plugin.Plugin;
|
||||
import eu.dnetlib.uoaadmintoolslibrary.entities.plugin.PluginTemplate;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class PluginService {
|
||||
private final Logger log = LogManager.getLogger(this.getClass());
|
||||
|
||||
@Autowired
|
||||
private PluginTemplateDAO pluginTemplateDAO;
|
||||
|
||||
@Autowired
|
||||
private PluginDAO pluginDAO;
|
||||
|
||||
public List<PluginTemplate> getPluginTemplates(String page, String name, String pid) {
|
||||
List<PluginTemplate> templates;
|
||||
if(page != null){
|
||||
templates = this.pluginTemplateDAO.findByPage(page);
|
||||
}else {
|
||||
templates = this.pluginTemplateDAO.findAll();
|
||||
}
|
||||
templates.sort(Comparator.comparingInt(PluginTemplate::getOrder));
|
||||
return templates;
|
||||
}
|
||||
|
||||
public List<Plugin> getPlugins(String page, String name, String pid) {
|
||||
return this.pluginDAO.findAll();
|
||||
}
|
||||
public Plugin getPluginById(String id) {
|
||||
return this.pluginDAO.findById(id);
|
||||
|
||||
}
|
||||
public PluginTemplate getPluginTemplateById(String id) {
|
||||
return this.pluginTemplateDAO.findById(id);
|
||||
|
||||
}
|
||||
public List<Plugin> getPluginsByTemplateId(String id) {
|
||||
return this.pluginDAO.findByTemplateId(id);
|
||||
}
|
||||
|
||||
public List<PluginTemplate> getPluginTemplatesByPage(String pageId) {
|
||||
ArrayList<String> pages = new ArrayList<String>();
|
||||
pages.add(pageId);
|
||||
List<PluginTemplate> templates = this.pluginTemplateDAO.findByPage(pageId);
|
||||
templates.sort(Comparator.comparingInt(PluginTemplate::getOrder));
|
||||
return templates;
|
||||
|
||||
}
|
||||
public List<Plugin> getPluginsByPage(String pid, String pageId) {
|
||||
ArrayList<String> pages = new ArrayList<String>();
|
||||
pages.add(pageId);
|
||||
return this.pluginDAO.findByPageAndPid(pageId,pid);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public PluginTemplate savePluginTemplate(PluginTemplate pluginTemplate) {
|
||||
return this.pluginTemplateDAO.save(pluginTemplate);
|
||||
}
|
||||
public Plugin savePlugin(Plugin plugin) {
|
||||
return this.pluginDAO.save(plugin);
|
||||
}
|
||||
|
||||
public Plugin updatePluginStatus(String id, String status) {
|
||||
Plugin plugin = this.pluginDAO.findById(id);
|
||||
if(plugin != null) {
|
||||
plugin.setActive(Boolean.parseBoolean(status));
|
||||
}
|
||||
return this.pluginDAO.save(plugin);
|
||||
}
|
||||
|
||||
|
||||
public void deletePluginTemplate(String id) {
|
||||
pluginTemplateDAO.delete(id);
|
||||
List <Plugin> plugins = pluginDAO.findByTemplateId(id);
|
||||
for(Plugin p: plugins){
|
||||
pluginDAO.delete(p.getId());
|
||||
}
|
||||
|
||||
}
|
||||
public void deletePlugin(String id) {
|
||||
pluginDAO.delete(id);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue