[hibernate-issues] [Hibernate-JIRA] Updated: (HSEARCH-954) BackendQueueProcessor should specify behaviour for the case of null passed to applyWork and applyStream work
Sanne Grinovero (JIRA)
noreply at atlassian.com
Mon Oct 24 12:32:19 EDT 2011
[ http://opensource.atlassian.com/projects/hibernate/browse/HSEARCH-954?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sanne Grinovero updated HSEARCH-954:
------------------------------------
Fix Version/s: (was: 4.0.0.Final)
4.0.0.CR2
> 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