package com.evolveum.midpoint.repo.sql.util;
import com.evolveum.midpoint.repo.sql.data.common.RObject;
import org.apache.commons.lang.StringUtils;
import org.hibernate.HibernateException;
import org.hibernate.engine.spi.SessionImplementor;
import org.hibernate.id.IdentifierGenerator;
import java.io.Serializable;
import java.util.UUID;
/**
* @author lazyman
*/
public class ObjectOidGenerator implements IdentifierGenerator {
@Override
public Serializable generate(SessionImplementor session, Object object) throws HibernateException {
RObject rObject = (RObject) object;
if (StringUtils.isNotEmpty(rObject.getOid())) {
return rObject.getOid();
}
return UUID.randomUUID().toString();
}
}