[hibernate-issues] [Hibernate-JIRA] Resolved: (HSEARCH-954) BackendQueueProcessor should specify behaviour for the case of null passed to applyWork and applyStream work

Hardy Ferentschik (JIRA) noreply at atlassian.com
Tue Oct 25 11:09:23 EDT 2011


     [ http://opensource.atlassian.com/projects/hibernate/browse/HSEARCH-954?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hardy Ferentschik resolved HSEARCH-954.
---------------------------------------

    Resolution: Fixed

> BackendQueueProcessor should specify behaviour for the case of null passed to applyWork and applyStream work
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: HSEARCH-954
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HSEARCH-954
>             Project: Hibernate Search
>          Issue Type: Bug
>          Components: engine
>    Affects Versions: 4.0.0.CR1
>            Reporter: Hardy Ferentschik
>            Assignee: Sanne Grinovero
>             Fix For: 4.0.0.CR2
>
>
> I think IllegalArgumentException would make sense. A testcase could look like this:
> {code}
> package org.hibernate.search.test.backend;
> import javax.persistence.Entity;
> import javax.persistence.Id;
> import org.junit.Test;
> import org.hibernate.search.annotations.Indexed;
> import org.hibernate.search.backend.impl.lucene.LuceneBackendQueueProcessor;
> import org.hibernate.search.engine.spi.EntityIndexBinder;
> import org.hibernate.search.impl.MutableSearchFactory;
> import org.hibernate.search.indexes.impl.DirectoryBasedIndexManager;
> import org.hibernate.search.indexes.spi.IndexManager;
> import org.hibernate.search.test.SearchTestCase;
> public class BackQueueProcessorTest extends SearchTestCase {
> 	@Test
> 	public void testNullWorkThrowsIllegalArgumentException() {
> 		LuceneBackendQueueProcessor backend = getBackendQueueProcessor();
> 		try {
> 			backend.applyStreamWork( null );
> 			fail( "Should throw IllegalArgumentException" );
> 		}
> 		catch ( IllegalArgumentException i ) {
> 			// pass
> 		}
> 		try {
> 			backend.applyWork( null );
> 			fail( "Should throw IllegalArgumentException" );
> 		}
> 		catch ( IllegalArgumentException i ) {
> 			// pass
> 		}
> 	}
> 	private LuceneBackendQueueProcessor getBackendQueueProcessor() {
> 		MutableSearchFactory searchFactory = (MutableSearchFactory) getSearchFactory();
> 		EntityIndexBinder indexBindingForEntity = searchFactory.getIndexBindingForEntity( Foo.class );
> 		IndexManager[] indexManagers = indexBindingForEntity.getIndexManagers();
> 		assertEquals( 1, indexManagers.length );
> 		DirectoryBasedIndexManager indexManager = (DirectoryBasedIndexManager) indexManagers[0];
> 		return (LuceneBackendQueueProcessor) indexManager.getBackendQueueProcessor();
> 	}
> 	@Override
> 	protected void configure(org.hibernate.cfg.Configuration cfg) {
> 		super.configure( cfg );
> 	}
> 	@Override
> 	protected Class<?>[] getAnnotatedClasses() {
> 		return new Class[] { Foo.class };
> 	}
> 	@Entity
> 	@Indexed
> 	public class Foo {
> 		@Id
> 		int id;
> 	}
> }
> {code}
> At the moment _NullPointerException_ is thrown

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list