add more fields to reference-type.yml
This commit is contained in:
parent
7e391582b5
commit
be9761b103
|
@ -7,6 +7,8 @@ import eu.eudat.commons.enums.ReferenceType;
|
||||||
import eu.eudat.convention.ConventionService;
|
import eu.eudat.convention.ConventionService;
|
||||||
import eu.eudat.model.Reference;
|
import eu.eudat.model.Reference;
|
||||||
import eu.eudat.model.builder.BaseBuilder;
|
import eu.eudat.model.builder.BaseBuilder;
|
||||||
|
import eu.eudat.model.referencedefinition.Definition;
|
||||||
|
import eu.eudat.model.referencedefinition.Field;
|
||||||
import gr.cite.tools.data.builder.BuilderFactory;
|
import gr.cite.tools.data.builder.BuilderFactory;
|
||||||
import gr.cite.tools.data.query.QueryFactory;
|
import gr.cite.tools.data.query.QueryFactory;
|
||||||
import gr.cite.tools.exception.MyApplicationException;
|
import gr.cite.tools.exception.MyApplicationException;
|
||||||
|
@ -57,17 +59,40 @@ public class ReferenceSearchBuilder extends BaseBuilder<Reference, Map<String, S
|
||||||
Reference m = new Reference();
|
Reference m = new Reference();
|
||||||
if (d.containsKey("id")) m.setId(UUID.fromString(d.getOrDefault("id", null)));
|
if (d.containsKey("id")) m.setId(UUID.fromString(d.getOrDefault("id", null)));
|
||||||
m.setLabel(d.getOrDefault("name", null));
|
m.setLabel(d.getOrDefault("name", null));
|
||||||
m.setDescription(d.getOrDefault("description", null));
|
m.setSourceType(ReferenceSourceType.External);
|
||||||
m.setAbbreviation(d.getOrDefault("abbreviation", null));
|
|
||||||
m.setSource(d.getOrDefault("source", null));
|
|
||||||
m.setReference(d.getOrDefault("reference", null));
|
|
||||||
|
|
||||||
String sourceType = d.getOrDefault("type", null);
|
|
||||||
if (sourceType != null) m.setSourceType(ReferenceSourceType.valueOf(sourceType));
|
|
||||||
String type = d.getOrDefault("referenceType", null);
|
String type = d.getOrDefault("referenceType", null);
|
||||||
if (type != null) m.setType(ReferenceType.valueOf(type));
|
if (type != null) m.setType(ReferenceType.valueOf(type));
|
||||||
|
|
||||||
m.setDefinition(this.builderFactory.builder(DefinitionSearchBuilder.class).authorize(this.authorize).build(null, d));
|
Definition definition = this.builderFactory.builder(DefinitionSearchBuilder.class).authorize(this.authorize).build(null, d);
|
||||||
|
m.setDefinition(definition);
|
||||||
|
|
||||||
|
switch (m.getType()){
|
||||||
|
case Researcher:
|
||||||
|
case Organizations:
|
||||||
|
case Funder:
|
||||||
|
case Grants:
|
||||||
|
case DataRepositories:
|
||||||
|
case PubRepositories:
|
||||||
|
case Journals:
|
||||||
|
case Datasets:
|
||||||
|
case Registries:
|
||||||
|
case Services:{
|
||||||
|
for (Field field : definition.getFields()) {
|
||||||
|
if (field.getCode().equals("pid") && field.getValue() != null) {
|
||||||
|
if (d.containsKey("key")) {
|
||||||
|
m.setReference(d.get("key") + ":" + field.getValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (field.getCode().equals("tag") && field.getValue() != null){
|
||||||
|
m.setSource(field.getValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
m.setDescription(d.getOrDefault("description", null));
|
||||||
|
m.setAbbreviation(d.getOrDefault("abbreviation", null));
|
||||||
|
|
||||||
models.add(m);
|
models.add(m);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
package eu.eudat.query.lookup;
|
package eu.eudat.query.lookup;
|
||||||
|
|
||||||
import eu.eudat.commons.enums.ReferenceType;
|
import eu.eudat.commons.enums.ReferenceType;
|
||||||
|
import eu.eudat.query.ReferenceQuery;
|
||||||
import gr.cite.tools.data.query.Lookup;
|
import gr.cite.tools.data.query.Lookup;
|
||||||
|
import gr.cite.tools.data.query.QueryFactory;
|
||||||
|
|
||||||
public class ReferenceSearchLookup extends Lookup {
|
public class ReferenceSearchLookup extends Lookup {
|
||||||
|
|
||||||
|
@ -34,4 +36,13 @@ public class ReferenceSearchLookup extends Lookup {
|
||||||
public void setKey(String key) {
|
public void setKey(String key) {
|
||||||
this.key = key;
|
this.key = key;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ReferenceQuery enrich(QueryFactory queryFactory) {
|
||||||
|
ReferenceQuery query = queryFactory.query(ReferenceQuery.class);
|
||||||
|
if (this.type != null) query.types(this.type);
|
||||||
|
|
||||||
|
this.enrichCommon(query);
|
||||||
|
|
||||||
|
return query;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,17 +51,21 @@ public class RemoteFetcher {
|
||||||
).clientConnector(new ReactorClientHttpConnector(HttpClient.create().followRedirect(true))).build();
|
).clientConnector(new ReactorClientHttpConnector(HttpClient.create().followRedirect(true))).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Map<String, String>> get(ReferenceType externalType, ExternalUrlCriteria externalUrlCriteria, String key) throws NoURLFound, HugeResultSet {
|
public List<Map<String, String>> get(ReferenceType referenceType, ExternalUrlCriteria externalUrlCriteria, String key) throws NoURLFound, HugeResultSet {
|
||||||
FetchStrategy fetchStrategy = null;
|
FetchStrategy fetchStrategy = null;
|
||||||
GenericUrls exGenericUrls = this.getExternalUrls(externalType);
|
GenericUrls exGenericUrls = this.getExternalUrls(referenceType);
|
||||||
List<UrlConfiguration> urlConfigs = key != null && !key.isEmpty() ? exGenericUrls.getUrls().stream().filter(item -> item.getKey().equals(key)).collect(Collectors.toList())
|
List<UrlConfiguration> urlConfigs = key != null && !key.isEmpty() ? exGenericUrls.getUrls().stream().filter(item -> item.getKey().equals(key)).collect(Collectors.toList())
|
||||||
: exGenericUrls.getUrls();
|
: exGenericUrls.getUrls();
|
||||||
|
|
||||||
return getAll(urlConfigs, fetchStrategy, externalUrlCriteria);
|
List<Map<String, String>> results = getAll(urlConfigs, fetchStrategy, externalUrlCriteria);
|
||||||
|
for (Map<String, String> result: results) {
|
||||||
|
result.put("referenceType", referenceType.name());
|
||||||
|
}
|
||||||
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
public GenericUrls getExternalUrls(ReferenceType externalType) {
|
public GenericUrls getExternalUrls(ReferenceType referenceType) {
|
||||||
switch (externalType){
|
switch (referenceType){
|
||||||
case Taxonomies: return configLoader.getExternalUrls().getTaxonomies();
|
case Taxonomies: return configLoader.getExternalUrls().getTaxonomies();
|
||||||
case Licenses: return configLoader.getExternalUrls().getLicenses();
|
case Licenses: return configLoader.getExternalUrls().getLicenses();
|
||||||
case Publications: return configLoader.getExternalUrls().getPublications();
|
case Publications: return configLoader.getExternalUrls().getPublications();
|
||||||
|
@ -76,7 +80,7 @@ public class RemoteFetcher {
|
||||||
case Funder: return configLoader.getExternalUrls().getFunders();
|
case Funder: return configLoader.getExternalUrls().getFunders();
|
||||||
case Project: return configLoader.getExternalUrls().getProjects();
|
case Project: return configLoader.getExternalUrls().getProjects();
|
||||||
case Researcher: return configLoader.getExternalUrls().getResearchers();
|
case Researcher: return configLoader.getExternalUrls().getResearchers();
|
||||||
default: throw new IllegalArgumentException("Type not found" + externalType);
|
default: throw new IllegalArgumentException("Type not found" + referenceType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,7 @@ import eu.eudat.model.persist.ReferencePersist;
|
||||||
import eu.eudat.model.persist.referencedefinition.DefinitionPersist;
|
import eu.eudat.model.persist.referencedefinition.DefinitionPersist;
|
||||||
import eu.eudat.model.persist.referencedefinition.FieldPersist;
|
import eu.eudat.model.persist.referencedefinition.FieldPersist;
|
||||||
import eu.eudat.models.data.FetcherReference;
|
import eu.eudat.models.data.FetcherReference;
|
||||||
|
import eu.eudat.query.ReferenceQuery;
|
||||||
import eu.eudat.query.lookup.ReferenceSearchLookup;
|
import eu.eudat.query.lookup.ReferenceSearchLookup;
|
||||||
import eu.eudat.queryable.QueryableList;
|
import eu.eudat.queryable.QueryableList;
|
||||||
import gr.cite.commons.web.authz.service.AuthorizationService;
|
import gr.cite.commons.web.authz.service.AuthorizationService;
|
||||||
|
@ -188,71 +189,80 @@ public class ReferenceService {
|
||||||
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria(lookup.getLike());
|
ExternalUrlCriteria externalUrlCriteria = new ExternalUrlCriteria(lookup.getLike());
|
||||||
|
|
||||||
List<Map<String, String>> remoteRepos = this.apiContext.getOperationsContext().getRemoteFetcher().get(lookup.getType(), externalUrlCriteria, lookup.getKey());
|
List<Map<String, String>> remoteRepos = this.apiContext.getOperationsContext().getRemoteFetcher().get(lookup.getType(), externalUrlCriteria, lookup.getKey());
|
||||||
for (Map<String, String> repo: remoteRepos) {
|
|
||||||
repo.put("referenceType", lookup.getType().name());
|
|
||||||
}
|
|
||||||
|
|
||||||
// List<FetcherReference> list = this.fetchFromDb(externalType, query, type, remoteRepos);
|
List<Reference> externalModels = this.builderFactory.builder(ReferenceSearchBuilder.class).authorize(AuthorizationFlags.OwnerOrPermission).build(lookup.getProject(), remoteRepos);
|
||||||
|
List<Reference> models = this.fetchFromDb(lookup);
|
||||||
|
|
||||||
|
models.addAll(externalModels);
|
||||||
|
|
||||||
List<Reference> models = this.builderFactory.builder(ReferenceSearchBuilder.class).authorize(AuthorizationFlags.OwnerOrPermission).build(lookup.getProject(), remoteRepos);
|
|
||||||
//List<Reference> models = null;
|
|
||||||
models = models.stream().filter(x -> x.getLabel().toLowerCase().contains(lookup.getLike().toLowerCase())).collect(Collectors.toList());
|
models = models.stream().filter(x -> x.getLabel().toLowerCase().contains(lookup.getLike().toLowerCase())).collect(Collectors.toList());
|
||||||
models.sort(Comparator.comparing(Reference::getLabel));
|
models.sort(Comparator.comparing(Reference::getLabel));
|
||||||
|
|
||||||
return models;
|
return models;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<FetcherReference> fetchFromDb(ReferenceType externalType, String query, String type, List<Map<String, String>> remoteRepos) throws InvalidApplicationException {
|
private List<Reference> fetchFromDb(ReferenceSearchLookup lookup){
|
||||||
List<FetcherReference> list = new LinkedList<>();
|
|
||||||
switch (externalType) {
|
|
||||||
case DataRepositories:
|
|
||||||
case PubRepositories:
|
|
||||||
case Journals: {
|
|
||||||
DataRepositoryCriteria criteria = new DataRepositoryCriteria();
|
|
||||||
if (!query.isEmpty()) criteria.setLike(query);
|
|
||||||
criteria.setCreationUserId(this.userScope.getUserId());
|
|
||||||
if (type.equals("")) {
|
|
||||||
List<DataRepository> dataRepositoryList = (this.apiContext.getOperationsContext().getDatabaseRepository().getDataRepositoryDao().getWithCriteria(criteria)).toList();
|
|
||||||
list = dataRepositoryList.stream().map(item -> new FetcherReference().fromDataRepository(item)).collect(Collectors.toList());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case Registries: {
|
|
||||||
RegistryCriteria criteria = new RegistryCriteria();
|
|
||||||
if (!query.isEmpty()) criteria.setLike(query);
|
|
||||||
criteria.setCreationUserId(this.userScope.getUserId());
|
|
||||||
if (type.equals("")) {
|
|
||||||
List<Registry> registryList = (this.apiContext.getOperationsContext().getDatabaseRepository().getRegistryDao().getWithCriteria(criteria)).toList();
|
|
||||||
list = registryList.stream().map(item -> new FetcherReference().fromRegistry(item)).collect(Collectors.toList());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case Services:
|
|
||||||
{
|
|
||||||
ServiceCriteria criteria = new ServiceCriteria();
|
|
||||||
|
|
||||||
if (!query.isEmpty()) criteria.setLike(query);
|
List<String> fields = Arrays.asList(Reference._id, Reference._label, Reference._description, Reference._abbreviation, Reference._source,
|
||||||
criteria.setCreationUserId(this.userScope.getUserId());
|
Reference._isActive, Reference._createdAt, Reference._updatedAt, Reference._type, Reference._definition, Reference._reference, Reference._sourceType );
|
||||||
|
lookup.setProject(new BaseFieldSet(fields));
|
||||||
|
|
||||||
if (type.equals("")) {
|
ReferenceQuery query = lookup.enrich(this.queryFactory).authorize(AuthorizationFlags.OwnerOrPermission);
|
||||||
List<Service> serviceList = (this.apiContext.getOperationsContext().getDatabaseRepository().getServiceDao().getWithCriteria(criteria)).toList();
|
List<ReferenceEntity> datas = query.collectAs(lookup.getProject());
|
||||||
list = serviceList.stream().map(item -> new FetcherReference().fromService(item)).collect(Collectors.toList());
|
return this.builderFactory.builder(ReferenceBuilder.class).authorize(AuthorizationFlags.OwnerOrPermission).build(lookup.getProject(), datas);
|
||||||
}
|
|
||||||
}
|
|
||||||
case Datasets:{
|
|
||||||
|
|
||||||
ExternalDatasetCriteria criteria = apiContext.getOperationsContext().getBuilderFactory().getBuilder(ExternalDatasetCriteriaBuilder.class).like(query).build();
|
|
||||||
|
|
||||||
criteria.setCreationUserId(this.userScope.getUserId());
|
|
||||||
QueryableList<ExternalDataset> items = apiContext.getOperationsContext().getDatabaseRepository().getExternalDatasetDao().getWithCriteria(criteria);
|
|
||||||
|
|
||||||
list = items.select(item -> new FetcherReference().fromDataset(item));
|
|
||||||
}
|
|
||||||
case Taxonomies:
|
|
||||||
case Publications:
|
|
||||||
case Licenses:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return list;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// private List<FetcherReference> fetchFromDb(ReferenceType externalType, String query, String type, List<Map<String, String>> remoteRepos) throws InvalidApplicationException {
|
||||||
|
// List<FetcherReference> list = new LinkedList<>();
|
||||||
|
// switch (externalType) {
|
||||||
|
// case DataRepositories:
|
||||||
|
// case PubRepositories:
|
||||||
|
// case Journals: {
|
||||||
|
// DataRepositoryCriteria criteria = new DataRepositoryCriteria();
|
||||||
|
// if (!query.isEmpty()) criteria.setLike(query);
|
||||||
|
// criteria.setCreationUserId(this.userScope.getUserId());
|
||||||
|
// if (type.equals("")) {
|
||||||
|
// List<DataRepository> dataRepositoryList = (this.apiContext.getOperationsContext().getDatabaseRepository().getDataRepositoryDao().getWithCriteria(criteria)).toList();
|
||||||
|
// list = dataRepositoryList.stream().map(item -> new FetcherReference().fromDataRepository(item)).collect(Collectors.toList());
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// case Registries: {
|
||||||
|
// RegistryCriteria criteria = new RegistryCriteria();
|
||||||
|
// if (!query.isEmpty()) criteria.setLike(query);
|
||||||
|
// criteria.setCreationUserId(this.userScope.getUserId());
|
||||||
|
// if (type.equals("")) {
|
||||||
|
// List<Registry> registryList = (this.apiContext.getOperationsContext().getDatabaseRepository().getRegistryDao().getWithCriteria(criteria)).toList();
|
||||||
|
// list = registryList.stream().map(item -> new FetcherReference().fromRegistry(item)).collect(Collectors.toList());
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// case Services:
|
||||||
|
// {
|
||||||
|
// ServiceCriteria criteria = new ServiceCriteria();
|
||||||
|
//
|
||||||
|
// if (!query.isEmpty()) criteria.setLike(query);
|
||||||
|
// criteria.setCreationUserId(this.userScope.getUserId());
|
||||||
|
//
|
||||||
|
// if (type.equals("")) {
|
||||||
|
// List<Service> serviceList = (this.apiContext.getOperationsContext().getDatabaseRepository().getServiceDao().getWithCriteria(criteria)).toList();
|
||||||
|
// list = serviceList.stream().map(item -> new FetcherReference().fromService(item)).collect(Collectors.toList());
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// case Datasets:{
|
||||||
|
//
|
||||||
|
// ExternalDatasetCriteria criteria = apiContext.getOperationsContext().getBuilderFactory().getBuilder(ExternalDatasetCriteriaBuilder.class).like(query).build();
|
||||||
|
//
|
||||||
|
// criteria.setCreationUserId(this.userScope.getUserId());
|
||||||
|
// QueryableList<ExternalDataset> items = apiContext.getOperationsContext().getDatabaseRepository().getExternalDatasetDao().getWithCriteria(criteria);
|
||||||
|
//
|
||||||
|
// list = items.select(item -> new FetcherReference().fromDataset(item));
|
||||||
|
// }
|
||||||
|
// case Taxonomies:
|
||||||
|
// case Publications:
|
||||||
|
// case Licenses:
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// return list;
|
||||||
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,14 +5,30 @@ reference-type:
|
||||||
dataType: Date
|
dataType: Date
|
||||||
- code: endDate
|
- code: endDate
|
||||||
dataType: Date
|
dataType: Date
|
||||||
|
- code: pid
|
||||||
|
dataType: Text
|
||||||
|
- code: tag
|
||||||
|
dataType: Text
|
||||||
|
- code: key
|
||||||
|
dataType: Text
|
||||||
funder:
|
funder:
|
||||||
fields:
|
fields:
|
||||||
- code: uri
|
- code: uri
|
||||||
dataType: Text
|
dataType: Text
|
||||||
|
- code: pid
|
||||||
|
dataType: Text
|
||||||
|
- code: tag
|
||||||
|
dataType: Text
|
||||||
|
- code: key
|
||||||
|
dataType: Text
|
||||||
researcher:
|
researcher:
|
||||||
fields:
|
fields:
|
||||||
|
- code: pid
|
||||||
|
dataType: Text
|
||||||
- code: tag
|
- code: tag
|
||||||
dataType: Text
|
dataType: Text
|
||||||
|
- code: key
|
||||||
|
dataType: Text
|
||||||
- code: firstName
|
- code: firstName
|
||||||
dataType: Text
|
dataType: Text
|
||||||
- code: lastName
|
- code: lastName
|
||||||
|
@ -21,14 +37,22 @@ reference-type:
|
||||||
dataType: Text
|
dataType: Text
|
||||||
service:
|
service:
|
||||||
fields:
|
fields:
|
||||||
|
- code: pid
|
||||||
|
dataType: Text
|
||||||
- code: tag
|
- code: tag
|
||||||
dataType: Text
|
dataType: Text
|
||||||
|
- code: key
|
||||||
|
dataType: Text
|
||||||
- code: uri
|
- code: uri
|
||||||
dataType: Text
|
dataType: Text
|
||||||
registry:
|
registry:
|
||||||
fields:
|
fields:
|
||||||
|
- code: pid
|
||||||
|
dataType: Text
|
||||||
- code: tag
|
- code: tag
|
||||||
dataType: Text
|
dataType: Text
|
||||||
|
- code: key
|
||||||
|
dataType: Text
|
||||||
- code: uri
|
- code: uri
|
||||||
dataType: Text
|
dataType: Text
|
||||||
project:
|
project:
|
||||||
|
@ -41,6 +65,8 @@ reference-type:
|
||||||
fields:
|
fields:
|
||||||
- code: tag
|
- code: tag
|
||||||
dataType: Text
|
dataType: Text
|
||||||
|
- code: key
|
||||||
|
dataType: Text
|
||||||
- code: pid
|
- code: pid
|
||||||
dataType: Text
|
dataType: Text
|
||||||
- code: uri
|
- code: uri
|
||||||
|
@ -49,34 +75,56 @@ reference-type:
|
||||||
dataType: Text
|
dataType: Text
|
||||||
dataset:
|
dataset:
|
||||||
fields:
|
fields:
|
||||||
|
- code: tag
|
||||||
|
dataType: Text
|
||||||
|
- code: key
|
||||||
|
dataType: Text
|
||||||
- code: pid
|
- code: pid
|
||||||
dataType: Text
|
dataType: Text
|
||||||
- code: pidTypeField
|
- code: pidTypeField
|
||||||
dataType: Text
|
dataType: Text
|
||||||
dataRepository:
|
dataRepository:
|
||||||
fields:
|
fields:
|
||||||
|
- code: pid
|
||||||
|
dataType: Text
|
||||||
- code: tag
|
- code: tag
|
||||||
dataType: Text
|
dataType: Text
|
||||||
|
- code: key
|
||||||
|
dataType: Text
|
||||||
pubRepository:
|
pubRepository:
|
||||||
fields:
|
fields:
|
||||||
|
- code: pid
|
||||||
|
dataType: Text
|
||||||
- code: tag
|
- code: tag
|
||||||
dataType: Text
|
dataType: Text
|
||||||
|
- code: key
|
||||||
|
dataType: Text
|
||||||
journal:
|
journal:
|
||||||
fields:
|
fields:
|
||||||
|
- code: pid
|
||||||
|
dataType: Text
|
||||||
- code: tag
|
- code: tag
|
||||||
dataType: Text
|
dataType: Text
|
||||||
|
- code: key
|
||||||
|
dataType: Text
|
||||||
publication:
|
publication:
|
||||||
fields:
|
fields:
|
||||||
- code: tag
|
- code: tag
|
||||||
dataType: Text
|
dataType: Text
|
||||||
|
- code: key
|
||||||
|
dataType: Text
|
||||||
- code: pid
|
- code: pid
|
||||||
dataType: Text
|
dataType: Text
|
||||||
- code: pidTypeField
|
- code: pidTypeField
|
||||||
dataType: Text
|
dataType: Text
|
||||||
licence:
|
licence:
|
||||||
fields:
|
fields:
|
||||||
|
- code: pid
|
||||||
|
dataType: Text
|
||||||
- code: tag
|
- code: tag
|
||||||
dataType: Text
|
dataType: Text
|
||||||
|
- code: key
|
||||||
|
dataType: Text
|
||||||
- code: uri
|
- code: uri
|
||||||
dataType: Text
|
dataType: Text
|
||||||
taxonomy:
|
taxonomy:
|
||||||
|
|
|
@ -56,6 +56,8 @@ import { ExtraPropertiesFormModel } from '../editor/general-tab/extra-properties
|
||||||
import { FunderFormModel } from '../editor/grant-tab/funder-form-model';
|
import { FunderFormModel } from '../editor/grant-tab/funder-form-model';
|
||||||
import { GrantTabModel } from '../editor/grant-tab/grant-tab-model';
|
import { GrantTabModel } from '../editor/grant-tab/grant-tab-model';
|
||||||
import { ProjectFormModel } from '../editor/grant-tab/project-form-model';
|
import { ProjectFormModel } from '../editor/grant-tab/project-form-model';
|
||||||
|
import { ReferenceSearchLookup } from '@app/core/query/reference-search.lookup';
|
||||||
|
import { Reference } from '@app/core/model/reference/reference';
|
||||||
|
|
||||||
interface Visible {
|
interface Visible {
|
||||||
value: boolean;
|
value: boolean;
|
||||||
|
@ -1035,8 +1037,13 @@ export class DmpEditorBlueprintComponent extends CheckDeactivateBaseComponent im
|
||||||
|
|
||||||
|
|
||||||
// Researchers
|
// Researchers
|
||||||
filterResearchers(value: string): Observable<ExternalSourceItemModel[]> {
|
filterResearchers(value: string): Observable<Reference[]> {
|
||||||
return this.externalSourcesService.searchDMPResearchers({ criteria: { name: value, like: null } });
|
//return this.externalSourcesService.searchDMPResearchers({ criteria: { name: value, like: null } });
|
||||||
|
const lookup = new ReferenceSearchLookup();
|
||||||
|
lookup.like = value;
|
||||||
|
lookup.key = '';
|
||||||
|
lookup.type = ReferenceType.Researcher;
|
||||||
|
return this.referenceService.search(lookup);
|
||||||
}
|
}
|
||||||
|
|
||||||
addResearcher(event: MouseEvent) {
|
addResearcher(event: MouseEvent) {
|
||||||
|
|
Loading…
Reference in New Issue