Package org.hibernate.search.test.configuration.integration

Source Code of org.hibernate.search.test.configuration.integration.DuplicationStrategyTest

/*
* Hibernate Search, full-text search for your domain model
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.search.test.configuration.integration;

import org.hibernate.event.service.internal.EventListenerRegistryImpl;
import org.hibernate.event.service.spi.EventListenerGroup;
import org.hibernate.event.service.spi.EventListenerRegistry;
import org.hibernate.event.spi.EventType;
import org.hibernate.event.spi.PostInsertEventListener;
import org.hibernate.search.event.impl.FullTextIndexEventListener;
import org.hibernate.search.hcore.impl.HibernateSearchIntegrator;
import org.junit.Test;

import static org.junit.Assert.assertTrue;

/**
* @author Hardy Ferentschik
*/
public class DuplicationStrategyTest {

  @Test
  public void testMultipleRegistrationOfEventListenerKeepsOriginalListener() {
    EventListenerRegistry eventListenerRegistry = new EventListenerRegistryImpl();

    EventListenerGroup<PostInsertEventListener> eventEventListenerGroup = eventListenerRegistry.getEventListenerGroup(
        EventType.POST_INSERT
    );
    assertTrue( "We should start of with no listeners", eventEventListenerGroup.count() == 0 );

    FullTextIndexEventListener firstFullTextIndexEventListener = new FullTextIndexEventListener();

    eventListenerRegistry.setListeners( EventType.POST_INSERT, firstFullTextIndexEventListener );
    eventListenerRegistry.addDuplicationStrategy(
        new HibernateSearchIntegrator.DuplicationStrategyImpl(
            FullTextIndexEventListener.class
        )
    );
    eventListenerRegistry.appendListeners( EventType.POST_INSERT, new FullTextIndexEventListener() );

    assertTrue(
        "We should only be one listener, but we have " + eventEventListenerGroup.count(),
        eventEventListenerGroup.count() == 1
    );
    assertTrue(
        "The instances should match",
        firstFullTextIndexEventListener == eventEventListenerGroup.listeners().iterator().next()
    );
  }

}

TOP

Related Classes of org.hibernate.search.test.configuration.integration.DuplicationStrategyTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.