Project

General

Profile

« Previous | Next » 

Revision 50973

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.

View differences:

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