protected void checkResult(CollectionListeners listeners, CollectionListeners.Listener listenerExpected, Entity ownerExpected, Collection collExpected, int index) { assertSame( listenerExpected, listeners.getListenersCalled().get( index ) ); assertSame( ownerExpected, ( ( AbstractCollectionEvent ) listeners.getEvents().get( index ) ).getAffectedOwnerOrNull() ); assertEquals( ownerExpected.getId(), ( ( AbstractCollectionEvent ) listeners.getEvents().get( index ) ).getAffectedOwnerIdOrNull() ); assertEquals( ownerExpected.getClass().getName(), ( (AbstractCollectionEvent) listeners.getEvents().get( index ) ).getAffectedOwnerEntityName() ); assertSame( collExpected, ( ( AbstractCollectionEvent ) listeners.getEvents().get( index ) ).getCollection() ); }
protected void checkListener( MultipleCollectionListeners listeners, MultipleCollectionListeners.Listener listenerExpected, org.hibernate.test.event.collection.Entity ownerExpected, List<? extends org.hibernate.test.event.collection.Entity> expectedCollectionEntrySnapshot, int index) { AbstractCollectionEvent event = listeners .getEvents().get(index); assertSame(listenerExpected, listeners.getListenersCalled().get(index)); assertEquals(ownerExpected, event.getAffectedOwnerOrNull()); assertEquals(ownerExpected.getId(), event.getAffectedOwnerIdOrNull()); assertEquals(ownerExpected.getClass().getName(), event.getAffectedOwnerEntityName()); if (event instanceof PreCollectionUpdateEvent) { Serializable snapshot = listeners.getSnapshots().get(index); assertEquals(expectedCollectionEntrySnapshot, snapshot); } if (event instanceof PreCollectionRemoveEvent) { Serializable snapshot = listeners.getSnapshots().get(index); assertEquals(expectedCollectionEntrySnapshot, snapshot); } if (event instanceof PostCollectionRecreateEvent) { Serializable snapshot = listeners.getSnapshots().get(index); assertEquals(expectedCollectionEntrySnapshot, snapshot); } }
getEnversService(), event.getAffectedOwnerIdOrNull(), event.getAffectedOwnerOrNull()
relatedId, referencingPropertyName, event.getAffectedOwnerOrNull(), rd, revType, getEnversService(), event.getAffectedOwnerIdOrNull(), event.getAffectedOwnerOrNull()
protected void processCollectionEvent(AbstractCollectionEvent event) { if ( state.eventsDisabled() ) { return; } Object entity = event.getAffectedOwnerOrNull(); if ( entity == null ) { //Hibernate cannot determine every single time the owner especially in case detached objects are involved // or property-ref is used //Should log really but we don't know if we're interested in this collection for indexing return; } PersistentCollection persistentCollection = event.getCollection(); final String collectionRole; if ( persistentCollection != null ) { collectionRole = persistentCollection.getRole(); } else { collectionRole = null; } AbstractDocumentBuilder documentBuilder = getDocumentBuilder( entity ); if ( documentBuilder != null && documentBuilder.collectionChangeRequiresIndexUpdate( collectionRole ) ) { Serializable id = getId( entity, event ); if ( id == null ) { log.idCannotBeExtracted( event.getAffectedOwnerEntityName() ); return; } processWork( tenantIdentifier( event ), entity, id, WorkType.COLLECTION, event, false ); } }
Object entity = event.getAffectedOwnerOrNull(); if ( entity == null ) {
relatedId, referencingPropertyName, event.getAffectedOwnerOrNull(), rd, revType, getAuditService(), event.getAffectedOwnerIdOrNull(), event.getAffectedOwnerOrNull()
getAuditService(), event.getAffectedOwnerIdOrNull(), event.getAffectedOwnerOrNull()