/** * Dispose of the fulltext session if it hasn't already been closed. * * @param session The fulltext session to dispose of. */ @Override public void dispose(final FullTextSession session) { if (session != null && session.isOpen()) { logger.trace("Disposing of hibernate fulltext session."); session.close(); } }
@After @Override public void tearDown() throws Exception { fullTextSession.close(); super.tearDown(); }
@After @Override public void tearDown() throws Exception { fullTextSession.close(); super.tearDown(); }
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; }
private void purgeAll() { FullTextSession fullTextSession = builder.openFullTextSession(); try { Transaction tx = fullTextSession.beginTransaction(); fullTextSession.purgeAll( Object.class ); tx.commit(); } finally { fullTextSession.close(); } }
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; }
@Test public void testObjectTypeFilteringTwoClasses() throws Exception { Session session = openSession(); Transaction tx = session.beginTransaction(); FullTextSession fullTextSession = Search.getFullTextSession( session ); FullTextQuery fullTextQuery = fullTextSession.createFullTextQuery( luceneQuery, Author.class, Music.class ); List result = fullTextQuery.list(); assertEquals( "Should match the author and music only", 2, result.size() ); tx.commit(); fullTextSession.close(); }
@Test public void testObjectTypeFilteringSingleClass() throws Exception { Session session = openSession(); Transaction tx = session.beginTransaction(); FullTextSession fullTextSession = Search.getFullTextSession( session ); FullTextQuery fullTextQuery = fullTextSession.createFullTextQuery( luceneQuery, Music.class ); List result = fullTextQuery.list(); assertEquals( "Should match the music only", 1, result.size() ); tx.commit(); fullTextSession.close(); }
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; }
@Override @Before public void setUp() throws Exception { super.setUp(); FullTextSession fullTextSession = Search.getFullTextSession( openSession() ); fullTextSession.close(); }
private int countBooksInIndex() { Session session = openSession(); FullTextSession fullTextSession = Search.getFullTextSession( session ); fullTextSession.beginTransaction(); FullTextQuery fullTextQuery = fullTextSession.createFullTextQuery( new MatchAllDocsQuery() ); int size = fullTextQuery.list().size(); fullTextSession.getTransaction().commit(); fullTextSession.close(); return size; }
private void purgeAll(Class<?> entityType, String tenantId) throws IOException { FullTextSession session = Search.getFullTextSession( openSessionWithTenantId( tenantId ) ); session.purgeAll( entityType ); session.flushToIndexes(); session.close(); String indexName = getExtendedSearchIntegrator().getIndexBindings().get( entityType ) .getIndexManagerSelector().all().iterator().next().getIndexName(); assertThat( getNumberOfDocumentsInIndexByQuery( indexName, DocumentBuilderIndexedEntity.TENANT_ID_FIELDNAME, tenantId ) ).isEqualTo( 0 ); }
private void massIndexFooInstances(MassIndexerProgressMonitor monitor) throws InterruptedException { FullTextSession fullTextSession = Search.getFullTextSession( openSession() ); MassIndexer massIndexer = fullTextSession.createIndexer( Foo.class ); massIndexer.progressMonitor( monitor ); massIndexer.startAndWait(); fullTextSession.close(); }
@Override @After public void tearDown() throws Exception { // check for ongoing transaction which is an indicator that something went wrong // don't call the cleanup methods in this case. Otherwise the original error get swallowed if ( fullTextSession.getTransaction().getStatus() != TransactionStatus.ACTIVE ) { deleteTestContractors(); fullTextSession.close(); } super.tearDown(); }
private void rebuildIndexWithMassIndexer(Class<?> entityType, String tenantId) throws Exception { FullTextSession session = Search.getFullTextSession( openSessionWithTenantId( tenantId ) ); session.createIndexer( entityType ).purgeAllOnStart( true ).startAndWait(); session.close(); String indexName = getExtendedSearchIntegrator().getIndexBindings().get( entityType ) .getIndexManagerSelector().all().iterator().next().getIndexName(); assertThat( getNumberOfDocumentsInIndexByQuery( indexName, DocumentBuilderIndexedEntity.TENANT_ID_FIELDNAME, tenantId ) ).isGreaterThan( 0 ); }
@Test public void testMultipleUpdatesTriggeredByContainedIn() { PersonalContact contact = createTestData(); FullTextSession s = Search.getFullTextSession( openSession( ) ); s.getTransaction().begin(); contact = (PersonalContact) s.load( PersonalContact.class, contact.getId() ); contact.setEmail( "spam@hibernate.org" ); s.getTransaction().commit(); s.close(); }
private List<Clock> searchAll(String tenantId) { FullTextSession session = Search.getFullTextSession( openSessionWithTenantId( tenantId ) ); QueryBuilder queryBuilder = session.getSearchFactory().buildQueryBuilder().forEntity( Clock.class ).get(); Query luceneQuery = queryBuilder.all().createQuery(); Transaction transaction = session.beginTransaction(); @SuppressWarnings("unchecked") List<Clock> list = session.createFullTextQuery( luceneQuery ).list(); transaction.commit(); session.clear(); session.close(); return list; }
@Test public void testMassIndexerWithProxyTest() throws InterruptedException { prepareEntities(); verifyMatchExistsWithName( "lazyEntity.name", TEST_NAME_CONTENT ); verifyMatchExistsWithName( "lazyEntity2.name", TEST_NAME_CONTENT ); FullTextSession fullTextSession = Search.getFullTextSession( openSession() ); MassIndexer massIndexer = fullTextSession.createIndexer( IndexedEmbeddedProxyRootEntity.class ); massIndexer.startAndWait(); fullTextSession.close(); verifyMatchExistsWithName( "lazyEntity.name", TEST_NAME_CONTENT ); verifyMatchExistsWithName( "lazyEntity2.name", TEST_NAME_CONTENT ); }
private void purgeAll(Class<?> entityType) throws IOException { FullTextSession session = Search.getFullTextSession( openSession() ); session.purgeAll( entityType ); session.flushToIndexes(); final int numDocs; try ( IndexReader indexReader = session.getSearchFactory().getIndexReaderAccessor().open( entityType ) ) { numDocs = indexReader.numDocs(); } session.close(); assertThat( numDocs ).isEqualTo( 0 ); }
private List<Clock> searchModel(String searchString, String tenantId) { FullTextSession session = Search.getFullTextSession( openSessionWithTenantId( tenantId ) ); QueryBuilder queryBuilder = session.getSearchFactory().buildQueryBuilder().forEntity( Clock.class ).get(); Query luceneQuery = queryBuilder.keyword().wildcard().onField( "brand" ).matching( searchString ).createQuery(); Transaction transaction = session.beginTransaction(); @SuppressWarnings("unchecked") List<Clock> list = session.createFullTextQuery( luceneQuery ).list(); transaction.commit(); session.clear(); session.close(); return list; }