Search in sources :

Example 26 with RunAsSystem

use of org.molgenis.security.core.runas.RunAsSystem in project molgenis by molgenis.

the class OntologyTermFrequencyServiceImpl method updateTermFrequency.

@Override
@Async
@RunAsSystem
public void updateTermFrequency() {
    // Remove all the existing term frequency records
    dataService.deleteAll(TERM_FREQUENCY);
    List<Entity> entitiesToAdd = new ArrayList<>();
    // Create new term frequency records
    dataService.findAll(ONTOLOGY_TERM_SYNONYM).forEach(entity -> {
        String ontologyTermSynonym = entity.getString(OntologyTermSynonymMetaData.ONTOLOGY_TERM_SYNONYM_ATTR);
        PubMedTFEntity pubMedTFEntity = pubMedTermFrequencyService.getTermFrequency(ontologyTermSynonym);
        if (pubMedTFEntity != null) {
            // FIXME remove reference to getApplicationContext
            TermFrequencyMetaData termFrequencyEntityType = getApplicationContext().getBean(TermFrequencyMetaData.class);
            Entity mapEntity = new DynamicEntity(termFrequencyEntityType);
            mapEntity.set(TERM, ontologyTermSynonym);
            mapEntity.set(FREQUENCY, pubMedTFEntity.getFrequency());
            mapEntity.set(OCCURRENCE, pubMedTFEntity.getOccurrence());
            entitiesToAdd.add(mapEntity);
            if (entitiesToAdd.size() > BATCH_SIZE) {
                dataService.add(TERM_FREQUENCY, entitiesToAdd.stream());
                entitiesToAdd.clear();
            }
        }
    });
    if (!entitiesToAdd.isEmpty()) {
        dataService.add(TERM_FREQUENCY, entitiesToAdd.stream());
    }
}
Also used : DynamicEntity(org.molgenis.data.support.DynamicEntity) Entity(org.molgenis.data.Entity) TermFrequencyMetaData(org.molgenis.ontology.core.ic.TermFrequencyMetaData) DynamicEntity(org.molgenis.data.support.DynamicEntity) ArrayList(java.util.ArrayList) Async(org.springframework.scheduling.annotation.Async) RunAsSystem(org.molgenis.security.core.runas.RunAsSystem)

Example 27 with RunAsSystem

use of org.molgenis.security.core.runas.RunAsSystem in project molgenis by molgenis.

the class FairController method getDistribution.

@GetMapping(produces = TEXT_TURTLE_VALUE, value = "/{catalogID}/{datasetID}/{distributionID}")
@ResponseBody
@RunAsSystem
public Model getDistribution(@PathVariable("catalogID") String catalogID, @PathVariable("datasetID") String datasetID, @PathVariable("distributionID") String distributionID) {
    String subjectIRI = getBaseUri().pathSegment(catalogID, datasetID, distributionID).toUriString();
    Entity subjectEntity = dataService.findOneById("fdp_Distribution", distributionID);
    return entityModelWriter.createRdfModel(subjectIRI, subjectEntity);
}
Also used : Entity(org.molgenis.data.Entity) RunAsSystem(org.molgenis.security.core.runas.RunAsSystem)

Example 28 with RunAsSystem

use of org.molgenis.security.core.runas.RunAsSystem in project molgenis by molgenis.

the class FairController method getCatalog.

@GetMapping(produces = TEXT_TURTLE_VALUE, value = "/{catalogID}")
@ResponseBody
@RunAsSystem
public Model getCatalog(@PathVariable("catalogID") String catalogID) {
    String subjectIRI = getBaseUri().pathSegment(catalogID).toUriString();
    Entity subjectEntity = dataService.findOneById("fdp_Catalog", catalogID);
    if (subjectEntity == null) {
        throw new UnknownEntityException(format("Catalog with id [%s] does not exist", catalogID));
    }
    return entityModelWriter.createRdfModel(subjectIRI, subjectEntity);
}
Also used : Entity(org.molgenis.data.Entity) UnknownEntityException(org.molgenis.data.UnknownEntityException) RunAsSystem(org.molgenis.security.core.runas.RunAsSystem)

Example 29 with RunAsSystem

use of org.molgenis.security.core.runas.RunAsSystem in project molgenis by molgenis.

the class UntypedTagService method getTagsForEntity.

@Override
@RunAsSystem
public Iterable<SemanticTag<EntityType, LabeledResource, LabeledResource>> getTagsForEntity(EntityType entityType) {
    List<SemanticTag<EntityType, LabeledResource, LabeledResource>> result = new ArrayList<>();
    Entity entity = findEntity(entityType);
    if (entity == null) {
        LOG.warn("No known entity with name " + entityType.getId() + ".");
    } else {
        for (Entity tagEntity : entity.getEntities(EntityTypeMetadata.TAGS)) {
            result.add(SemanticTag.asTag(entityType, tagEntity));
        }
    }
    return result;
}
Also used : Entity(org.molgenis.data.Entity) ArrayList(java.util.ArrayList) SemanticTag(org.molgenis.data.semantic.SemanticTag) RunAsSystem(org.molgenis.security.core.runas.RunAsSystem)

Aggregations

RunAsSystem (org.molgenis.security.core.runas.RunAsSystem)29 Entity (org.molgenis.data.Entity)12 Transactional (org.springframework.transaction.annotation.Transactional)7 User (org.molgenis.data.security.auth.User)5 QueryImpl (org.molgenis.data.support.QueryImpl)4 UnknownEntityException (org.molgenis.data.UnknownEntityException)3 MolgenisUserException (org.molgenis.security.user.MolgenisUserException)3 IOException (java.io.IOException)2 ArrayList (java.util.ArrayList)2 List (java.util.List)2 Objects.requireNonNull (java.util.Objects.requireNonNull)2 Stream (java.util.stream.Stream)2 DataService (org.molgenis.data.DataService)2 Fetch (org.molgenis.data.Fetch)2 IndexActionGroup (org.molgenis.data.index.meta.IndexActionGroup)2 INDEX_ACTION_GROUP (org.molgenis.data.index.meta.IndexActionGroupMetaData.INDEX_ACTION_GROUP)2 Token (org.molgenis.data.security.auth.Token)2 ProgressImpl (org.molgenis.jobs.ProgressImpl)2 SimpleMailMessage (org.springframework.mail.SimpleMailMessage)2 RunAsUserToken (org.springframework.security.access.intercept.RunAsUserToken)2