Add OpenAIRE source for external Datasets
This commit is contained in:
parent
0fefc762a6
commit
7f56afad5f
|
@ -38,7 +38,7 @@ public class DataRepositoryManager {
|
||||||
|
|
||||||
public List<DataRepositoryModel> getDataRepositories(String query, String type, Principal principal) throws HugeResultSet, NoURLFound {
|
public List<DataRepositoryModel> getDataRepositories(String query, String type, Principal principal) throws HugeResultSet, NoURLFound {
|
||||||
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria(query);
|
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria(query);
|
||||||
List<Map<String, String>> remoteRepos = this.apiContext.getOperationsContext().getRemoteFetcher().getRepositories(externalUrlCriteria, type);
|
List<Map<String, Object>> remoteRepos = this.apiContext.getOperationsContext().getRemoteFetcher().getRepositories(externalUrlCriteria, type);
|
||||||
|
|
||||||
DataRepositoryCriteria criteria = new DataRepositoryCriteria();
|
DataRepositoryCriteria criteria = new DataRepositoryCriteria();
|
||||||
if (!query.isEmpty()) criteria.setLike(query);
|
if (!query.isEmpty()) criteria.setLike(query);
|
||||||
|
|
|
@ -57,7 +57,7 @@ public class ExternalDatasetManager {
|
||||||
|
|
||||||
// Fetch external Datasets from external sources.
|
// Fetch external Datasets from external sources.
|
||||||
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria(query);
|
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria(query);
|
||||||
List<Map<String, String>> remoteRepos = remoteFetcher.getDatasets(externalUrlCriteria, type);
|
List<Map<String, Object>> remoteRepos = remoteFetcher.getDatasets(externalUrlCriteria, type);
|
||||||
|
|
||||||
// Parse items from external sources to listing models.
|
// Parse items from external sources to listing models.
|
||||||
ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
||||||
|
|
|
@ -42,7 +42,7 @@ public class FunderManager {
|
||||||
QueryableList<eu.eudat.data.entities.Funder> authItems = apiContext.getOperationsContext().getDatabaseRepository().getFunderDao().getAuthenticated(items, userInfo);
|
QueryableList<eu.eudat.data.entities.Funder> authItems = apiContext.getOperationsContext().getDatabaseRepository().getFunderDao().getAuthenticated(items, userInfo);
|
||||||
List<Funder> funders = authItems.select(item -> new eu.eudat.models.data.funder.Funder().fromDataModel(item));
|
List<Funder> funders = authItems.select(item -> new eu.eudat.models.data.funder.Funder().fromDataModel(item));
|
||||||
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria(funderCriteria.getCriteria().getLike());
|
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria(funderCriteria.getCriteria().getLike());
|
||||||
List<Map<String, String>> remoteRepos = remoteFetcher.getFunders(externalUrlCriteria);
|
List<Map<String, Object>> remoteRepos = remoteFetcher.getFunders(externalUrlCriteria);
|
||||||
FundersExternalSourcesModel fundersExternalSourcesModel = new FundersExternalSourcesModel().fromExternalItem(remoteRepos);
|
FundersExternalSourcesModel fundersExternalSourcesModel = new FundersExternalSourcesModel().fromExternalItem(remoteRepos);
|
||||||
for (ExternalSourcesItemModel externalListingItem : fundersExternalSourcesModel) {
|
for (ExternalSourcesItemModel externalListingItem : fundersExternalSourcesModel) {
|
||||||
eu.eudat.models.data.funder.Funder funder = apiContext.getOperationsContext().getBuilderFactory().getBuilder(FunderBuilder.class)
|
eu.eudat.models.data.funder.Funder funder = apiContext.getOperationsContext().getBuilderFactory().getBuilder(FunderBuilder.class)
|
||||||
|
|
|
@ -126,7 +126,7 @@ public class GrantManager {
|
||||||
QueryableList<eu.eudat.data.entities.Grant> authItems = apiContext.getOperationsContext().getDatabaseRepository().getGrantDao().getAuthenticated(items, userInfo);
|
QueryableList<eu.eudat.data.entities.Grant> authItems = apiContext.getOperationsContext().getDatabaseRepository().getGrantDao().getAuthenticated(items, userInfo);
|
||||||
List<eu.eudat.models.data.grant.Grant> grants = authItems.select(item -> new Grant().fromDataModel(item));
|
List<eu.eudat.models.data.grant.Grant> grants = authItems.select(item -> new Grant().fromDataModel(item));
|
||||||
|
|
||||||
List<Map<String, String>> remoteRepos = remoteFetcher.getGrants(externalUrlCriteria);
|
List<Map<String, Object>> remoteRepos = remoteFetcher.getGrants(externalUrlCriteria);
|
||||||
|
|
||||||
GrantsExternalSourcesModel grantsExternalSourcesModel = new GrantsExternalSourcesModel().fromExternalItem(remoteRepos);
|
GrantsExternalSourcesModel grantsExternalSourcesModel = new GrantsExternalSourcesModel().fromExternalItem(remoteRepos);
|
||||||
for (ExternalSourcesItemModel externalListingItem : grantsExternalSourcesModel) {
|
for (ExternalSourcesItemModel externalListingItem : grantsExternalSourcesModel) {
|
||||||
|
|
|
@ -33,7 +33,7 @@ public class LicenseManager {
|
||||||
|
|
||||||
public List<LicenseModel> getLicenses(String query, String type) throws HugeResultSet, NoURLFound {
|
public List<LicenseModel> getLicenses(String query, String type) throws HugeResultSet, NoURLFound {
|
||||||
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria(query);
|
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria(query);
|
||||||
List<Map<String, String>> remoteRepos = this.apiContext.getOperationsContext().getRemoteFetcher().getlicenses(externalUrlCriteria, type);
|
List<Map<String, Object>> remoteRepos = this.apiContext.getOperationsContext().getRemoteFetcher().getlicenses(externalUrlCriteria, type);
|
||||||
|
|
||||||
DataRepositoryCriteria criteria = new DataRepositoryCriteria();
|
DataRepositoryCriteria criteria = new DataRepositoryCriteria();
|
||||||
if (!query.isEmpty()) criteria.setLike(query);
|
if (!query.isEmpty()) criteria.setLike(query);
|
||||||
|
|
|
@ -68,7 +68,7 @@ public class OrganisationsManager {
|
||||||
|
|
||||||
public List<Organisation> getCriteriaWithExternal(String query, String type) throws HugeResultSet, NoURLFound {
|
public List<Organisation> getCriteriaWithExternal(String query, String type) throws HugeResultSet, NoURLFound {
|
||||||
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria(query);
|
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria(query);
|
||||||
List<Map<String, String>> remoteRepos = apiContext.getOperationsContext().getRemoteFetcher().getOrganisations(externalUrlCriteria, type);
|
List<Map<String, Object>> remoteRepos = apiContext.getOperationsContext().getRemoteFetcher().getOrganisations(externalUrlCriteria, type);
|
||||||
OrganisationsExternalSourcesModel organisationsExternalSourcesModel = new OrganisationsExternalSourcesModel().fromExternalItem(remoteRepos);
|
OrganisationsExternalSourcesModel organisationsExternalSourcesModel = new OrganisationsExternalSourcesModel().fromExternalItem(remoteRepos);
|
||||||
List<Organisation> organisations = new LinkedList<>();
|
List<Organisation> organisations = new LinkedList<>();
|
||||||
for (ExternalSourcesItemModel externalListingItem : organisationsExternalSourcesModel) {
|
for (ExternalSourcesItemModel externalListingItem : organisationsExternalSourcesModel) {
|
||||||
|
|
|
@ -41,7 +41,7 @@ public class ProjectManager {
|
||||||
QueryableList<eu.eudat.data.entities.Project> authItems = apiContext.getOperationsContext().getDatabaseRepository().getProjectDao().getAuthenticated(items, userInfo);
|
QueryableList<eu.eudat.data.entities.Project> authItems = apiContext.getOperationsContext().getDatabaseRepository().getProjectDao().getAuthenticated(items, userInfo);
|
||||||
List<Project> projects = authItems.select(item -> new Project().fromDataModel(item));
|
List<Project> projects = authItems.select(item -> new Project().fromDataModel(item));
|
||||||
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria(projectCriteria.getCriteria().getLike());
|
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria(projectCriteria.getCriteria().getLike());
|
||||||
List<Map<String, String>> remoteRepos = remoteFetcher.getProjects(externalUrlCriteria);
|
List<Map<String, Object>> remoteRepos = remoteFetcher.getProjects(externalUrlCriteria);
|
||||||
ProjectsExternalSourcesModel projectsExternalSourcesModel = new ProjectsExternalSourcesModel().fromExternalItem(remoteRepos);
|
ProjectsExternalSourcesModel projectsExternalSourcesModel = new ProjectsExternalSourcesModel().fromExternalItem(remoteRepos);
|
||||||
for (ExternalSourcesItemModel externalListingItem : projectsExternalSourcesModel) {
|
for (ExternalSourcesItemModel externalListingItem : projectsExternalSourcesModel) {
|
||||||
eu.eudat.models.data.project.Project project = apiContext.getOperationsContext().getBuilderFactory().getBuilder(ProjectBuilder.class)
|
eu.eudat.models.data.project.Project project = apiContext.getOperationsContext().getBuilderFactory().getBuilder(ProjectBuilder.class)
|
||||||
|
|
|
@ -39,7 +39,7 @@ public class RegistryManager {
|
||||||
|
|
||||||
public List<RegistryModel> getRegistries(String query, String type, Principal principal) throws HugeResultSet, NoURLFound {
|
public List<RegistryModel> getRegistries(String query, String type, Principal principal) throws HugeResultSet, NoURLFound {
|
||||||
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria(query);
|
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria(query);
|
||||||
List<Map<String, String>> remoteRepos = this.apiContext.getOperationsContext().getRemoteFetcher().getRegistries(externalUrlCriteria, type);
|
List<Map<String, Object>> remoteRepos = this.apiContext.getOperationsContext().getRemoteFetcher().getRegistries(externalUrlCriteria, type);
|
||||||
|
|
||||||
RegistryCriteria criteria = new RegistryCriteria();
|
RegistryCriteria criteria = new RegistryCriteria();
|
||||||
if (!query.isEmpty()) criteria.setLike(query);
|
if (!query.isEmpty()) criteria.setLike(query);
|
||||||
|
|
|
@ -57,7 +57,7 @@ public class ResearcherManager {
|
||||||
item.setTag(keyToSourceMap.get(item.getKey()));
|
item.setTag(keyToSourceMap.get(item.getKey()));
|
||||||
}
|
}
|
||||||
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria(researcherCriteriaRequest.getCriteria().getName());
|
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria(researcherCriteriaRequest.getCriteria().getName());
|
||||||
List<Map<String, String>> remoteRepos = remoteFetcher.getResearchers(externalUrlCriteria,null);
|
List<Map<String, Object>> remoteRepos = remoteFetcher.getResearchers(externalUrlCriteria,null);
|
||||||
ResearchersExternalSourcesModel researchersExternalSourcesModel = new ResearchersExternalSourcesModel().fromExternalItem(remoteRepos);
|
ResearchersExternalSourcesModel researchersExternalSourcesModel = new ResearchersExternalSourcesModel().fromExternalItem(remoteRepos);
|
||||||
for (ExternalSourcesItemModel externalListingItem : researchersExternalSourcesModel) {
|
for (ExternalSourcesItemModel externalListingItem : researchersExternalSourcesModel) {
|
||||||
eu.eudat.models.data.dmp.Researcher researcher = apiContext.getOperationsContext().getBuilderFactory().getBuilder(ResearcherBuilder.class)
|
eu.eudat.models.data.dmp.Researcher researcher = apiContext.getOperationsContext().getBuilderFactory().getBuilder(ResearcherBuilder.class)
|
||||||
|
|
|
@ -36,7 +36,7 @@ public class ServiceManager {
|
||||||
|
|
||||||
public List<ServiceModel> getServices(String query, String type, Principal principal) throws HugeResultSet, NoURLFound {
|
public List<ServiceModel> getServices(String query, String type, Principal principal) throws HugeResultSet, NoURLFound {
|
||||||
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria(query);
|
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria(query);
|
||||||
List<Map<String, String>> remoteRepos = this.apiContext.getOperationsContext().getRemoteFetcher().getServices(externalUrlCriteria, type);
|
List<Map<String, Object>> remoteRepos = this.apiContext.getOperationsContext().getRemoteFetcher().getServices(externalUrlCriteria, type);
|
||||||
|
|
||||||
ServiceCriteria criteria = new ServiceCriteria();
|
ServiceCriteria criteria = new ServiceCriteria();
|
||||||
if (!query.isEmpty()) criteria.setLike(query);
|
if (!query.isEmpty()) criteria.setLike(query);
|
||||||
|
|
|
@ -43,7 +43,7 @@ public class RemoteFetcher {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Cacheable("repositories")
|
@Cacheable("repositories")
|
||||||
public List<Map<String, String>> getRepositories(ExternalUrlCriteria externalUrlCriteria, String key) throws NoURLFound, HugeResultSet {
|
public List<Map<String, Object>> getRepositories(ExternalUrlCriteria externalUrlCriteria, String key) throws NoURLFound, HugeResultSet {
|
||||||
List<UrlConfiguration> urlConfigs =
|
List<UrlConfiguration> urlConfigs =
|
||||||
key != null && !key.isEmpty() ? configLoader.getExternalUrls().getRepositories().getUrls().stream().filter(item -> item.getKey().equals(key)).collect(Collectors.toList())
|
key != null && !key.isEmpty() ? configLoader.getExternalUrls().getRepositories().getUrls().stream().filter(item -> item.getKey().equals(key)).collect(Collectors.toList())
|
||||||
: configLoader.getExternalUrls().getRepositories().getUrls();
|
: configLoader.getExternalUrls().getRepositories().getUrls();
|
||||||
|
@ -52,28 +52,28 @@ public class RemoteFetcher {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Cacheable("grants")
|
@Cacheable("grants")
|
||||||
public List<Map<String, String>> getGrants(ExternalUrlCriteria externalUrlCriteria) throws NoURLFound, HugeResultSet {
|
public List<Map<String, Object>> getGrants(ExternalUrlCriteria externalUrlCriteria) throws NoURLFound, HugeResultSet {
|
||||||
List<UrlConfiguration> urlConfigs = configLoader.getExternalUrls().getGrants().getUrls();
|
List<UrlConfiguration> urlConfigs = configLoader.getExternalUrls().getGrants().getUrls();
|
||||||
FetchStrategy fetchStrategy = configLoader.getExternalUrls().getGrants().getFetchMode();
|
FetchStrategy fetchStrategy = configLoader.getExternalUrls().getGrants().getFetchMode();
|
||||||
return getAll(urlConfigs, fetchStrategy, externalUrlCriteria);
|
return getAll(urlConfigs, fetchStrategy, externalUrlCriteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Cacheable("projects")
|
@Cacheable("projects")
|
||||||
public List<Map<String, String>> getProjects(ExternalUrlCriteria externalUrlCriteria) throws NoURLFound, HugeResultSet {
|
public List<Map<String, Object>> getProjects(ExternalUrlCriteria externalUrlCriteria) throws NoURLFound, HugeResultSet {
|
||||||
List<UrlConfiguration> urlConfigs = configLoader.getExternalUrls().getProjects().getUrls();
|
List<UrlConfiguration> urlConfigs = configLoader.getExternalUrls().getProjects().getUrls();
|
||||||
FetchStrategy fetchStrategy = configLoader.getExternalUrls().getProjects().getFetchMode();
|
FetchStrategy fetchStrategy = configLoader.getExternalUrls().getProjects().getFetchMode();
|
||||||
return getAll(urlConfigs, fetchStrategy, externalUrlCriteria);
|
return getAll(urlConfigs, fetchStrategy, externalUrlCriteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Cacheable("funders")
|
@Cacheable("funders")
|
||||||
public List<Map<String, String>> getFunders(ExternalUrlCriteria externalUrlCriteria) throws NoURLFound, HugeResultSet {
|
public List<Map<String, Object>> getFunders(ExternalUrlCriteria externalUrlCriteria) throws NoURLFound, HugeResultSet {
|
||||||
List<UrlConfiguration> urlConfigs = configLoader.getExternalUrls().getFunders().getUrls();
|
List<UrlConfiguration> urlConfigs = configLoader.getExternalUrls().getFunders().getUrls();
|
||||||
FetchStrategy fetchStrategy = configLoader.getExternalUrls().getFunders().getFetchMode();
|
FetchStrategy fetchStrategy = configLoader.getExternalUrls().getFunders().getFetchMode();
|
||||||
return getAll(urlConfigs, fetchStrategy, externalUrlCriteria);
|
return getAll(urlConfigs, fetchStrategy, externalUrlCriteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Cacheable("organisations")
|
@Cacheable("organisations")
|
||||||
public List<Map<String, String>> getOrganisations(ExternalUrlCriteria externalUrlCriteria, String key) throws NoURLFound, HugeResultSet {
|
public List<Map<String, Object>> getOrganisations(ExternalUrlCriteria externalUrlCriteria, String key) throws NoURLFound, HugeResultSet {
|
||||||
List<UrlConfiguration> urlConfigs =
|
List<UrlConfiguration> urlConfigs =
|
||||||
key != null && !key.isEmpty() ? configLoader.getExternalUrls().getOrganisations().getUrls().stream().filter(item -> item.getKey().equals(key)).collect(Collectors.toList())
|
key != null && !key.isEmpty() ? configLoader.getExternalUrls().getOrganisations().getUrls().stream().filter(item -> item.getKey().equals(key)).collect(Collectors.toList())
|
||||||
: configLoader.getExternalUrls().getOrganisations().getUrls();
|
: configLoader.getExternalUrls().getOrganisations().getUrls();
|
||||||
|
@ -82,7 +82,7 @@ public class RemoteFetcher {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Cacheable("registries")
|
@Cacheable("registries")
|
||||||
public List<Map<String, String>> getRegistries(ExternalUrlCriteria externalUrlCriteria, String key) throws NoURLFound, HugeResultSet {
|
public List<Map<String, Object>> getRegistries(ExternalUrlCriteria externalUrlCriteria, String key) throws NoURLFound, HugeResultSet {
|
||||||
List<UrlConfiguration> urlConfigs =
|
List<UrlConfiguration> urlConfigs =
|
||||||
key != null && !key.isEmpty() ? configLoader.getExternalUrls().getRegistries().getUrls().stream().filter(item -> item.getKey().equals(key)).collect(Collectors.toList())
|
key != null && !key.isEmpty() ? configLoader.getExternalUrls().getRegistries().getUrls().stream().filter(item -> item.getKey().equals(key)).collect(Collectors.toList())
|
||||||
: configLoader.getExternalUrls().getRegistries().getUrls();
|
: configLoader.getExternalUrls().getRegistries().getUrls();
|
||||||
|
@ -91,7 +91,7 @@ public class RemoteFetcher {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Cacheable("services")
|
@Cacheable("services")
|
||||||
public List<Map<String, String>> getServices(ExternalUrlCriteria externalUrlCriteria, String key) throws NoURLFound, HugeResultSet {
|
public List<Map<String, Object>> getServices(ExternalUrlCriteria externalUrlCriteria, String key) throws NoURLFound, HugeResultSet {
|
||||||
List<UrlConfiguration> urlConfigs =
|
List<UrlConfiguration> urlConfigs =
|
||||||
key != null && !key.isEmpty() ? configLoader.getExternalUrls().getServices().getUrls().stream().filter(item -> item.getKey().equals(key)).collect(Collectors.toList())
|
key != null && !key.isEmpty() ? configLoader.getExternalUrls().getServices().getUrls().stream().filter(item -> item.getKey().equals(key)).collect(Collectors.toList())
|
||||||
: configLoader.getExternalUrls().getServices().getUrls();
|
: configLoader.getExternalUrls().getServices().getUrls();
|
||||||
|
@ -100,7 +100,7 @@ public class RemoteFetcher {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Cacheable("researchers")
|
@Cacheable("researchers")
|
||||||
public List<Map<String, String>> getResearchers(ExternalUrlCriteria externalUrlCriteria, String key) throws NoURLFound, HugeResultSet {
|
public List<Map<String, Object>> getResearchers(ExternalUrlCriteria externalUrlCriteria, String key) throws NoURLFound, HugeResultSet {
|
||||||
List<UrlConfiguration> urlConfigs =
|
List<UrlConfiguration> urlConfigs =
|
||||||
key != null && !key.isEmpty() ? configLoader.getExternalUrls().getResearchers().getUrls().stream().filter(item -> item.getKey().equals(key)).collect(Collectors.toList())
|
key != null && !key.isEmpty() ? configLoader.getExternalUrls().getResearchers().getUrls().stream().filter(item -> item.getKey().equals(key)).collect(Collectors.toList())
|
||||||
: configLoader.getExternalUrls().getResearchers().getUrls();
|
: configLoader.getExternalUrls().getResearchers().getUrls();
|
||||||
|
@ -118,7 +118,7 @@ public class RemoteFetcher {
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
@Cacheable("externalDatasets")
|
@Cacheable("externalDatasets")
|
||||||
public List<Map<String, String>> getDatasets(ExternalUrlCriteria externalUrlCriteria, String key) throws NoURLFound, HugeResultSet {
|
public List<Map<String, Object>> getDatasets(ExternalUrlCriteria externalUrlCriteria, String key) throws NoURLFound, HugeResultSet {
|
||||||
List<UrlConfiguration> urlConfigs =
|
List<UrlConfiguration> urlConfigs =
|
||||||
key != null && !key.isEmpty() ? configLoader.getExternalUrls().getDatasets().getUrls().stream().filter(item -> item.getKey().equals(key)).collect(Collectors.toList())
|
key != null && !key.isEmpty() ? configLoader.getExternalUrls().getDatasets().getUrls().stream().filter(item -> item.getKey().equals(key)).collect(Collectors.toList())
|
||||||
: configLoader.getExternalUrls().getDatasets().getUrls();
|
: configLoader.getExternalUrls().getDatasets().getUrls();
|
||||||
|
@ -127,7 +127,7 @@ public class RemoteFetcher {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Cacheable("licenses")
|
@Cacheable("licenses")
|
||||||
public List<Map<String, String>> getlicenses(ExternalUrlCriteria externalUrlCriteria, String key) throws NoURLFound, HugeResultSet {
|
public List<Map<String, Object>> getlicenses(ExternalUrlCriteria externalUrlCriteria, String key) throws NoURLFound, HugeResultSet {
|
||||||
List<UrlConfiguration> urlConfigs =
|
List<UrlConfiguration> urlConfigs =
|
||||||
key != null && !key.isEmpty() ? configLoader.getExternalUrls().getLicenses().getUrls().stream().filter(item -> item.getKey().equals(key)).collect(Collectors.toList())
|
key != null && !key.isEmpty() ? configLoader.getExternalUrls().getLicenses().getUrls().stream().filter(item -> item.getKey().equals(key)).collect(Collectors.toList())
|
||||||
: configLoader.getExternalUrls().getLicenses().getUrls();
|
: configLoader.getExternalUrls().getLicenses().getUrls();
|
||||||
|
@ -136,9 +136,9 @@ public class RemoteFetcher {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private List<Map<String, String>> getAll(List<UrlConfiguration> urlConfigs, FetchStrategy fetchStrategy, ExternalUrlCriteria externalUrlCriteria) throws NoURLFound, HugeResultSet {
|
private List<Map<String, Object>> getAll(List<UrlConfiguration> urlConfigs, FetchStrategy fetchStrategy, ExternalUrlCriteria externalUrlCriteria) throws NoURLFound, HugeResultSet {
|
||||||
|
|
||||||
List<Map<String, String>> results = new LinkedList<>();
|
List<Map<String, Object>> results = new LinkedList<>();
|
||||||
|
|
||||||
if (urlConfigs == null || urlConfigs.isEmpty()) return results;
|
if (urlConfigs == null || urlConfigs.isEmpty()) return results;
|
||||||
// throw new NoURLFound("No Repository urls found in configuration");
|
// throw new NoURLFound("No Repository urls found in configuration");
|
||||||
|
@ -217,7 +217,7 @@ public class RemoteFetcher {
|
||||||
return completedPath;
|
return completedPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<Map<String, String>> getAllResultsFromUrl(String path, FetchStrategy fetchStrategy, final DataUrlConfiguration jsonDataPath, final String jsonPaginationPath, ExternalUrlCriteria externalUrlCriteria, String tag, String key, String contentType, String firstPage) throws HugeResultSet {
|
private List<Map<String, Object>> getAllResultsFromUrl(String path, FetchStrategy fetchStrategy, final DataUrlConfiguration jsonDataPath, final String jsonPaginationPath, ExternalUrlCriteria externalUrlCriteria, String tag, String key, String contentType, String firstPage) throws HugeResultSet {
|
||||||
Set<Integer> pages = new HashSet<>();
|
Set<Integer> pages = new HashSet<>();
|
||||||
|
|
||||||
String replacedPath = replaceCriteriaOnUrl(path, externalUrlCriteria, firstPage);
|
String replacedPath = replaceCriteriaOnUrl(path, externalUrlCriteria, firstPage);
|
||||||
|
@ -277,13 +277,27 @@ public class RemoteFetcher {
|
||||||
+ "[" + jsonDataPath.getFieldsUrlConfiguration().getName()
|
+ "[" + jsonDataPath.getFieldsUrlConfiguration().getName()
|
||||||
+ "," + jsonDataPath.getFieldsUrlConfiguration().getId() + "]"),
|
+ "," + jsonDataPath.getFieldsUrlConfiguration().getId() + "]"),
|
||||||
new HashMap<>(1, 1));
|
new HashMap<>(1, 1));
|
||||||
List<Map<String, String>> fixedResults = results.getResults().stream().map(item -> {
|
List<Map<String, Object>> fixedResults = results.getResults().stream().map(item -> {
|
||||||
String id = jsonDataPath.getFieldsUrlConfiguration().getId().replace("'", "");
|
String id = jsonDataPath.getFieldsUrlConfiguration().getId().replace("'", "");
|
||||||
|
String name = jsonDataPath.getFieldsUrlConfiguration().getName().replace("'", "");
|
||||||
if (! (item.get(id) instanceof String)) {
|
if (! (item.get(id) instanceof String)) {
|
||||||
|
if (item.get(id) instanceof LinkedHashMap) {
|
||||||
|
item.put(id, ((Map)item.get(id)).get("content"));
|
||||||
|
} else {
|
||||||
Object obj = item.get(id);
|
Object obj = item.get(id);
|
||||||
JSONArray jarr = (JSONArray) obj;
|
JSONArray jarr = (JSONArray) obj;
|
||||||
item.put(id, jarr.get(0).toString());
|
item.put(id, jarr.get(0).toString());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if (! (item.get(name) instanceof String)) {
|
||||||
|
if (item.get(name) instanceof LinkedHashMap) {
|
||||||
|
item.put(name, ((Map)item.get(name)).get("content"));
|
||||||
|
} else {
|
||||||
|
Object obj = item.get(name);
|
||||||
|
JSONArray jarr = (JSONArray) obj;
|
||||||
|
item.put(name, ((Map)jarr.get(1)).get("content"));
|
||||||
|
}
|
||||||
|
}
|
||||||
return item;
|
return item;
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
|
|
||||||
|
@ -294,10 +308,10 @@ public class RemoteFetcher {
|
||||||
+ "," + jsonDataPath.getFieldsUrlConfiguration().getHost() + "]"),
|
+ "," + jsonDataPath.getFieldsUrlConfiguration().getHost() + "]"),
|
||||||
new HashMap<>(1, 1));
|
new HashMap<>(1, 1));
|
||||||
|
|
||||||
List<Map<String, String>> multiResults = results.results.stream().map(result -> {
|
List<Map<String, Object>> multiResults = results.results.stream().map(result -> {
|
||||||
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria();
|
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria();
|
||||||
externalUrlCriteria.setPath(result.get("path"));
|
externalUrlCriteria.setPath((String) result.get("path"));
|
||||||
externalUrlCriteria.setHost(result.get("host"));
|
externalUrlCriteria.setHost((String) result.get("host"));
|
||||||
String replacedPath = replaceCriteriaOnUrl(jsonDataPath.getUrlConfiguration().getUrl(), externalUrlCriteria, jsonDataPath.getUrlConfiguration().getFirstpage());
|
String replacedPath = replaceCriteriaOnUrl(jsonDataPath.getUrlConfiguration().getUrl(), externalUrlCriteria, jsonDataPath.getUrlConfiguration().getFirstpage());
|
||||||
return getResultsFromUrl(replacedPath, jsonDataPath.getUrlConfiguration().getData(), jsonDataPath.getUrlConfiguration().getData().getPath(), jsonDataPath.getUrlConfiguration().getContentType());
|
return getResultsFromUrl(replacedPath, jsonDataPath.getUrlConfiguration().getData(), jsonDataPath.getUrlConfiguration().getData().getPath(), jsonDataPath.getUrlConfiguration().getContentType());
|
||||||
}).filter(Objects::nonNull).map(results1 -> results1.results.get(0)).collect(Collectors.toList());
|
}).filter(Objects::nonNull).map(results1 -> results1.results.get(0)).collect(Collectors.toList());
|
||||||
|
@ -306,9 +320,9 @@ public class RemoteFetcher {
|
||||||
List<Map<String, Object>> tempRes = jsonContext.read(jsonDataPath.getPath()
|
List<Map<String, Object>> tempRes = jsonContext.read(jsonDataPath.getPath()
|
||||||
+ "[" + jsonDataPath.getFieldsUrlConfiguration().getId() + "," + jsonDataPath.getFieldsUrlConfiguration().getName()
|
+ "[" + jsonDataPath.getFieldsUrlConfiguration().getId() + "," + jsonDataPath.getFieldsUrlConfiguration().getName()
|
||||||
+ "," + jsonDataPath.getFieldsUrlConfiguration().getTypes() + "," + jsonDataPath.getFieldsUrlConfiguration().getUri() + "]");
|
+ "," + jsonDataPath.getFieldsUrlConfiguration().getTypes() + "," + jsonDataPath.getFieldsUrlConfiguration().getUri() + "]");
|
||||||
List<Map<String, String>> finalRes = new ArrayList<>();
|
List<Map<String, Object>> finalRes = new ArrayList<>();
|
||||||
tempRes.forEach(map -> {
|
tempRes.forEach(map -> {
|
||||||
Map<String, String> resMap = new HashMap<>();
|
Map<String, Object> resMap = new HashMap<>();
|
||||||
map.forEach((key, value) -> {
|
map.forEach((key, value) -> {
|
||||||
if (key.equals(jsonDataPath.getFieldsUrlConfiguration().getTypes().substring(1, jsonDataPath.getFieldsUrlConfiguration().getTypes().length() - 1))) {
|
if (key.equals(jsonDataPath.getFieldsUrlConfiguration().getTypes().substring(1, jsonDataPath.getFieldsUrlConfiguration().getTypes().length() - 1))) {
|
||||||
resMap.put("tags", ((JSONArray) value).toJSONString());
|
resMap.put("tags", ((JSONArray) value).toJSONString());
|
||||||
|
@ -343,7 +357,7 @@ public class RemoteFetcher {
|
||||||
reader = new PropertyDescriptor(jsonDataPath.getParseField(), aClass).getReadMethod();
|
reader = new PropertyDescriptor(jsonDataPath.getParseField(), aClass).getReadMethod();
|
||||||
}
|
}
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
List<Map<String, String>> values = new ArrayList<>();
|
List<Map<String, Object>> values = new ArrayList<>();
|
||||||
int max = 1;
|
int max = 1;
|
||||||
if (reader != null) {
|
if (reader != null) {
|
||||||
Object invokedField = reader.invoke(data);
|
Object invokedField = reader.invoke(data);
|
||||||
|
@ -363,10 +377,10 @@ public class RemoteFetcher {
|
||||||
} else {
|
} else {
|
||||||
value = data;
|
value = data;
|
||||||
}
|
}
|
||||||
Map<String, String> map = objectMapper.convertValue(value, Map.class);
|
Map<String, Object> map = objectMapper.convertValue(value, Map.class);
|
||||||
if (jsonDataPath.getMergedFields() != null && !jsonDataPath.getMergedFields().isEmpty() && jsonDataPath.getMergedFieldName() != null && !jsonDataPath.getMergedFieldName().isEmpty()) {
|
if (jsonDataPath.getMergedFields() != null && !jsonDataPath.getMergedFields().isEmpty() && jsonDataPath.getMergedFieldName() != null && !jsonDataPath.getMergedFieldName().isEmpty()) {
|
||||||
Map<String, String> finalMap = new HashMap<>();
|
Map<String, Object> finalMap = new HashMap<>();
|
||||||
for (Map.Entry<String, String> entry : map.entrySet()) {
|
for (Map.Entry<String, Object> entry : map.entrySet()) {
|
||||||
if (jsonDataPath.getMergedFields().contains(entry.getKey())) {
|
if (jsonDataPath.getMergedFields().contains(entry.getKey())) {
|
||||||
if (!finalMap.containsKey(jsonDataPath.getMergedFieldName())) {
|
if (!finalMap.containsKey(jsonDataPath.getMergedFieldName())) {
|
||||||
finalMap.put(jsonDataPath.getMergedFieldName(), entry.getValue());
|
finalMap.put(jsonDataPath.getMergedFieldName(), entry.getValue());
|
||||||
|
@ -402,8 +416,8 @@ public class RemoteFetcher {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<Map<String, String>> getAllResultsFromMockUpJson(String path, String query) {
|
private List<Map<String, Object>> getAllResultsFromMockUpJson(String path, String query) {
|
||||||
List<Map<String, String>> internalResults;
|
List<Map<String, Object>> internalResults;
|
||||||
try {
|
try {
|
||||||
String filePath = Paths.get(path).toUri().toURL().toString();
|
String filePath = Paths.get(path).toUri().toURL().toString();
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
|
@ -415,14 +429,14 @@ public class RemoteFetcher {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<Map<String, String>> searchListMap(List<Map<String, String>> internalResults, String query) {
|
private List<Map<String, Object>> searchListMap(List<Map<String, Object>> internalResults, String query) {
|
||||||
List<Map<String, String>> list = new LinkedList<>();
|
List<Map<String, Object>> list = new LinkedList<>();
|
||||||
for (Map<String, String> map : internalResults)
|
for (Map<String, Object> map : internalResults)
|
||||||
{
|
{
|
||||||
if (map.get("name") != null && map.get("name").toUpperCase().contains(query.toUpperCase())) {
|
if (map.get("name") != null && ((String)map.get("name")).toUpperCase().contains(query.toUpperCase())) {
|
||||||
list.add(map);
|
list.add(map);
|
||||||
}
|
}
|
||||||
if (map.get("label") != null && map.get("label").toUpperCase().contains(query.toUpperCase())) {
|
if (map.get("label") != null && ((String)map.get("label")).toUpperCase().contains(query.toUpperCase())) {
|
||||||
list.add(map);
|
list.add(map);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -443,7 +457,7 @@ public class RemoteFetcher {
|
||||||
|
|
||||||
|
|
||||||
static class Results {
|
static class Results {
|
||||||
List<Map<String, String>> results;
|
List<Map<String, Object>> results;
|
||||||
Map<String, Integer> pagination;
|
Map<String, Integer> pagination;
|
||||||
|
|
||||||
Results() {
|
Results() {
|
||||||
|
@ -451,16 +465,16 @@ public class RemoteFetcher {
|
||||||
this.pagination = new HashMap<>();
|
this.pagination = new HashMap<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
Results(List<Map<String, String>> results, Map<String, Integer> pagination) {
|
Results(List<Map<String, Object>> results, Map<String, Integer> pagination) {
|
||||||
this.results = results;
|
this.results = results;
|
||||||
this.pagination = pagination;
|
this.pagination = pagination;
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Map<String, String>> getResults() {
|
List<Map<String, Object>> getResults() {
|
||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setResults(List<Map<String, String>> results) {
|
public void setResults(List<Map<String, Object>> results) {
|
||||||
this.results = results;
|
this.results = results;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,13 +6,13 @@ import java.util.Map;
|
||||||
|
|
||||||
public class ExternalDatasetSourcesModel extends ExternalListingItem<ExternalDatasetSourcesModel> {
|
public class ExternalDatasetSourcesModel extends ExternalListingItem<ExternalDatasetSourcesModel> {
|
||||||
@Override
|
@Override
|
||||||
public ExternalDatasetSourcesModel fromExternalItem(List<Map<String, String>> values) {
|
public ExternalDatasetSourcesModel fromExternalItem(List<Map<String, Object>> values) {
|
||||||
for (Map<String, String> item : values) {
|
for (Map<String, Object> item : values) {
|
||||||
ExternalSourcesItemModel model = new ExternalSourcesItemModel();
|
ExternalSourcesItemModel model = new ExternalSourcesItemModel();
|
||||||
model.setId(item.get("pid"));
|
model.setId((String)item.get("pid"));
|
||||||
model.setUri(item.get("uri"));
|
model.setUri((String)item.get("uri"));
|
||||||
model.setName(item.get("name"));
|
model.setName((String)item.get("name"));
|
||||||
model.setSource(item.get("source"));
|
model.setSource((String)item.get("source"));
|
||||||
this.add(model);
|
this.add(model);
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
|
|
|
@ -5,5 +5,5 @@ import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
public interface ExternalItem<T> {
|
public interface ExternalItem<T> {
|
||||||
T fromExternalItem(List<Map<String, String>> values);
|
T fromExternalItem(List<Map<String, Object>> values);
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,16 +6,16 @@ import java.util.Map;
|
||||||
public class FundersExternalSourcesModel extends ExternalListingItem<FundersExternalSourcesModel> {
|
public class FundersExternalSourcesModel extends ExternalListingItem<FundersExternalSourcesModel> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FundersExternalSourcesModel fromExternalItem(List<Map<String, String>> values) {
|
public FundersExternalSourcesModel fromExternalItem(List<Map<String, Object>> values) {
|
||||||
for (Map<String, String> item : values) {
|
for (Map<String, Object> item : values) {
|
||||||
ExternalSourcesItemModel model = new ExternalSourcesItemModel();
|
ExternalSourcesItemModel model = new ExternalSourcesItemModel();
|
||||||
model.setRemoteId(item.get("pid"));
|
model.setRemoteId((String)item.get("pid"));
|
||||||
model.setUri(item.get("uri"));
|
model.setUri((String)item.get("uri"));
|
||||||
model.setName(item.get("name"));
|
model.setName((String)item.get("name"));
|
||||||
model.setDescription(item.get("description"));
|
model.setDescription((String)item.get("description"));
|
||||||
model.setSource(item.get("source"));
|
model.setSource((String)item.get("source"));
|
||||||
model.setTag(item.get("tag"));
|
model.setTag((String)item.get("tag"));
|
||||||
model.setKey(item.get("key"));
|
model.setKey((String)item.get("key"));
|
||||||
this.add(model);
|
this.add(model);
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
|
|
|
@ -6,15 +6,15 @@ import java.util.Map;
|
||||||
|
|
||||||
public class GrantsExternalSourcesModel extends ExternalListingItem<GrantsExternalSourcesModel> {
|
public class GrantsExternalSourcesModel extends ExternalListingItem<GrantsExternalSourcesModel> {
|
||||||
@Override
|
@Override
|
||||||
public GrantsExternalSourcesModel fromExternalItem(List<Map<String, String>> values) {
|
public GrantsExternalSourcesModel fromExternalItem(List<Map<String, Object>> values) {
|
||||||
for (Map<String, String> item : values) {
|
for (Map<String, Object> item : values) {
|
||||||
ExternalSourcesItemModel model = new ExternalSourcesItemModel();
|
ExternalSourcesItemModel model = new ExternalSourcesItemModel();
|
||||||
model.setRemoteId(item.get("pid"));
|
model.setRemoteId((String)item.get("pid"));
|
||||||
model.setUri(item.get("uri"));
|
model.setUri((String)item.get("uri"));
|
||||||
model.setName(item.get("name"));
|
model.setName((String)item.get("name"));
|
||||||
model.setDescription(item.get("description"));
|
model.setDescription((String)item.get("description"));
|
||||||
model.setTag(item.get("tag"));
|
model.setTag((String)item.get("tag"));
|
||||||
model.setKey(item.get("key"));
|
model.setKey((String)item.get("key"));
|
||||||
this.add(model);
|
this.add(model);
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
|
|
|
@ -6,12 +6,12 @@ import java.util.Map;
|
||||||
|
|
||||||
public class LicensesExternalSourcesModel extends ExternalListingItem<LicensesExternalSourcesModel> {
|
public class LicensesExternalSourcesModel extends ExternalListingItem<LicensesExternalSourcesModel> {
|
||||||
@Override
|
@Override
|
||||||
public LicensesExternalSourcesModel fromExternalItem(List<Map<String, String>> values) {
|
public LicensesExternalSourcesModel fromExternalItem(List<Map<String, Object>> values) {
|
||||||
for (Map<String, String> item : values) {
|
for (Map<String, Object> item : values) {
|
||||||
ExternalSourcesItemModel model = new ExternalSourcesItemModel();
|
ExternalSourcesItemModel model = new ExternalSourcesItemModel();
|
||||||
model.setId(item.get("id"));
|
model.setId((String)item.get("id"));
|
||||||
model.setUri(item.get("uri"));
|
model.setUri((String)item.get("uri"));
|
||||||
model.setName(item.get("name"));
|
model.setName((String)item.get("name"));
|
||||||
this.add(model);
|
this.add(model);
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
|
|
|
@ -8,14 +8,14 @@ import java.util.Map;
|
||||||
@Component
|
@Component
|
||||||
public class OrganisationsExternalSourcesModel extends ExternalListingItem<OrganisationsExternalSourcesModel> {
|
public class OrganisationsExternalSourcesModel extends ExternalListingItem<OrganisationsExternalSourcesModel> {
|
||||||
@Override
|
@Override
|
||||||
public OrganisationsExternalSourcesModel fromExternalItem(List<Map<String, String>> values) {
|
public OrganisationsExternalSourcesModel fromExternalItem(List<Map<String, Object>> values) {
|
||||||
for (Map<String, String> item : values) {
|
for (Map<String, Object> item : values) {
|
||||||
ExternalSourcesItemModel model = new ExternalSourcesItemModel();
|
ExternalSourcesItemModel model = new ExternalSourcesItemModel();
|
||||||
model.setRemoteId(item.get("pid"));
|
model.setRemoteId((String)item.get("pid"));
|
||||||
model.setUri(item.get("uri"));
|
model.setUri((String)item.get("uri"));
|
||||||
model.setName(item.get("name"));
|
model.setName((String)item.get("name"));
|
||||||
model.setTag(item.get("tag"));
|
model.setTag((String)item.get("tag"));
|
||||||
model.setKey(item.get("key"));
|
model.setKey((String)item.get("key"));
|
||||||
this.add(model);
|
this.add(model);
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
|
|
|
@ -14,8 +14,8 @@ public class ProjectsExternalSourcesModel extends ExternalListingItem<ProjectsEx
|
||||||
private static final ObjectMapper mapper = new ObjectMapper();
|
private static final ObjectMapper mapper = new ObjectMapper();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ProjectsExternalSourcesModel fromExternalItem(List<Map<String, String>> values) {
|
public ProjectsExternalSourcesModel fromExternalItem(List<Map<String, Object>> values) {
|
||||||
for (Map<String, String> item : values) {
|
for (Map<String, Object> item : values) {
|
||||||
ExternalSourcesItemModel model = new ExternalSourcesItemModel();
|
ExternalSourcesItemModel model = new ExternalSourcesItemModel();
|
||||||
try {
|
try {
|
||||||
JsonNode node = mapper.readTree(mapper.writeValueAsBytes(item));
|
JsonNode node = mapper.readTree(mapper.writeValueAsBytes(item));
|
||||||
|
@ -23,42 +23,42 @@ public class ProjectsExternalSourcesModel extends ExternalListingItem<ProjectsEx
|
||||||
if (name != null && !name.isNull() && name.isObject()) {
|
if (name != null && !name.isNull() && name.isObject()) {
|
||||||
model.setName(node.get("name").get("$").asText());
|
model.setName(node.get("name").get("$").asText());
|
||||||
} else {
|
} else {
|
||||||
model.setName(item.get("name"));
|
model.setName((String)item.get("name"));
|
||||||
}
|
}
|
||||||
|
|
||||||
JsonNode pid = node.get("pid");
|
JsonNode pid = node.get("pid");
|
||||||
if (pid != null && !pid.isNull() && pid.isObject()) {
|
if (pid != null && !pid.isNull() && pid.isObject()) {
|
||||||
model.setRemoteId(node.get("pid").get("$").asText());
|
model.setRemoteId(node.get("pid").get("$").asText());
|
||||||
} else {
|
} else {
|
||||||
model.setRemoteId(item.get("pid"));
|
model.setRemoteId((String)item.get("pid"));
|
||||||
}
|
}
|
||||||
|
|
||||||
JsonNode uri = node.get("uri");
|
JsonNode uri = node.get("uri");
|
||||||
if (uri != null && !uri.isNull() && uri.isObject()) {
|
if (uri != null && !uri.isNull() && uri.isObject()) {
|
||||||
model.setUri(node.get("uri").get("$").asText());
|
model.setUri(node.get("uri").get("$").asText());
|
||||||
} else {
|
} else {
|
||||||
model.setUri(item.get("uri"));
|
model.setUri((String)item.get("uri"));
|
||||||
}
|
}
|
||||||
|
|
||||||
JsonNode description = node.get("description");
|
JsonNode description = node.get("description");
|
||||||
if (description != null && !description.isNull() && description.isObject()) {
|
if (description != null && !description.isNull() && description.isObject()) {
|
||||||
model.setDescription(node.get("description").get("$").asText());
|
model.setDescription(node.get("description").get("$").asText());
|
||||||
} else {
|
} else {
|
||||||
model.setDescription(item.get("description"));
|
model.setDescription((String)item.get("description"));
|
||||||
}
|
}
|
||||||
|
|
||||||
JsonNode tag = node.get("tag");
|
JsonNode tag = node.get("tag");
|
||||||
if (tag != null && !tag.isNull() && tag.isObject()) {
|
if (tag != null && !tag.isNull() && tag.isObject()) {
|
||||||
model.setTag(node.get("tag").get("$").asText());
|
model.setTag(node.get("tag").get("$").asText());
|
||||||
} else {
|
} else {
|
||||||
model.setTag(item.get("tag"));
|
model.setTag((String)item.get("tag"));
|
||||||
}
|
}
|
||||||
|
|
||||||
JsonNode key = node.get("key");
|
JsonNode key = node.get("key");
|
||||||
if (key != null && !key.isNull() && key.isObject()) {
|
if (key != null && !key.isNull() && key.isObject()) {
|
||||||
model.setKey(node.get("key").get("$").asText());
|
model.setKey(node.get("key").get("$").asText());
|
||||||
} else {
|
} else {
|
||||||
model.setKey(item.get("key"));
|
model.setKey((String)item.get("key"));
|
||||||
}
|
}
|
||||||
|
|
||||||
this.add(model);
|
this.add(model);
|
||||||
|
|
|
@ -6,13 +6,13 @@ import java.util.Map;
|
||||||
|
|
||||||
public class RegistriesExternalSourcesModel extends ExternalListingItem<RegistriesExternalSourcesModel> {
|
public class RegistriesExternalSourcesModel extends ExternalListingItem<RegistriesExternalSourcesModel> {
|
||||||
@Override
|
@Override
|
||||||
public RegistriesExternalSourcesModel fromExternalItem(List<Map<String, String>> values) {
|
public RegistriesExternalSourcesModel fromExternalItem(List<Map<String, Object>> values) {
|
||||||
for (Map<String, String> item : values) {
|
for (Map<String, Object> item : values) {
|
||||||
ExternalSourcesItemModel model = new ExternalSourcesItemModel();
|
ExternalSourcesItemModel model = new ExternalSourcesItemModel();
|
||||||
model.setId(item.get("pid"));
|
model.setId((String)item.get("pid"));
|
||||||
model.setUri(item.get("uri"));
|
model.setUri((String)item.get("uri"));
|
||||||
model.setName(item.get("name"));
|
model.setName((String)item.get("name"));
|
||||||
model.setTag(item.get("tag"));
|
model.setTag((String)item.get("tag"));
|
||||||
this.add(model);
|
this.add(model);
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
|
|
|
@ -6,14 +6,14 @@ import java.util.Map;
|
||||||
|
|
||||||
public class ResearchersExternalSourcesModel extends ExternalListingItem<ResearchersExternalSourcesModel> {
|
public class ResearchersExternalSourcesModel extends ExternalListingItem<ResearchersExternalSourcesModel> {
|
||||||
@Override
|
@Override
|
||||||
public ResearchersExternalSourcesModel fromExternalItem(List<Map<String, String>> values) {
|
public ResearchersExternalSourcesModel fromExternalItem(List<Map<String, Object>> values) {
|
||||||
for (Map<String, String> item : values) {
|
for (Map<String, Object> item : values) {
|
||||||
ExternalSourcesItemModel model = new ExternalSourcesItemModel();
|
ExternalSourcesItemModel model = new ExternalSourcesItemModel();
|
||||||
model.setRemoteId(item.get("pid"));
|
model.setRemoteId((String)item.get("pid"));
|
||||||
model.setUri(item.get("uri"));
|
model.setUri((String)item.get("uri"));
|
||||||
model.setName(item.get("name"));
|
model.setName((String)item.get("name"));
|
||||||
model.setTag(item.get("tag"));
|
model.setTag((String)item.get("tag"));
|
||||||
model.setKey(item.get("key"));
|
model.setKey((String)item.get("key"));
|
||||||
this.add(model);
|
this.add(model);
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
|
|
|
@ -6,13 +6,13 @@ import java.util.Map;
|
||||||
|
|
||||||
public class ServiceExternalSourcesModel extends ExternalListingItem<ServiceExternalSourcesModel> {
|
public class ServiceExternalSourcesModel extends ExternalListingItem<ServiceExternalSourcesModel> {
|
||||||
@Override
|
@Override
|
||||||
public ServiceExternalSourcesModel fromExternalItem(List<Map<String, String>> values) {
|
public ServiceExternalSourcesModel fromExternalItem(List<Map<String, Object>> values) {
|
||||||
for (Map<String, String> item : values) {
|
for (Map<String, Object> item : values) {
|
||||||
ExternalSourcesItemModel model = new ExternalSourcesItemModel();
|
ExternalSourcesItemModel model = new ExternalSourcesItemModel();
|
||||||
model.setId(item.get("pid"));
|
model.setId((String)item.get("pid"));
|
||||||
model.setUri(item.get("label"));
|
model.setUri((String)item.get("label"));
|
||||||
model.setName(item.get("name"));
|
model.setName((String)item.get("name"));
|
||||||
model.setTag(item.get("tag"));
|
model.setTag((String)item.get("tag"));
|
||||||
this.add(model);
|
this.add(model);
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
|
|
|
@ -9,13 +9,13 @@ import java.util.Map;
|
||||||
public class TagExternalSourcesModel extends ExternalListingItem<TagExternalSourcesModel> {
|
public class TagExternalSourcesModel extends ExternalListingItem<TagExternalSourcesModel> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TagExternalSourcesModel fromExternalItem(List<Map<String, String>> values) {
|
public TagExternalSourcesModel fromExternalItem(List<Map<String, Object>> values) {
|
||||||
for (Map<String, String> item : values) {
|
for (Map<String, Object> item : values) {
|
||||||
ExternalSourcesItemModel model = new ExternalSourcesItemModel();
|
ExternalSourcesItemModel model = new ExternalSourcesItemModel();
|
||||||
model.setId(item.get("pid"));
|
model.setId((String)item.get("pid"));
|
||||||
model.setUri(item.get("label"));
|
model.setUri((String)item.get("label"));
|
||||||
model.setName(item.get("name"));
|
model.setName((String)item.get("name"));
|
||||||
model.setTag(item.get("tag"));
|
model.setTag((String)item.get("tag"));
|
||||||
this.add(model);
|
this.add(model);
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
|
|
|
@ -897,6 +897,24 @@
|
||||||
</data>
|
</data>
|
||||||
<paginationpath>$['meta']['pagination']['page','pages','count']</paginationpath>
|
<paginationpath>$['meta']['pagination']['page','pages','count']</paginationpath>
|
||||||
</urlConfig>
|
</urlConfig>
|
||||||
|
<urlConfig>
|
||||||
|
<key>openaire</key>
|
||||||
|
<label>OpenAire</label>
|
||||||
|
<ordinal>2</ordinal>
|
||||||
|
<type>External</type>
|
||||||
|
<url>https://services.openaire.eu/search/v2/api/datasets/?q={like}&page={page}&size={pageSize}&format=json</url>
|
||||||
|
<firstPage>0</firstPage>
|
||||||
|
<contenttype>application/json; charset=utf-8</contenttype>
|
||||||
|
<data>
|
||||||
|
<path>$['results'][*]['result']['metadata']['oaf:entity']['oaf:result']</path>
|
||||||
|
<fields>
|
||||||
|
<id>'pid'</id>
|
||||||
|
<name>'title'</name>
|
||||||
|
<count>'count'</count>
|
||||||
|
</fields>
|
||||||
|
</data>
|
||||||
|
<paginationpath>$['meta']['page','size','total']</paginationpath>
|
||||||
|
</urlConfig>
|
||||||
<!-- <urlConfig>
|
<!-- <urlConfig>
|
||||||
<key>openAire</key>
|
<key>openAire</key>
|
||||||
<label>OpenAIRE</label>
|
<label>OpenAIRE</label>
|
||||||
|
|
Loading…
Reference in New Issue