/** * Caches the task in the entity cache if it is enabled. * * @param task the task */ @Override public void cacheResult(Task task) { EntityCacheUtil.putResult( TaskModelImpl.ENTITY_CACHE_ENABLED, TaskImpl.class, task.getPrimaryKey(), task); task.resetOriginalValues(); }
/** * Clears the cache for the task. * * <p>The {@link com.liferay.portal.kernel.dao.orm.EntityCache} and {@link * com.liferay.portal.kernel.dao.orm.FinderCache} are both cleared by this method. */ @Override public void clearCache(Task task) { EntityCacheUtil.removeResult( TaskModelImpl.ENTITY_CACHE_ENABLED, TaskImpl.class, task.getPrimaryKey()); FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION); FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION); }
/** * Caches the tasks in the entity cache if it is enabled. * * @param tasks the tasks */ @Override public void cacheResult(List<Task> tasks) { for (Task task : tasks) { if (EntityCacheUtil.getResult( TaskModelImpl.ENTITY_CACHE_ENABLED, TaskImpl.class, task.getPrimaryKey()) == null) { cacheResult(task); } else { task.resetOriginalValues(); } } }
@Override public Task updateImpl(com.rivetlogic.portlet.todo.model.Task task) throws SystemException { task = toUnwrappedModel(task); boolean isNew = task.isNew(); TaskModelImpl taskModelImpl = (TaskModelImpl) task; Session session = null; try { session = openSession(); if (task.isNew()) { session.save(task); task.setNew(false); } else { session.merge(task); } } catch (Exception e) { throw processException(e); } finally { closeSession(session); } FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION); if (isNew || !TaskModelImpl.COLUMN_BITMASK_ENABLED) { FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION); } else { if ((taskModelImpl.getColumnBitmask() & FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_USERID.getColumnBitmask()) != 0) { Object[] args = new Object[] {taskModelImpl.getOriginalUserId()}; FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_USERID, args); FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_USERID, args); args = new Object[] {taskModelImpl.getUserId()}; FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_USERID, args); FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_USERID, args); } } EntityCacheUtil.putResult( TaskModelImpl.ENTITY_CACHE_ENABLED, TaskImpl.class, task.getPrimaryKey(), task); return task; }
protected Task toUnwrappedModel(Task task) { if (task instanceof TaskImpl) { return task; } TaskImpl taskImpl = new TaskImpl(); taskImpl.setNew(task.isNew()); taskImpl.setPrimaryKey(task.getPrimaryKey()); taskImpl.setTaskId(task.getTaskId()); taskImpl.setUserId(task.getUserId()); taskImpl.setName(task.getName()); taskImpl.setDescription(task.getDescription()); taskImpl.setDate(task.getDate()); taskImpl.setCompleted(task.getCompleted()); taskImpl.setCalendarBookingId(task.getCalendarBookingId()); return taskImpl; }