/** * {@inheritDoc} * <p> * Method returns combined results from all branches that are combined. */ public List<IStorageDescriptor> query(StorageIndexQuery query) { List<IStorageDescriptor> combinedResult = new ArrayList<>(); for (IStorageTreeComponent<E> branch : branches) { List<IStorageDescriptor> branchResult = branch.query(query); if ((branchResult != null) && !branchResult.isEmpty()) { combinedResult.addAll(branchResult); } } return combinedResult; }
/** * {@inheritDoc} * <p> * Method returns combined results from all branches that are combined. */ @Override public List<IStorageDescriptor> query(IIndexQuery query) { List<IStorageDescriptor> combinedResult = new ArrayList<>(); for (IStorageTreeComponent<E> branch : branches) { List<IStorageDescriptor> branchResult = branch.query(query); if ((branchResult != null) && !branchResult.isEmpty()) { combinedResult.addAll(branchResult); } } return combinedResult; }
/** * Test that tests the functionality of {@link CombinedStorageQueryTask} */ @SuppressWarnings("unchecked") @Test public void queryCombinedStorageBranch() { List<IStorageDescriptor> testResultList = new ArrayList<>(); testResultList.add(new StorageDescriptor()); testResultList.add(new StorageDescriptor()); CombinedStorageQueryTestTask<DefaultData> testTask = new CombinedStorageQueryTestTask<>(testResultList); StorageBranch<DefaultData> mockedBranch1 = mock(StorageBranch.class); when(mockedBranch1.getTaskForForkJoinQuery(storageIndexQuery)).thenReturn(testTask); StorageBranch<DefaultData> mockedBranch2 = mock(StorageBranch.class); when(mockedBranch2.getTaskForForkJoinQuery(storageIndexQuery)).thenReturn(testTask); ArrayList<IStorageTreeComponent<DefaultData>> branches = new ArrayList<>(); branches.add(mockedBranch1); branches.add(mockedBranch2); IStorageTreeComponent<DefaultData> rootCombinedStoreBranch = new CombinedStorageBranch<>(branches); List<IStorageDescriptor> results = rootCombinedStoreBranch.query(storageIndexQuery, forkJoinPool); assertThat(results.size(), is(equalTo(4))); } }
query.setObjectClasses(searchedClasses); List<IStorageDescriptor> descriptors = storageIndexingTree.query(query); assertThat("Amount of descriptors is less than the amount of invocations saved.", descriptors.size(), is(equalTo(createdInvocations.size()))); for (IStorageDescriptor descriptor : descriptors) {
storageIndexQuery.setToDate(plusHour); List<IStorageDescriptor> results = rootBranch.query(storageIndexQuery); assertThat(results.size(), is(equalTo(1))); for (IStorageDescriptor result : results) { List<IStorageDescriptor> resultsForkJoin = rootBranch.query(storageIndexQuery, forkJoinPool); assertThat(resultsForkJoin.size(), is(equalTo(1))); for (IStorageDescriptor result : resultsForkJoin) {
query.setObjectClasses(searchedClasses); List<IStorageDescriptor> descriptors = storageIndexingTree.query(query); assertThat("Amount of descriptors is less than the amount of invocations saved.", descriptors.size(), is(equalTo(createdInvocations.size()))); for (IStorageDescriptor descriptor : descriptors) {
/** * Test tree with empty query. All elements should be returned. * * @throws IndexingException * If {@link IndexingException} occurs. */ @Test public void emptyQueryTest() throws IndexingException { IStorageTreeComponent<DefaultData> rootBranch = new StorageBranch<>(new StorageBranchIndexer<>(new ObjectTypeIndexer<>(), false)); DefaultData defaultData = mock(DefaultData.class); when(defaultData.getId()).thenReturn(1L); IStorageDescriptor storageDescriptor1 = rootBranch.put(defaultData); storageDescriptor1.setPositionAndSize(0, 1); SqlStatementData defaultData2 = mock(SqlStatementData.class); when(defaultData2.getId()).thenReturn(2L); IStorageDescriptor storageDescriptor2 = rootBranch.put(defaultData2); storageDescriptor2.setPositionAndSize(2, 1); List<IStorageDescriptor> results = rootBranch.query(storageIndexQuery); assertThat(results.size(), is(equalTo(2))); // Test for forkJoinPool List<IStorageDescriptor> resultsForkJoin = rootBranch.query(storageIndexQuery, forkJoinPool); assertThat(resultsForkJoin.size(), is(equalTo(2))); }
storageIndexQuery.setObjectClasses(searchedClasses); List<IStorageDescriptor> results = rootBranch.query(storageIndexQuery); assertThat(results.size(), is(equalTo(1))); for (IStorageDescriptor result : results) { List<IStorageDescriptor> resultsForkJoin = rootBranch.query(storageIndexQuery, forkJoinPool); assertThat(resultsForkJoin.size(), is(equalTo(1))); for (IStorageDescriptor result : resultsForkJoin) {
List<IStorageDescriptor> results = rootBranch.query(storageIndexQuery); assertThat(results.size(), is(equalTo(1))); for (IStorageDescriptor result : results) { List<IStorageDescriptor> resultsForkJoin = rootBranch.query(storageIndexQuery, forkJoinPool); assertThat(resultsForkJoin.size(), is(equalTo(1))); for (IStorageDescriptor result : resultsForkJoin) {
List<IStorageDescriptor> results = rootBranch.query(storageIndexQuery); assertThat(results.size(), is(equalTo(1))); for (IStorageDescriptor result : results) { List<IStorageDescriptor> resultsForkJoin = rootBranch.query(storageIndexQuery, forkJoinPool); assertThat(resultsForkJoin.size(), is(equalTo(1))); for (IStorageDescriptor result : resultsForkJoin) {
List<IStorageDescriptor> descriptors = getIndexingTree().query(storageIndexQuery);
List<IStorageDescriptor> results = rootBranch.query(storageIndexQuery, forkJoinPool); assertThat(results.size(), is(equalTo(2))); long totalSize = 0; storageIndexQuery.setSensorTypeIdent(10L); results = rootBranch.query(storageIndexQuery, forkJoinPool); assertThat(results.size(), is(equalTo(1))); for (IStorageDescriptor result : results) {
List<IStorageDescriptor> results = rootBranch.query(storageIndexQuery); assertThat(results.size(), is(equalTo(2))); long totalSize = 0; storageIndexQuery.setSensorTypeIdent(10L); results = rootBranch.query(storageIndexQuery); assertThat(results.size(), is(equalTo(1))); for (IStorageDescriptor result : results) {