Revision 57670
Added by Michele Artini over 4 years ago
OrganizationController.java | ||
---|---|---|
8 | 8 |
import java.util.Map; |
9 | 9 |
import java.util.Set; |
10 | 10 |
import java.util.TreeMap; |
11 |
import java.util.stream.Collectors; |
|
11 | 12 |
|
12 | 13 |
import org.apache.commons.lang3.StringUtils; |
13 | 14 |
import org.springframework.beans.factory.annotation.Autowired; |
... | ... | |
24 | 25 |
import eu.dnetlib.organizations.model.OpenaireSimRel; |
25 | 26 |
import eu.dnetlib.organizations.model.utils.BrowseEntry; |
26 | 27 |
import eu.dnetlib.organizations.model.utils.RelationByOrg; |
28 |
import eu.dnetlib.organizations.model.view.ConflictView; |
|
27 | 29 |
import eu.dnetlib.organizations.model.view.OrganizationSimpleView; |
28 | 30 |
import eu.dnetlib.organizations.model.view.OrganizationView; |
29 |
import eu.dnetlib.organizations.model.view.WarningView; |
|
30 | 31 |
import eu.dnetlib.organizations.repository.OpenaireSimRelRepository; |
31 | 32 |
import eu.dnetlib.organizations.repository.OrganizationRepository; |
33 |
import eu.dnetlib.organizations.repository.readonly.ConflictViewRepository; |
|
32 | 34 |
import eu.dnetlib.organizations.repository.readonly.OrganizationSimpleViewRepository; |
33 | 35 |
import eu.dnetlib.organizations.repository.readonly.OrganizationViewRepository; |
34 |
import eu.dnetlib.organizations.repository.readonly.WarningViewRepository; |
|
35 | 36 |
import eu.dnetlib.organizations.utils.DatabaseUtils; |
37 |
import eu.dnetlib.organizations.utils.OpenOrgsConstants; |
|
36 | 38 |
import eu.dnetlib.organizations.utils.RelationType; |
37 | 39 |
|
38 | 40 |
@RestController |
... | ... | |
48 | 50 |
@Autowired |
49 | 51 |
private OpenaireSimRelRepository openaireSimRelRepository; |
50 | 52 |
@Autowired |
51 |
private WarningViewRepository warningViewRepository;
|
|
53 |
private ConflictViewRepository conflictViewRepository;
|
|
52 | 54 |
@Autowired |
53 | 55 |
private DatabaseUtils databaseUtils; |
54 | 56 |
|
... | ... | |
128 | 130 |
|
129 | 131 |
} |
130 | 132 |
|
131 |
@RequestMapping(value = "/similarities", method = RequestMethod.GET)
|
|
132 |
public List<OpenaireSimRel> findSimilaritiesById(@RequestParam final String id, final Authentication authentication) {
|
|
133 |
@RequestMapping(value = "/enrichments", method = RequestMethod.GET)
|
|
134 |
public List<OpenaireSimRel> findEnrichmentsById(@RequestParam final String id, final Authentication authentication) {
|
|
133 | 135 |
if (UserInfo.isSuperAdmin(authentication) || organizationRepository.verifyAuthorizationForId(id, authentication.getName())) { |
134 |
// return openaireSimRelRepository.findByLocalId(id).stream().filter(s -> |
|
135 |
// !s.getOaOriginalId().startsWith(OpenOrgsConstants.OPENORGS_PREFIX)).collect(Collectors.toList()); |
|
136 |
return openaireSimRelRepository.findByLocalId(id); |
|
136 |
return openaireSimRelRepository.findByLocalId(id) |
|
137 |
.stream() |
|
138 |
.filter(s -> !s.getOaOriginalId().startsWith(OpenOrgsConstants.OPENORGS_PREFIX)) |
|
139 |
.collect(Collectors.toList()); |
|
137 | 140 |
} else { |
138 | 141 |
throw new RuntimeException("User not authorized"); |
139 | 142 |
} |
140 | 143 |
} |
141 | 144 |
|
142 |
@RequestMapping(value = "/warnings", method = RequestMethod.GET) |
|
145 |
@RequestMapping(value = "/conflicts", method = RequestMethod.GET) |
|
146 |
public List<OpenaireSimRel> findConflictsById(@RequestParam final String id, final Authentication authentication) { |
|
147 |
if (UserInfo.isSuperAdmin(authentication) || organizationRepository.verifyAuthorizationForId(id, authentication.getName())) { |
|
148 |
return openaireSimRelRepository.findByLocalId(id) |
|
149 |
.stream() |
|
150 |
.filter(s -> s.getOaOriginalId().startsWith(OpenOrgsConstants.OPENORGS_PREFIX)) |
|
151 |
.collect(Collectors.toList()); |
|
152 |
} else { |
|
153 |
throw new RuntimeException("User not authorized"); |
|
154 |
} |
|
155 |
} |
|
156 |
|
|
157 |
@RequestMapping(value = "/conflicts/all", method = RequestMethod.GET) |
|
143 | 158 |
public Collection<Set<OrganizationSimpleView>> findWarningsById(final Authentication authentication) { |
144 | 159 |
|
145 | 160 |
final Map<String, Set<OrganizationSimpleView>> res = new TreeMap<>(); |
... | ... | |
147 | 162 |
final Map<String, String> roots = new HashMap<>(); |
148 | 163 |
|
149 | 164 |
if (UserInfo.isSuperAdmin(authentication)) { |
150 |
for (final WarningView w : warningViewRepository.findAll()) {
|
|
165 |
for (final ConflictView w : conflictViewRepository.findAll()) {
|
|
151 | 166 |
final String root = findWarningRoot(w, roots); |
152 | 167 |
if (!res.containsKey(root)) { |
153 | 168 |
res.put(root, new LinkedHashSet<OrganizationSimpleView>()); |
... | ... | |
161 | 176 |
} |
162 | 177 |
} |
163 | 178 |
|
164 |
private String findWarningRoot(final WarningView w, final Map<String, String> roots) {
|
|
179 |
private String findWarningRoot(final ConflictView w, final Map<String, String> roots) {
|
|
165 | 180 |
if (roots.containsKey(w.getId1())) { |
166 | 181 |
return roots.get(w.getId1()); |
167 | 182 |
} else if (roots.containsKey(w.getId2())) { |
... | ... | |
175 | 190 |
|
176 | 191 |
} |
177 | 192 |
|
178 |
@RequestMapping(value = "/similarities", method = RequestMethod.POST)
|
|
179 |
public List<OpenaireSimRel> saveSimilarities(@RequestBody final List<OpenaireSimRel> simrels, final Authentication authentication) {
|
|
193 |
@RequestMapping(value = "/enrichments", method = RequestMethod.POST)
|
|
194 |
public List<OpenaireSimRel> saveEnrichments(@RequestBody final List<OpenaireSimRel> simrels, final Authentication authentication) {
|
|
180 | 195 |
|
181 | 196 |
final boolean b = UserInfo.isSuperAdmin(authentication) |
182 | 197 |
|| simrels.stream() |
Also available in: Unified diff
warning -> conflicts