Example usage for org.springframework.data.mongodb.core.mapping.event MongoMappingEvent getSource

List of usage examples for org.springframework.data.mongodb.core.mapping.event MongoMappingEvent getSource

Introduction

In this page you can find the example usage for org.springframework.data.mongodb.core.mapping.event MongoMappingEvent getSource.

Prototype

@SuppressWarnings({ "unchecked" })
    @Override
    public T getSource() 

Source Link

Usage

From source file:org.moserp.common.repository.CreateIdListener.java

@Override
public void onApplicationEvent(MongoMappingEvent<?> event) {
    if (!(event instanceof BeforeSaveEvent)) {
        return;//  w w w .  jav  a  2 s.  c o  m
    }
    if (!IdentifiableEntity.class.isAssignableFrom(event.getSource().getClass())) {
        return;
    }
    IdentifiableEntity source = (IdentifiableEntity) event.getSource();
    if (source.getId() != null) {
        return;
    }
    DBObject dbObject = event.getDBObject();
    String id = sequenceService.getNextIt(event.getSource().getClass());
    source.setId(id);
    dbObject.put("_id", id);
}

From source file:org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener.java

public void onApplicationEvent(MongoMappingEvent<?> event) {

    if (event instanceof AfterLoadEvent) {
        AfterLoadEvent<?> afterLoadEvent = (AfterLoadEvent<?>) event;

        if (domainClass.isAssignableFrom(afterLoadEvent.getType())) {
            onAfterLoad(event.getDBObject());
        }/*from w w w. j  a  v a  2  s  . c  o  m*/

        return;
    }

    @SuppressWarnings("unchecked")
    E source = (E) event.getSource();

    // Check for matching domain type and invoke callbacks
    if (source != null && !domainClass.isAssignableFrom(source.getClass())) {
        return;
    }

    if (event instanceof BeforeConvertEvent) {
        onBeforeConvert(source);
    } else if (event instanceof BeforeSaveEvent) {
        onBeforeSave(source, event.getDBObject());
    } else if (event instanceof AfterSaveEvent) {
        onAfterSave(source, event.getDBObject());
    } else if (event instanceof AfterConvertEvent) {
        onAfterConvert(event.getDBObject(), source);
    }
}