@SuppressWarnings("unchecked") private static <T> List<T> doSearch(Session session, Class<T> clazz, Integer entityId) { FullTextSession fullTextSession = Search.getFullTextSession( session ); Transaction tx = fullTextSession.beginTransaction(); FullTextQuery query = fullTextSession.createFullTextQuery( new TermQuery( new Term( "id", entityId.toString() ) ), clazz ); List<T> result = query.list(); tx.commit(); return result; } }
public int countBusLineByDatabaseCount() { FullTextSession fullTextSession = Search.getFullTextSession( openSession() ); Transaction tx = fullTextSession.beginTransaction(); int count = fullTextSession.createCriteria( BusLine.class ).list().size(); tx.commit(); fullTextSession.close(); return count; }
@Test public void testTotalArticleIsIndexedInDraftStatus() throws Exception { Transaction tx = fullTextSession.beginTransaction(); List<Blog> blogEntries = getBlogEntries(); assertThat( blogEntries ).as( "TotalArticle is explicitly not intercepted" ).contains( totalArticle ); tx.commit(); }
private int countResults(Query query, FullTextSessionBuilder ftSessionBuilder, Class<?> type) { FullTextSession fullTextSession = ftSessionBuilder.openFullTextSession(); Transaction transaction = fullTextSession.beginTransaction(); FullTextQuery fullTextQuery = fullTextSession.createFullTextQuery( query, type ); int resultSize = fullTextQuery.getResultSize(); transaction.commit(); fullTextSession.close(); return resultSize; }
@Override @Before public void setUp() throws Exception { super.setUp(); fullTextSession = Search.getFullTextSession( openSession() ); loadTestData( fullTextSession ); tx = fullTextSession.beginTransaction(); }
@SuppressWarnings("unchecked") private List<EntityExtendingMappedSuperclassWithCollectionField> searchEntityByCollectionValue(String value) { Transaction transaction = fullTextSession.beginTransaction(); FullTextQuery query = fullTextSession.createFullTextQuery( new TermQuery( new Term( "collection", value ) ), EntityExtendingMappedSuperclassWithCollectionField.class ); List<EntityExtendingMappedSuperclassWithCollectionField> result = query.list(); transaction.commit(); fullTextSession.clear(); return result; }
@Test public void testTotalArticleIsIndexedInRemovedStatus() throws Exception { setAllBlogEntriesToStatus( BlogStatus.REMOVED ); Transaction tx = fullTextSession.beginTransaction(); List<Blog> blogEntries = getBlogEntries(); assertThat( blogEntries ).as( "TotalArticle is explicitly not intercepted" ).contains( totalArticle ); tx.commit(); }
@Override @Before public void setUp() throws Exception { super.setUp(); FullTextSession fullTextSession = Search.getFullTextSession( openSession() ); Transaction tx = fullTextSession.beginTransaction(); for ( int i = 0; i < 100; i++ ) { TestEntity entity = new TestEntity( i, "document-" + i ); fullTextSession.persist( entity ); } tx.commit(); fullTextSession.close(); }
/** * Creates a full-text query on Locations entities and checks the term is found exactly * the expected number of times (or fails the test) */ private void assertFoundLocations(FullTextSession fullTextSession, String locationGroupName, int expectedFoundLocations) { final Transaction transaction = fullTextSession.beginTransaction(); TermQuery luceneQuery = new TermQuery( new Term( "locationGroup.name", locationGroupName ) ); FullTextQuery fullTextQuery = fullTextSession.createFullTextQuery( luceneQuery, Location.class ); int resultSize = fullTextQuery.getResultSize(); transaction.commit(); Assert.assertEquals( expectedFoundLocations, resultSize ); }
@Test public void testBlogAndArticleAreNotIndexedInDraftStatus() throws Exception { Transaction tx = fullTextSession.beginTransaction(); List<Blog> blogEntries = getBlogEntries(); assertThat( blogEntries ).as( "Blog is explicitly intercepted" ).doesNotContain( blog ); assertThat( blogEntries ).as( "Article is inherently intercepted" ).doesNotContain( article ); tx.commit(); }
static FullTextSession prepareSomeData(SearchTestBase testCase) { FullTextSession fullTextSession = Search.getFullTextSession( testCase.openSession() ); fullTextSession.beginTransaction(); Nation france = new Nation( "France", "FR" ); fullTextSession.save( france ); Book ceylonBook = new Book(); ceylonBook.setTitle( "Ceylon in Action" ); ceylonBook.setFirstPublishedIn( france ); fullTextSession.save( ceylonBook ); fullTextSession.getTransaction().commit(); return fullTextSession; }
public void assertFindsByRoadName(String analyzedRoadname) { FullTextSession fullTextSession = Search.getFullTextSession( openSession() ); Transaction tx = fullTextSession.beginTransaction(); TermQuery ftQuery = new TermQuery( new Term( "stops.roadName", analyzedRoadname ) ); FullTextQuery query = fullTextSession.createFullTextQuery( ftQuery, BusLine.class ); query.setProjection( "busLineName" ); assertEquals( 1, query.list().size() ); List results = query.list(); String resultName = (String) ( (Object[]) results.get( 0 ) )[0]; assertEquals( "Linea 64", resultName ); tx.commit(); fullTextSession.close(); }
@Test public void testBlogAndArticleAreNotIndexedInRemovedStatus() throws Exception { setAllBlogEntriesToStatus( BlogStatus.REMOVED ); Transaction tx = fullTextSession.beginTransaction(); List<Blog> blogEntries = getBlogEntries(); assertThat( blogEntries ).doesNotContain( blog ); assertThat( blogEntries ).as( "Article is inherently intercepted" ).doesNotContain( article ); tx.commit(); }
@After public void deleteTestData() throws Exception { FullTextSession fullTextSession = Search.getFullTextSession( openSession() ); Transaction tx = fullTextSession.beginTransaction(); fullTextSession.delete( new Explorer( 1 ) ); fullTextSession.delete( new Explorer( 2 ) ); fullTextSession.delete( new Explorer( 3 ) ); fullTextSession.delete( new Territory( 1 ) ); fullTextSession.delete( new Territory( 2 ) ); fullTextSession.delete( new Territory( 3 ) ); tx.commit(); fullTextSession.close(); }
@Test public void testEnoughTime() { Transaction tx = fts.beginTransaction(); FullTextQuery hibernateQuery = fts.createFullTextQuery( matchAllQuery, Clock.class ); hibernateQuery.setTimeout( 5, TimeUnit.MINUTES ); List results = hibernateQuery.list(); assertFalse( hibernateQuery.hasPartialResults() ); assertEquals( 1000, results.size() ); tx.commit(); }
@Test public void testTimeout() { Transaction tx = fts.beginTransaction(); assertCorrectNumberOfClocksNoTimeout(); assertTimeoutOccursOnList(); assertTimeoutOccursOnIterate(); assertTimeoutOccursOnScroll(); tx.commit(); }
private void assertNumberOfIndexedEntitiesForTypes(int expectedCount, Class<?>... types) { try ( FullTextSession fullTextSession = Search.getFullTextSession( openSession() ) ) { Transaction tx = fullTextSession.beginTransaction(); org.hibernate.query.Query query = fullTextSession.createFullTextQuery( new MatchAllDocsQuery(), types ); @SuppressWarnings("unchecked") List<Object> results = (List<Object>) query.list(); assertEquals( "Incorrect document count for type: " + Arrays.toString( types ), expectedCount, results.size() ); tx.commit(); } }
@Test public void testBlogAndArticleAreIndexedInPublishedStatus() throws Exception { setAllBlogEntriesToStatus( BlogStatus.PUBLISHED ); Transaction tx = fullTextSession.beginTransaction(); List<Blog> blogEntries = getBlogEntries(); assertThat( blogEntries ).contains( blog ); assertThat( blogEntries ).as( "Article is inherently intercepted" ).contains( article ); assertThat( blogEntries ).as( "TotalArticle is explicitly not intercepted" ).contains( totalArticle ); tx.commit(); }
public int countBusLinesByFullText() { FullTextSession fullTextSession = Search.getFullTextSession( openSession() ); Transaction tx = fullTextSession.beginTransaction(); org.apache.lucene.search.Query ftQuery = new MatchAllDocsQuery(); FullTextQuery query = fullTextSession.createFullTextQuery( ftQuery, BusLine.class ); int count = query.list().size(); tx.commit(); fullTextSession.close(); return count; }
private void verifyMatchExistsWithName(String fieldName, String fieldValue) { FullTextSession fullTextSession = Search.getFullTextSession( openSession() ); try { Transaction transaction = fullTextSession.beginTransaction(); Query q = new TermQuery( new Term( fieldName, fieldValue ) ); FullTextQuery fullTextQuery = fullTextSession.createFullTextQuery( q ); int resultSize = fullTextQuery.getResultSize(); assertEquals( 1, resultSize ); @SuppressWarnings("unchecked") List<Person> list = fullTextQuery.list(); assertEquals( 1, list.size() ); transaction.commit(); } finally { fullTextSession.close(); } }