/** * Retrieve feature information from Index based on given featureIds list. * If featureIds is empty, all of features are retrieved for particular * dataset * * @param protocolId * @param featureIds * @return */ private SearchResult retrieveFeatureFromIndex(Integer protocolId, Iterable<Integer> featureIds) { QueryImpl query = new QueryImpl(); query.pageSize(Integer.MAX_VALUE); if (featureIds != null && Iterables.size(featureIds) > 0) { for (Integer featureId : featureIds) { if (query.getRules().size() > 0) query.addRule(new QueryRule(Operator.OR)); query.addRule(new QueryRule(ENTITY_ID, Operator.EQUALS, featureId)); } } else { query.addRule(new QueryRule(ENTITY_TYPE, Operator.EQUALS, ObservableFeature.class.getSimpleName() .toLowerCase())); } return searchService.search(new SearchRequest(CATALOGUE_PREFIX + protocolId, query, null)); }
@Override @RunAsSystem public boolean checkExistingMappings(String dataSetIdentifier, DataService dataService) { DataSet dataSet = dataService.findOne(DataSet.ENTITY_NAME, new QueryImpl().eq(DataSet.IDENTIFIER, dataSetIdentifier), DataSet.class); if (dataSet == null) { throw new MolgenisDataException("Unknown DataSet [" + dataSetIdentifier + "]"); } Iterable<ObservationSet> listOfObservationSets = dataService.findAll(ObservationSet.ENTITY_NAME, new QueryImpl().eq(ObservationSet.PARTOFDATASET, dataSet), ObservationSet.class); return Iterables.size(listOfObservationSets) > 0; }