Project

General

Profile

1
package eu.dnetlib.administration.uis.modules.repos;
2

    
3
import org.springframework.beans.factory.annotation.Autowired;
4
import org.springframework.ui.ModelMap;
5
import org.springframework.web.bind.annotation.RequestMapping;
6
import org.springframework.web.bind.annotation.RestController;
7

    
8
import com.google.gson.Gson;
9

    
10
import eu.dnetlib.administration.uis.annotations.Authorization;
11
import eu.dnetlib.administration.uis.annotations.MenuEntry;
12
import eu.dnetlib.administration.uis.annotations.MenuGroup;
13
import eu.dnetlib.administration.uis.annotations.PermissionLevel;
14
import eu.dnetlib.clients.dsManager.DsManagerClient;
15

    
16
@RestController
17
@RequestMapping("/ajax/apis")
18
@MenuEntry(value = "Overview", order = 1, urlSection = "apis")
19
@MenuGroup(value = "DataSource Management", order = 5)
20
@Authorization(PermissionLevel.DS_ADMIN)
21
public class RepoApisModule extends AbstractRepoModule {
22

    
23
	@Autowired
24
	private DsManagerClient dsManager;
25

    
26
	@Autowired
27
	private DatasourceVocabularies vocs;
28

    
29
	@Override
30
	public void populateModelMap(final ModelMap map) throws Exception {
31
		final Gson gson = new Gson();
32
		map.addAttribute("compatibilityLevels", fetchVocabularyTermsAsJson(vocs.getCompatibilityLevels()));
33
		map.addAttribute("browseFields", gson.toJson(dsManager.listBrowsableFields()));
34
	}
35
}
(5-5/10)