Example usage for org.hibernate.event.spi MergeEvent setResult

List of usage examples for org.hibernate.event.spi MergeEvent setResult

Introduction

In this page you can find the example usage for org.hibernate.event.spi MergeEvent setResult.

Prototype

public void setResult(Object result) 

Source Link

Usage

From source file:org.granite.tide.hibernate4.HibernateDataChangeMergeListener.java

License:Open Source License

@Override
public void onMerge(MergeEvent event) throws HibernateException {
    if (event.getOriginal() instanceof ChangeSetProxy || event.getOriginal() instanceof ChangeSet) {
        ChangeSet changeSet = event.getOriginal() instanceof ChangeSet ? (ChangeSet) event.getOriginal()
                : ((ChangeSetProxy) event.getOriginal()).getChangeSetProxyData();
        Object result = new ChangeSetApplier(new HibernatePersistenceAdapter(event.getSession()))
                .applyChanges(changeSet)[0];
        event.setResult(result);
        return;//from  w  w  w.ja va 2 s  . c o m
    }

    try {
        wrappedListener.onMerge(event);
    } catch (StaleObjectStateException e) {
        HibernateOptimisticLockException.rethrowOptimisticLockException(event.getSession(), e);
    }
}

From source file:org.granite.tide.hibernate4.HibernateDataChangeMergeListener.java

License:Open Source License

@SuppressWarnings("rawtypes")
@Override/*w  ww.  j  ava 2s.c  o m*/
public void onMerge(MergeEvent event, Map copiedAlready) throws HibernateException {
    if (event.getOriginal() instanceof ChangeSetProxy || event.getOriginal() instanceof ChangeSet) {
        ChangeSet changeSet = event.getOriginal() instanceof ChangeSet ? (ChangeSet) event.getOriginal()
                : ((ChangeSetProxy) event.getOriginal()).getChangeSetProxyData();
        Object result = new ChangeSetApplier(new HibernatePersistenceAdapter(event.getSession()))
                .applyChanges(changeSet)[0];
        event.setResult(result);
        return;
    }

    try {
        wrappedListener.onMerge(event, copiedAlready);
    } catch (StaleObjectStateException e) {
        HibernateOptimisticLockException.rethrowOptimisticLockException(event.getSession(), e);
    }
}