/** * {@inheritDoc} */ @Override public List<IStorageDescriptor> query(IIndexQuery query, ForkJoinPool forkJoinPool) { return forkJoinPool.invoke(getTaskForForkJoinQuery(query)); }
/** * {@inheritDoc} */ @Override public synchronized void preWriteFinalization() { optimiseDescriptors(descriptors); }
LeafWithNoDescriptors<DefaultData> leafWithNoDescriptors = new LeafWithNoDescriptors<>(); while (i <= entries) { when(defaultData.getId()).thenReturn(i); IStorageDescriptor storageDescriptor = leafWithNoDescriptors.put(defaultData); storageDescriptor.setPositionAndSize(totalSize, i); totalSize += i; List<IStorageDescriptor> results = leafWithNoDescriptors.query(storageIndexQuery); long totalReturnedSize = 0; for (IStorageDescriptor storageDescriptor : results) { List<IStorageDescriptor> resultsForkJoin = leafWithNoDescriptors.query(storageIndexQuery, forkJoinPool); totalReturnedSize = 0; for (IStorageDescriptor storageDescriptor : resultsForkJoin) {
/** * Test that the get on the {@link LeafWithNoDescriptors} will throw an exception if invoked. * * @throws IndexingException * If {@link IndexingException} occurs. */ @Test(expectedExceptions = { UnsupportedOperationException.class }) public void putAndGetElement() throws IndexingException { IStorageTreeComponent<DefaultData> rootBranch = new LeafWithNoDescriptors<>(); DefaultData defaultData = mock(DefaultData.class); when(defaultData.getId()).thenReturn(1L); rootBranch.put(defaultData); rootBranch.get(defaultData); }
/** * Test the creation of new component when leaf should be created. */ @Test public void nextComponentIsLeaf() { int id = 1; storageBranchIndexer = new StorageBranchIndexer<>(delegateIndexer, null, id, true); DefaultData defaultData = mock(DefaultData.class); InvocationSequenceData invocationSequenceData = mock(InvocationSequenceData.class); // first pass id IStorageTreeComponent<DefaultData> component = storageBranchIndexer.getNextTreeComponent(defaultData); assertThat(component, is(instanceOf(LeafWithNoDescriptors.class))); LeafWithNoDescriptors<DefaultData> leaf = (LeafWithNoDescriptors<DefaultData>) component; assertThat(leaf.getId(), is(id)); component = storageBranchIndexer.getNextTreeComponent(invocationSequenceData); assertThat(component, is(instanceOf(ArrayBasedStorageLeaf.class))); ArrayBasedStorageLeaf<DefaultData> arrayLeaf = (ArrayBasedStorageLeaf<DefaultData>) component; assertThat(arrayLeaf.getId(), is(id)); storageBranchIndexer = new StorageBranchIndexer<>(delegateIndexer, null, id, false); // then don't pass id component = storageBranchIndexer.getNextTreeComponent(defaultData); assertThat(component, is(instanceOf(LeafWithNoDescriptors.class))); leaf = (LeafWithNoDescriptors<DefaultData>) component; assertThat(leaf.getId(), is(not(id))); component = storageBranchIndexer.getNextTreeComponent(invocationSequenceData); assertThat(component, is(instanceOf(ArrayBasedStorageLeaf.class))); arrayLeaf = (ArrayBasedStorageLeaf<DefaultData>) component; assertThat(arrayLeaf.getId(), is(not(id))); }
return new LeafWithNoDescriptors<>(id); } else { return new LeafWithNoDescriptors<>();