/** * {@inheritDoc} */ @Override public boolean canBeProcessed(DefaultData defaultData) { return defaultData.isQueryComplied(query); }
/** * This utility method is used to create a list of elements that pass all the restrictions in * the {@link StorageIndexQuery}. * * @param notPassedList * List of all elements. * @param storageIndexQuery * {@link StorageIndexQuery}. * @return New list only with elements that are passing all restrictions. */ private List<E> getRestrictionsPassedList(List<E> notPassedList, StorageIndexQuery storageIndexQuery) { List<E> passedList = new ArrayList<>(); for (E element : notPassedList) { if ((null != element) && element.isQueryComplied(storageIndexQuery)) { passedList.add(element); } } return passedList; }
/** * {@inheritDoc} */ @Override public List<E> query(IIndexQuery query) { List<E> results = new ArrayList<>(); Iterator<CustomWeakReference<E>> iterator = map.values().iterator(); while (iterator.hasNext()) { WeakReference<E> weakReference = iterator.next(); if (null != weakReference) { E element = weakReference.get(); if ((null != element) && element.isQueryComplied(query)) { results.add(weakReference.get()); } } } return results; }
/** * {@inheritDoc} */ @Override public boolean isQueryComplied(IIndexQuery query) { if ((query.getMethodIdent() != 0) && (query.getMethodIdent() != methodIdent)) { return false; } return super.isQueryComplied(query); }
when(defaultData1.getId()).thenReturn(1L); when(defaultData1.getPlatformIdent()).thenReturn(10L); when(defaultData1.isQueryComplied(indexQuery)).thenReturn(true); rootBranch.put(defaultData1); when(defaultData2.getId()).thenReturn(2L); when(defaultData2.getPlatformIdent()).thenReturn(20L); when(defaultData2.isQueryComplied(indexQuery)).thenReturn(true); rootBranch.put(defaultData2);
/** * Test tree with empty query. All elements should be returned. * * @throws IndexingException * If {@link IndexingException} occurs. */ @Test public void emptyQueryTest() throws IndexingException { IBufferTreeComponent<DefaultData> rootBranch = new Branch<>(new BufferBranchIndexer<>(new ObjectTypeIndexer<>())); DefaultData defaultData = mock(DefaultData.class); when(defaultData.getId()).thenReturn(1L); when(defaultData.isQueryComplied(indexQuery)).thenReturn(true); rootBranch.put(defaultData); SqlStatementData defaultData2 = mock(SqlStatementData.class); when(defaultData2.getId()).thenReturn(2L); when(defaultData2.isQueryComplied(indexQuery)).thenReturn(true); rootBranch.put(defaultData2); List<DefaultData> results = rootBranch.query(indexQuery); assertThat(results.size(), is(equalTo(2))); // Test for forkJoinPool List<DefaultData> resultsForkJoin = rootBranch.query(indexQuery, forkJoinPool); assertThat(resultsForkJoin.size(), is(equalTo(2))); }
when(defaultData1.getId()).thenReturn(1L); when(defaultData1.getTimeStamp()).thenReturn(new Timestamp(new Date().getTime())); when(defaultData1.isQueryComplied(indexQuery)).thenReturn(true); rootBranch.put(defaultData1); when(defaultData2.getId()).thenReturn(2L); when(defaultData2.getTimeStamp()).thenReturn(plusHour); when(defaultData2.isQueryComplied(indexQuery)).thenReturn(true); rootBranch.put(defaultData2);