Revision 50973
Added by Konstantina Galouni over 6 years ago
modules/uoa-admin-tools/init_db.js | ||
---|---|---|
1 |
//version compatibility: 1.0.0-SNAPSHOT |
|
2 |
|
|
1 | 3 |
use openaire_admin |
2 | 4 |
|
3 | 5 |
drop = false; |
... | ... | |
161 | 163 |
community_entities[datasourceId] = true; |
162 | 164 |
|
163 | 165 |
db.community.save({ "name" : "OpenAIRE", "pid" : "openaire", "pages" : community_pages, "entities" : community_entities}) |
166 |
|
|
167 |
openaireCommunity = db.community.find( { pid: "openaire" }).map( function(community) { return community._id.str; } ).toString() |
|
168 |
|
|
169 |
db.divId.save({ "name" : "link-context-form", "pages" : [link, directLink], "community" : openaireCommunity}) |
|
170 |
db.divId.save({ "name" : "link-project-form", "pages" : [link, directLink], "community" : openaireCommunity}) |
|
171 |
db.divId.save({ "name" : "link-result-form", "pages" : [link, directLink], "community" : openaireCommunity}) |
|
172 |
db.divId.save({ "name" : "link-result-bulk", "pages" : [link], "community" : openaireCommunity}) |
|
173 |
db.divId.save({ "name" : "link-metadata", "pages" : [link, directLink], "community" : openaireCommunity}) |
|
164 | 174 |
} |
modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/dao/DivIdDAO.java | ||
---|---|---|
8 | 8 |
List<DivId> findAll(); |
9 | 9 |
|
10 | 10 |
List<DivId> findByCommunity(String community); |
11 |
List<DivId> findByCommunityAndPage(String community, String page); |
|
12 |
List<DivId> findByCommunityAndPageAndName(String community, String page, String name); |
|
11 |
List<DivId> findByCommunityAndPagesContaining(String community, String page);
|
|
12 |
List<DivId> findByCommunityAndPagesContainingAndName(String community, String page, String name);
|
|
13 | 13 |
List<DivId> findByCommunityAndName(String community, String name); |
14 |
List<DivId> findByPageAndName(String page, String name); |
|
15 |
List<DivId> findByPage(String page); |
|
14 |
List<DivId> findByPagesContainingAndName(String page, String name);
|
|
15 |
List<DivId> findByPagesContaining(String page);
|
|
16 | 16 |
List<DivId> findByName(String name); |
17 | 17 |
|
18 | 18 |
DivId findById(String Id); |
modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/dao/MongoDBDivIdDAO.java | ||
---|---|---|
9 | 9 |
List<DivId> findAll(); |
10 | 10 |
|
11 | 11 |
List<DivId> findByCommunity(String community); |
12 |
List<DivId> findByCommunityAndPage(String community, String page); |
|
13 |
List<DivId> findByCommunityAndPageAndName(String community, String page, String name); |
|
12 |
List<DivId> findByCommunityAndPagesContaining(String community, String page);
|
|
13 |
List<DivId> findByCommunityAndPagesContainingAndName(String community, String page, String name);
|
|
14 | 14 |
List<DivId> findByCommunityAndName(String community, String name); |
15 |
List<DivId> findByPageAndName(String page, String name); |
|
16 |
List<DivId> findByPage(String page); |
|
15 |
List<DivId> findByPagesContainingAndName(String page, String name);
|
|
16 |
List<DivId> findByPagesContaining(String page);
|
|
17 | 17 |
List<DivId> findByName(String name); |
18 | 18 |
|
19 | 19 |
DivId findById(String Id); |
modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/entities/DivId.java | ||
---|---|---|
3 | 3 |
import com.fasterxml.jackson.annotation.JsonProperty; |
4 | 4 |
import org.springframework.data.annotation.Id; |
5 | 5 |
|
6 |
import java.util.List; |
|
7 |
|
|
6 | 8 |
public class DivId { |
7 | 9 |
@Id |
8 | 10 |
@JsonProperty("_id") |
9 | 11 |
private String id; |
10 | 12 |
|
11 | 13 |
private String name; |
12 |
private String page;
|
|
14 |
private List<String> pages;
|
|
13 | 15 |
private String community; |
14 | 16 |
|
15 | 17 |
public DivId() { |
... | ... | |
31 | 33 |
this.name = name; |
32 | 34 |
} |
33 | 35 |
|
34 |
public String getPage() {
|
|
35 |
return page; |
|
36 |
public List<String> getPages() {
|
|
37 |
return pages;
|
|
36 | 38 |
} |
37 | 39 |
|
38 |
public void setPage(String page) {
|
|
39 |
this.page = page;
|
|
40 |
public void setPages(List<String> pages) {
|
|
41 |
this.pages = pages;
|
|
40 | 42 |
} |
41 | 43 |
|
42 | 44 |
public String getCommunity() { |
modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/entities/DivIdResponse.java | ||
---|---|---|
3 | 3 |
import com.fasterxml.jackson.annotation.JsonProperty; |
4 | 4 |
import org.springframework.data.annotation.Id; |
5 | 5 |
|
6 |
import java.util.List; |
|
7 |
|
|
6 | 8 |
public class DivIdResponse { |
7 | 9 |
@Id |
8 | 10 |
@JsonProperty("_id") |
9 | 11 |
private String id; |
10 | 12 |
|
11 | 13 |
private String name; |
12 |
private Page page;
|
|
14 |
private List<Page> pages;
|
|
13 | 15 |
private Community community; |
14 | 16 |
|
15 | 17 |
public DivIdResponse(DivId divId) { |
... | ... | |
33 | 35 |
this.name = name; |
34 | 36 |
} |
35 | 37 |
|
36 |
public Page getPage() {
|
|
37 |
return page; |
|
38 |
public List<Page> getPages() {
|
|
39 |
return pages;
|
|
38 | 40 |
} |
39 | 41 |
|
40 |
public void setPage(Page page) {
|
|
41 |
this.page = page;
|
|
42 |
public void setPages(List<Page> pages) {
|
|
43 |
this.pages = pages;
|
|
42 | 44 |
} |
43 | 45 |
|
44 | 46 |
public Community getCommunity() { |
modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/controllers/EntityController.java | ||
---|---|---|
77 | 77 |
List<Community> communities = communityDAO.findAll(); |
78 | 78 |
for( Community community : communities ) { |
79 | 79 |
Map<String, Boolean> entities = community.getEntities(); |
80 |
entities.put(entity.getId(), false);
|
|
80 |
entities.put(entity.getId(), true);
|
|
81 | 81 |
community.setEntities(entities); |
82 | 82 |
communityDAO.save(community); |
83 | 83 |
} |
modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/controllers/DivIdController.java | ||
---|---|---|
4 | 4 |
import eu.dnetlib.uoaadmintools.dao.CommunityDAO; |
5 | 5 |
import eu.dnetlib.uoaadmintools.dao.DivIdDAO; |
6 | 6 |
import eu.dnetlib.uoaadmintools.dao.PageDAO; |
7 |
import eu.dnetlib.uoaadmintools.entities.DivId; |
|
8 |
import eu.dnetlib.uoaadmintools.entities.DivIdResponse; |
|
9 |
import eu.dnetlib.uoaadmintools.entities.Page; |
|
7 |
import eu.dnetlib.uoaadmintools.entities.*; |
|
10 | 8 |
import org.apache.log4j.Logger; |
11 | 9 |
import org.springframework.beans.factory.annotation.Autowired; |
12 | 10 |
import org.springframework.web.bind.annotation.*; |
... | ... | |
27 | 25 |
@Autowired |
28 | 26 |
private PageDAO pageDAO; |
29 | 27 |
|
28 |
@Autowired |
|
29 |
private DivHelpContentController divHelpContentController; |
|
30 |
|
|
30 | 31 |
DivIdController() {} |
31 | 32 |
|
32 | 33 |
@RequestMapping(value = "/div", method = RequestMethod.GET) |
... | ... | |
40 | 41 |
} |
41 | 42 |
|
42 | 43 |
if(community != null && page != null && name != null) { |
43 |
divIds = divIdDAO.findByCommunityAndPageAndName(communityId, page, name); |
|
44 |
divIds = divIdDAO.findByCommunityAndPagesContainingAndName(communityId, page, name);
|
|
44 | 45 |
} else if(community != null && page != null) { |
45 |
divIds = divIdDAO.findByCommunityAndPage(communityId, page); |
|
46 |
divIds = divIdDAO.findByCommunityAndPagesContaining(communityId, page);
|
|
46 | 47 |
} else if(community != null && name != null) { |
47 | 48 |
divIds = divIdDAO.findByCommunityAndName(communityId, name); |
48 | 49 |
} else if(page != null && name != null) { |
49 |
divIds = divIdDAO.findByPageAndName(page, name); |
|
50 |
divIds = divIdDAO.findByPagesContainingAndName(page, name);
|
|
50 | 51 |
} else if(community != null) { |
51 | 52 |
divIds = divIdDAO.findByCommunity(communityId); |
52 | 53 |
} else if(page != null) { |
53 |
divIds = divIdDAO.findByPage(page); |
|
54 |
divIds = divIdDAO.findByPagesContaining(page);
|
|
54 | 55 |
} else if(name != null) { |
55 | 56 |
divIds = divIdDAO.findByName(name); |
56 | 57 |
} else { |
... | ... | |
70 | 71 |
for(DivId divId : divIds) { |
71 | 72 |
DivIdResponse divIdResponse = new DivIdResponse(divId); |
72 | 73 |
divIdResponse.setCommunity(communityDAO.findById(divId.getCommunity())); |
73 |
divIdResponse.setPage(pageDAO.findById(divId.getPage())); |
|
74 |
List<Page> pages = new ArrayList<>(); |
|
75 |
for(String pageId : divId.getPages()) { |
|
76 |
pages.add(pageDAO.findById(pageId)); |
|
77 |
} |
|
78 |
divIdResponse.setPages(pages); |
|
74 | 79 |
|
75 | 80 |
divIdResponses.add(divIdResponse); |
76 | 81 |
} |
... | ... | |
88 | 93 |
DivId divId = divIdDAO.findById(id); |
89 | 94 |
DivIdResponse divIdResponse = new DivIdResponse(divId); |
90 | 95 |
divIdResponse.setCommunity(communityDAO.findById(divId.getCommunity())); |
91 |
divIdResponse.setPage(pageDAO.findById(divId.getPage())); |
|
96 |
List<Page> pages = new ArrayList<>(); |
|
97 |
for(String pageId : divId.getPages()) { |
|
98 |
pages.add(pageDAO.findById(pageId)); |
|
99 |
} |
|
100 |
divIdResponse.setPages(pages); |
|
92 | 101 |
return divIdResponse; |
93 | 102 |
} |
94 | 103 |
|
... | ... | |
106 | 115 |
} |
107 | 116 |
|
108 | 117 |
@RequestMapping(value = "/div/update", method = RequestMethod.POST) |
109 |
public DivIdResponse updateDivId(@RequestBody DivIdResponse divIdResponse) { |
|
110 |
DivId divId = divIdDAO.findById(divIdResponse.getId()); |
|
111 |
divId.setName(divIdResponse.getName()); |
|
112 |
divId.setPage(divIdResponse.getPage().getId()); |
|
118 |
public DivIdResponse updateDivId(@RequestBody DivId _divId) { |
|
119 |
DivId divId = divIdDAO.findById(_divId.getId()); |
|
120 |
divId.setName(_divId.getName()); |
|
121 |
/*List<String> pageIds = new ArrayList<>(); |
|
122 |
for(Page page : divIdResponse.getPages()) { |
|
123 |
pageIds.add(page.getId()); |
|
124 |
}*/ |
|
125 |
divId.setPages(_divId.getPages()); |
|
113 | 126 |
divIdDAO.save(divId); |
114 |
return divIdResponse;
|
|
127 |
return this.getDivIdFull(divId.getId());
|
|
115 | 128 |
} |
116 | 129 |
|
117 | 130 |
@RequestMapping(value = "/div/delete", method = RequestMethod.POST) |
118 | 131 |
public Boolean deleteDivIds(@RequestBody List<String> divIds) throws Exception { |
119 | 132 |
for (String id: divIds) { |
133 |
DivId divId = divIdDAO.findById(id); |
|
134 |
|
|
135 |
Community community = communityDAO.findById(divId.getCommunity()); |
|
136 |
|
|
137 |
// delete div contents related to this divId |
|
138 |
List<DivHelpContentResponse> divHelpContentResponses = divHelpContentController.getDivHelpContents(community.getPid(), null, divId.getName(), null); |
|
139 |
for(DivHelpContentResponse divHelpContentResponse : divHelpContentResponses) { |
|
140 |
divHelpContentController.deleteDivHelpContent(divHelpContentResponse.getId()); |
|
141 |
} |
|
142 |
|
|
120 | 143 |
divIdDAO.delete(id); |
121 | 144 |
} |
122 | 145 |
return true; |
... | ... | |
147 | 170 |
} |
148 | 171 |
|
149 | 172 |
if(hasCommunityPageDivIds.containsKey(communityPid)) { |
150 |
hasCommunityPageDivIds.get(communityPid).add(divId.getPage()); |
|
173 |
for(String pageId : divId.getPages()) { |
|
174 |
hasCommunityPageDivIds.get(communityPid).add(pageId); |
|
175 |
} |
|
151 | 176 |
} else { |
152 | 177 |
hasCommunityPageDivIds.put(communityPid, new HashSet<>()); |
153 |
hasCommunityPageDivIds.get(communityPid).add(divId.getPage()); |
|
178 |
for(String pageId : divId.getPages()) { |
|
179 |
hasCommunityPageDivIds.get(communityPid).add(pageId); |
|
180 |
} |
|
154 | 181 |
} |
155 | 182 |
} |
156 | 183 |
return hasCommunityPageDivIds; |
157 | 184 |
} |
185 |
|
|
158 | 186 |
} |
modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/controllers/CommunityController.java | ||
---|---|---|
234 | 234 |
// delete divIds related to this page from all communities |
235 | 235 |
List<DivId> divIds = divIdController.getDivIds(id, null, null); |
236 | 236 |
for(DivId divId : divIds) { |
237 |
divIdController.deleteDivId(divId.getId()); |
|
237 |
//divIdController.deleteDivId(divId.getId());
|
|
238 | 238 |
} |
239 | 239 |
|
240 | 240 |
// delete div contents related to this page from all communities |
... | ... | |
286 | 286 |
for (Map.Entry<String, Boolean> page : pages.entrySet()) { |
287 | 287 |
if(div != null && div.equals("true")) { |
288 | 288 |
Community community = communityDAO.findByPid(pid); |
289 |
List<DivId> divIds = divIdDAO.findByCommunityAndPage(community.getId(), page.getKey()); |
|
289 |
List<DivId> divIds = divIdDAO.findByCommunityAndPagesContaining(community.getId(), page.getKey());
|
|
290 | 290 |
if(divIds.isEmpty()) { |
291 | 291 |
continue; |
292 | 292 |
} |
modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/controllers/DivHelpContentController.java | ||
---|---|---|
43 | 43 |
divIdResponses = divIdController.getDivIdsFull(community, null, div); |
44 | 44 |
|
45 | 45 |
for(DivIdResponse divIdResponse : divIdResponses) { |
46 |
if(page == null || divIdResponse.getPage().getRoute().equals(page)) { |
|
47 |
List<DivHelpContent> divHelpContents = divHelpContentDAO.findByDivId(divIdResponse.getId()); |
|
46 |
for(Page p : divIdResponse.getPages()) { |
|
47 |
if(page == null || p.getRoute().equals(page)) { |
|
48 |
List<DivHelpContent> divHelpContents = divHelpContentDAO.findByDivId(divIdResponse.getId()); |
|
48 | 49 |
|
49 |
for (DivHelpContent divHelpContent : divHelpContents) { |
|
50 |
if(active == null || Boolean.parseBoolean(active) == divHelpContent.getIsActive()) { |
|
51 |
DivHelpContentResponse divHelpContentResponse = new DivHelpContentResponse(divHelpContent); |
|
52 |
divHelpContentResponse.setDivId(divIdResponse); |
|
53 |
divHelpContentResponses.add(divHelpContentResponse); |
|
50 |
for (DivHelpContent divHelpContent : divHelpContents) { |
|
51 |
if (active == null || Boolean.parseBoolean(active) == divHelpContent.getIsActive()) { |
|
52 |
DivHelpContentResponse divHelpContentResponse = new DivHelpContentResponse(divHelpContent); |
|
53 |
divHelpContentResponse.setDivId(divIdResponse); |
|
54 |
divHelpContentResponses.add(divHelpContentResponse); |
|
55 |
} |
|
54 | 56 |
} |
57 |
break; |
|
55 | 58 |
} |
56 | 59 |
} |
57 | 60 |
} |
modules/uoa-admin-tools/pom.xml | ||
---|---|---|
5 | 5 |
|
6 | 6 |
<groupId>eu.dnetlib</groupId> |
7 | 7 |
<artifactId>uoa-admin-tools</artifactId> |
8 |
<version>0.0.1-SNAPSHOT</version>
|
|
8 |
<version>1.0.0-SNAPSHOT</version>
|
|
9 | 9 |
<packaging>war</packaging> |
10 | 10 |
|
11 | 11 |
<name>uoa-admin-tools</name> |
Also available in: Unified diff
1. DivId is related with >=1 Pages (not just 1).
2. Version changed to 1.0.0 (not backward compatible).
3. DivId creation added in mongo initializing script - version information added.