public DBIterator<Sample> indexSolr(Query query) throws CatalogException { return sampleDBAdaptor.iterator(query, null, null); } }
@Override public DBIterator<Sample> iterator(String studyStr, Query query, QueryOptions options, String sessionId) throws CatalogException { query = ParamUtils.defaultObject(query, Query::new); options = ParamUtils.defaultObject(options, QueryOptions::new); String userId = userManager.getUserId(sessionId); Study study = catalogManager.getStudyManager().resolveId(studyStr, userId); query.append(SampleDBAdaptor.QueryParams.STUDY_UID.key(), study.getUid()); return sampleDBAdaptor.iterator(query, options, userId); }
private Boolean indexSample(CatalogSolrManager catalogSolrManager, Study study) throws CatalogException, IOException { Query query = new Query() .append(SampleDBAdaptor.QueryParams.STUDY_UID.key(), study.getUid()) .append(SampleDBAdaptor.QueryParams.STATUS_NAME.key(), Constants.ALL_STATUS); QueryOptions sampleQueryOptions = new QueryOptions() .append(QueryOptions.INCLUDE, Arrays.asList(SampleDBAdaptor.QueryParams.ID.key(), SampleDBAdaptor.QueryParams.SOURCE.key(), SampleDBAdaptor.QueryParams.RELEASE.key(), SampleDBAdaptor.QueryParams.VERSION.key(), SampleDBAdaptor.QueryParams.PROCESSING.key(), SampleDBAdaptor.QueryParams.COLLECTION.key(), SampleDBAdaptor.QueryParams.CREATION_DATE.key(), SampleDBAdaptor.QueryParams.STATUS.key(), SampleDBAdaptor.QueryParams.TYPE.key(), SampleDBAdaptor.QueryParams.SOMATIC.key(), SampleDBAdaptor.QueryParams.PHENOTYPES.key(), SampleDBAdaptor.QueryParams.ANNOTATION_SETS.key(), SampleDBAdaptor.QueryParams.UID.key())) .append(DBAdaptor.INCLUDE_ACLS, true) .append(Constants.FLATTENED_ANNOTATIONS, true); catalogSolrManager.insertCatalogCollection(this.sampleDBAdaptor.iterator(query, sampleQueryOptions), new CatalogSampleToSolrSampleConverter(study), CatalogSolrManager.SAMPLE_SOLR_COLLECTION); return true; }
finalQuery.append(SampleDBAdaptor.QueryParams.STUDY_UID.key(), study.getUid()); iterator = sampleDBAdaptor.iterator(finalQuery, QueryOptions.empty(), userId);
@Test public void testSampleIterator() throws CatalogException, SolrServerException, IOException { MongoDBAdaptorFactory factory = new MongoDBAdaptorFactory(catalogManager.getConfiguration()); SampleDBAdaptor sampleDBAdaptor = factory.getCatalogSampleDBAdaptor(); QueryOptions queryOptions = new QueryOptions(); queryOptions.add(QueryOptions.INCLUDE, Arrays.asList(SampleDBAdaptor.QueryParams.ID.key(), SampleDBAdaptor.QueryParams.UID.key(), SampleDBAdaptor.QueryParams.INDIVIDUAL.key() + ".id")); //queryOptions.add("nativeQuery", true); queryOptions.add("lazy", false); DBIterator<Sample> sampleDBIterator = sampleDBAdaptor.iterator(new Query(), queryOptions); int i = 0; StopWatch stopWatch = StopWatch.createStarted(); while (sampleDBIterator.hasNext()) { Sample sample = sampleDBIterator.next(); i++; if (i % 10000 == 0) { System.out.println("i: " + i + "; time: " + stopWatch.getTime(TimeUnit.MILLISECONDS)); stopWatch.reset(); stopWatch.start(); } // System.out.println(sample); // if (sample.getAttributes() != null && sample.getAttributes().containsKey("individual")) { // System.out.println(sample.getAttributes().get("individual")); // } } }
DBIterator<Sample> sampleDBIterator = sampleDBAdaptor.iterator( new Query(SampleDBAdaptor.QueryParams.STUDY_UID.key(), study.getUid()), queryOptions); catalogSolrManager.insertCatalogCollection(sampleDBIterator, new CatalogSampleToSolrSampleConverter(study),