public void populate() { dataService .query(ENTITY_TYPE_META_DATA, EntityType.class) .eq(BACKEND, POSTGRESQL) .findAll() .forEach(entityTypeRegistry::registerEntityType); } }
public void addUserRule(Query q) { MolgenisUser user = getCurrentUser(); if (user.getSuperuser()) { return; } q.eq(StudyDataRequest.MOLGENISUSER, user); }
private Optional<User> getUser(OidcUser oidcUser, OidcUserRequest userRequest) { OidcUserMapping oidcUserMapping = dataService .query(OIDC_USER_MAPPING, OidcUserMapping.class) .eq(OIDC_CLIENT, userRequest.getClientRegistration().getRegistrationId()) .and() .eq(OIDC_USERNAME, oidcUser.getSubject()) .findOne(); return oidcUserMapping != null ? Optional.of(oidcUserMapping.getUser()) : Optional.empty(); }
@Override @Nullable public Questionnaire findQuestionnaireEntity(String entityTypeId) { Entity questionnaireInstance = dataService.query(entityTypeId).eq(OWNER_USERNAME, getCurrentUsername()).findOne(); if (questionnaireInstance != null) { return questionnaireFactory.create(questionnaireInstance); } else { return null; } } }
public List<String> searchAllOntologies() { List<String> ontologyUris = new ArrayList<String>(); SearchResult result = searchService.search(new SearchRequest(null, new QueryImpl().pageSize(Integer.MAX_VALUE) .eq(OntologyTermIndexRepository.ENTITY_TYPE, OntologyIndexRepository.TYPE_ONTOLOGY), null)); for (Hit hit : result.getSearchHits()) { Map<String, Object> columnValueMap = hit.getColumnValueMap(); if (columnValueMap.containsKey("url")) ontologyUris.add(AsyncOntologyIndexer .createOntologyTermDocumentType(columnValueMap.get("url").toString())); } return ontologyUris; }
@Override public Iterable<String> getEntityTypeIds() { return dataService .query(ENTITY_TYPE_META_DATA, EntityType.class) .eq(BACKEND, POSTGRESQL) .fetch(getEntityTypeFetch()) .findAll() .map(EntityType::getId) ::iterator; }
@RequestMapping(method = RequestMethod.POST, value = "/attribute", produces = APPLICATION_JSON_VALUE) @ResponseBody public SearchResult getOneAttribute(@RequestBody String featureId) { return searchService.search(new SearchRequest(null, new QueryImpl().eq(ObservableFeature.ID, featureId).and() .eq("type", "observablefeature"), null)); }
@Override public Iterable<Entity> findAll(Query q) { List<Entity> entities = new ArrayList<Entity>(); if (q.getRules().size() > 0) q.and(); q.eq(OntologyIndexRepository.ENTITY_TYPE, OntologyIndexRepository.TYPE_ONTOLOGY); for (Hit hit : searchService.search(new SearchRequest(null, q, null)).getSearchHits()) { entities.add(new OntologyEntity(hit, getEntityMetaData(), ontologySerivce, searchService)); } return entities; }
@Override public Entity findOne(Query q) { if (q.getRules().size() > 0) q.and(); q.eq(OntologyIndexRepository.ENTITY_TYPE, OntologyIndexRepository.TYPE_ONTOLOGY); Hit hit = findOneInternal(null, q); if (hit != null) return new OntologyEntity(hit, getEntityMetaData(), ontologySerivce, searchService); return null; }
@Override public long count(Query q) { if (q.getRules().size() > 0) { q.and(); } q.eq(OntologyIndexRepository.ENTITY_TYPE, OntologyIndexRepository.TYPE_ONTOLOGY); return searchService.count(null, q.pageSize(Integer.MAX_VALUE).offset(Integer.MIN_VALUE)); }
@Override public AppResponse getAppByName(String appName) { App app = dataService.query(AppMetadata.APP, App.class).eq(AppMetadata.NAME, appName).findOne(); if (app == null) { throw new AppForURIDoesNotExistException(appName); } return AppResponse.create(app); }
private Token getMolgenisToken(String token) { Token molgenisToken = dataService.query(TOKEN, Token.class).eq(TOKEN_ATTR, token).findOne(); if (molgenisToken == null || molgenisToken.isExpired()) { throw new UnknownTokenException("Invalid token"); } return molgenisToken; } }
private void deleteOldRecoveryCodes(String userId) { runAsSystem( () -> { Stream<RecoveryCode> recoveryCodes = dataService.query(RECOVERY_CODE, RecoveryCode.class).eq(USER_ID, userId).findAll(); dataService.delete(RECOVERY_CODE, recoveryCodes); }); }
public Hit findOntologyTerm(String ontologyIri, String ontologyTermIri, String nodePath) { Query q = new QueryImpl().eq(OntologyTermIndexRepository.NODE_PATH, nodePath).and() .eq(OntologyTermIndexRepository.ONTOLOGY_TERM_IRI, ontologyTermIri).pageSize(5000); String documentType = AsyncOntologyIndexer.createOntologyTermDocumentType(ontologyIri); SearchResult result = searchService.search(new SearchRequest(documentType, q, null)); for (Hit hit : result.getSearchHits()) { if (hit.getColumnValueMap().get(OntologyTermIndexRepository.NODE_PATH).toString().equals(nodePath)) return hit; } return new Hit(null, documentType, Collections.<String, Object> emptyMap()); }
@Override public Entity findOne(Query q) { if (q.getRules().size() > 0) q.and(); q.eq(OntologyTermIndexRepository.ENTITY_TYPE, OntologyTermIndexRepository.TYPE_ONTOLOGYTERM); Hit hit = findOneInternal(AsyncOntologyIndexer.createOntologyTermDocumentType(ontologyIri), q); return hit != null ? new OntologyTermEntity(hit, getEntityMetaData(), searchService) : null; }
@Override public Stream<RecoveryCode> getRecoveryCodes() { String userId = getUser().getId(); return runAsSystem( () -> dataService.query(RECOVERY_CODE, RecoveryCode.class).eq(USER_ID, userId).findAll()); }
@Override public Entity getOntologyTermEntity(String ontologyTermIri, String ontologyIri) { Entity ontologyEntity = getOntologyEntity(ontologyIri); if (ontologyEntity != null) { return dataService.findOne( ONTOLOGY_TERM, new QueryImpl<>() .eq(OntologyTermMetaData.ONTOLOGY_TERM_IRI, ontologyTermIri) .and() .eq(OntologyTermMetaData.ONTOLOGY, ontologyEntity)); } return null; }
@Override public void resetSecretForUser() { User user = getUser(); Stream<UserSecret> userSecrets = runAsSystem( () -> dataService .query(USER_SECRET, UserSecret.class) .eq(USER_ID, user.getId()) .findAll()); //noinspection RedundantCast runAsSystem((Runnable) () -> dataService.delete(USER_SECRET, userSecrets)); }