001
014
015 package com.liferay.portal.service.persistence;
016
017 import com.liferay.portal.kernel.dao.orm.ORMException;
018 import com.liferay.portal.kernel.dao.orm.Session;
019 import com.liferay.portal.kernel.util.InitialThreadLocal;
020 import com.liferay.portal.model.BaseModel;
021 import com.liferay.portal.model.ClassedModel;
022
023
028 public class BatchSessionImpl implements BatchSession {
029
030 public void delete(Session session, BaseModel<?> model)
031 throws ORMException {
032
033 if (!session.contains(model)) {
034 ClassedModel classedModel = model;
035
036 model = (BaseModel<?>)session.get(
037 classedModel.getModelClass(), model.getPrimaryKeyObj());
038 }
039
040 session.delete(model);
041 }
042
043 public boolean isEnabled() {
044 return _enabled.get();
045 }
046
047 public void setEnabled(boolean enabled) {
048 _enabled.set(enabled);
049 }
050
051 public void update(Session session, BaseModel<?> model, boolean merge)
052 throws ORMException {
053
054 if (model.isNew()) {
055 session.save(model);
056
057 model.setNew(false);
058 }
059 else {
060 session.merge(model);
061 }
062 }
063
064 private static ThreadLocal<Boolean> _enabled =
065 new InitialThreadLocal<Boolean>(
066 BatchSessionImpl.class + "._enabled", false);
067
068 }