@Override public JIRAChangeItem updateImpl(com.liferay.socialcoding.model.JIRAChangeItem jiraChangeItem) throws SystemException { jiraChangeItem = toUnwrappedModel(jiraChangeItem); boolean isNew = jiraChangeItem.isNew(); JIRAChangeItemModelImpl jiraChangeItemModelImpl = (JIRAChangeItemModelImpl) jiraChangeItem; Session session = null; try { session = openSession(); if (jiraChangeItem.isNew()) { session.save(jiraChangeItem); jiraChangeItem.setNew(false); } else { session.merge(jiraChangeItem); } } catch (Exception e) { throw processException(e); } finally { closeSession(session); } FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION); if (isNew || !JIRAChangeItemModelImpl.COLUMN_BITMASK_ENABLED) { FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION); } else { if ((jiraChangeItemModelImpl.getColumnBitmask() & FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_JIRACHANGEGROUPID.getColumnBitmask()) != 0) { Object[] args = new Object[] {jiraChangeItemModelImpl.getOriginalJiraChangeGroupId()}; FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_JIRACHANGEGROUPID, args); FinderCacheUtil.removeResult( FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_JIRACHANGEGROUPID, args); args = new Object[] {jiraChangeItemModelImpl.getJiraChangeGroupId()}; FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_JIRACHANGEGROUPID, args); FinderCacheUtil.removeResult( FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_JIRACHANGEGROUPID, args); } } EntityCacheUtil.putResult( JIRAChangeItemModelImpl.ENTITY_CACHE_ENABLED, JIRAChangeItemImpl.class, jiraChangeItem.getPrimaryKey(), jiraChangeItem, false); jiraChangeItem.resetOriginalValues(); return jiraChangeItem; }
@Override public JIRAChangeItem updateImpl( com.liferay.socialcoding.model.JIRAChangeItem jiraChangeItem, boolean merge) throws SystemException { jiraChangeItem = toUnwrappedModel(jiraChangeItem); Session session = null; try { session = openSession(); BatchSessionUtil.update(session, jiraChangeItem, merge); jiraChangeItem.setNew(false); } catch (Exception e) { throw processException(e); } finally { closeSession(session); } FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST); EntityCacheUtil.putResult( JIRAChangeItemModelImpl.ENTITY_CACHE_ENABLED, JIRAChangeItemImpl.class, jiraChangeItem.getPrimaryKey(), jiraChangeItem); return jiraChangeItem; }
/** * Creates a new j i r a change item with the primary key. Does not add the j i r a change item to * the database. * * @param jiraChangeItemId the primary key for the new j i r a change item * @return the new j i r a change item */ public JIRAChangeItem create(long jiraChangeItemId) { JIRAChangeItem jiraChangeItem = new JIRAChangeItemImpl(); jiraChangeItem.setNew(true); jiraChangeItem.setPrimaryKey(jiraChangeItemId); return jiraChangeItem; }
/** * Caches the j i r a change item in the entity cache if it is enabled. * * @param jiraChangeItem the j i r a change item */ public void cacheResult(JIRAChangeItem jiraChangeItem) { EntityCacheUtil.putResult( JIRAChangeItemModelImpl.ENTITY_CACHE_ENABLED, JIRAChangeItemImpl.class, jiraChangeItem.getPrimaryKey(), jiraChangeItem); jiraChangeItem.resetOriginalValues(); }
/** * Caches the j i r a change items in the entity cache if it is enabled. * * @param jiraChangeItems the j i r a change items */ public void cacheResult(List<JIRAChangeItem> jiraChangeItems) { for (JIRAChangeItem jiraChangeItem : jiraChangeItems) { if (EntityCacheUtil.getResult( JIRAChangeItemModelImpl.ENTITY_CACHE_ENABLED, JIRAChangeItemImpl.class, jiraChangeItem.getPrimaryKey()) == null) { cacheResult(jiraChangeItem); } } }
@Override public void clearCache(List<JIRAChangeItem> jiraChangeItems) { FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION); FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION); for (JIRAChangeItem jiraChangeItem : jiraChangeItems) { EntityCacheUtil.removeResult( JIRAChangeItemModelImpl.ENTITY_CACHE_ENABLED, JIRAChangeItemImpl.class, jiraChangeItem.getPrimaryKey()); } }
@Override protected JIRAChangeItem removeImpl(JIRAChangeItem jiraChangeItem) throws SystemException { jiraChangeItem = toUnwrappedModel(jiraChangeItem); Session session = null; try { session = openSession(); BatchSessionUtil.delete(session, jiraChangeItem); } catch (Exception e) { throw processException(e); } finally { closeSession(session); } FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST); FinderCacheUtil.removeResult(FINDER_PATH_FIND_ALL, FINDER_ARGS_EMPTY); EntityCacheUtil.removeResult( JIRAChangeItemModelImpl.ENTITY_CACHE_ENABLED, JIRAChangeItemImpl.class, jiraChangeItem.getPrimaryKey()); return jiraChangeItem; }
@Override protected JIRAChangeItem removeImpl(JIRAChangeItem jiraChangeItem) throws SystemException { jiraChangeItem = toUnwrappedModel(jiraChangeItem); Session session = null; try { session = openSession(); if (!session.contains(jiraChangeItem)) { jiraChangeItem = (JIRAChangeItem) session.get(JIRAChangeItemImpl.class, jiraChangeItem.getPrimaryKeyObj()); } if (jiraChangeItem != null) { session.delete(jiraChangeItem); } } catch (Exception e) { throw processException(e); } finally { closeSession(session); } if (jiraChangeItem != null) { clearCache(jiraChangeItem); } return jiraChangeItem; }
/** * Adds the j i r a change item to the database. Also notifies the appropriate model listeners. * * @param jiraChangeItem the j i r a change item * @return the j i r a change item that was added */ @Indexable(type = IndexableType.REINDEX) @Override public JIRAChangeItem addJIRAChangeItem(JIRAChangeItem jiraChangeItem) { jiraChangeItem.setNew(true); return jiraChangeItemPersistence.update(jiraChangeItem); }
/** * Clears the cache for the j i r a change item. * * <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(JIRAChangeItem jiraChangeItem) { EntityCacheUtil.removeResult( JIRAChangeItemModelImpl.ENTITY_CACHE_ENABLED, JIRAChangeItemImpl.class, jiraChangeItem.getPrimaryKey()); FinderCacheUtil.removeResult(FINDER_PATH_FIND_ALL, FINDER_ARGS_EMPTY); }
protected JIRAChangeItem toUnwrappedModel(JIRAChangeItem jiraChangeItem) { if (jiraChangeItem instanceof JIRAChangeItemImpl) { return jiraChangeItem; } JIRAChangeItemImpl jiraChangeItemImpl = new JIRAChangeItemImpl(); jiraChangeItemImpl.setNew(jiraChangeItem.isNew()); jiraChangeItemImpl.setPrimaryKey(jiraChangeItem.getPrimaryKey()); jiraChangeItemImpl.setJiraChangeItemId(jiraChangeItem.getJiraChangeItemId()); jiraChangeItemImpl.setJiraChangeGroupId(jiraChangeItem.getJiraChangeGroupId()); jiraChangeItemImpl.setField(jiraChangeItem.getField()); jiraChangeItemImpl.setOldValue(jiraChangeItem.getOldValue()); jiraChangeItemImpl.setOldString(jiraChangeItem.getOldString()); jiraChangeItemImpl.setNewValue(jiraChangeItem.getNewValue()); jiraChangeItemImpl.setNewString(jiraChangeItem.getNewString()); return jiraChangeItemImpl; }
/** * Returns an ordered range of all the j i r a change items where jiraChangeGroupId = ?. * * <p>Useful when paginating results. Returns a maximum of <code>end - start</code> instances. * <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result * set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start * </code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} * will return the full result set. If <code>orderByComparator</code> is specified, then the query * will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and * pagination is required (<code>start</code> and <code>end</code> are not {@link * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default * ORDER BY logic from {@link com.liferay.socialcoding.model.impl.JIRAChangeItemModelImpl}. If * both <code>orderByComparator</code> and pagination are absent, for performance reasons, the * query will not have an ORDER BY clause and the returned result set will be sorted on by the * primary key in an ascending order. * * @param jiraChangeGroupId the jira change group ID * @param start the lower bound of the range of j i r a change items * @param end the upper bound of the range of j i r a change items (not inclusive) * @param orderByComparator the comparator to order the results by (optionally <code>null</code>) * @return the ordered range of matching j i r a change items * @throws SystemException if a system exception occurred */ @Override public List<JIRAChangeItem> findByJiraChangeGroupId( long jiraChangeGroupId, int start, int end, OrderByComparator orderByComparator) throws SystemException { boolean pagination = true; FinderPath finderPath = null; Object[] finderArgs = null; if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) && (orderByComparator == null)) { pagination = false; finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_JIRACHANGEGROUPID; finderArgs = new Object[] {jiraChangeGroupId}; } else { finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_JIRACHANGEGROUPID; finderArgs = new Object[] {jiraChangeGroupId, start, end, orderByComparator}; } List<JIRAChangeItem> list = (List<JIRAChangeItem>) FinderCacheUtil.getResult(finderPath, finderArgs, this); if ((list != null) && !list.isEmpty()) { for (JIRAChangeItem jiraChangeItem : list) { if ((jiraChangeGroupId != jiraChangeItem.getJiraChangeGroupId())) { list = null; break; } } } if (list == null) { StringBundler query = null; if (orderByComparator != null) { query = new StringBundler(3 + (orderByComparator.getOrderByFields().length * 3)); } else { query = new StringBundler(3); } query.append(_SQL_SELECT_JIRACHANGEITEM_WHERE); query.append(_FINDER_COLUMN_JIRACHANGEGROUPID_JIRACHANGEGROUPID_2); if (orderByComparator != null) { appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, orderByComparator); } else if (pagination) { query.append(JIRAChangeItemModelImpl.ORDER_BY_JPQL); } String sql = query.toString(); Session session = null; try { session = openSession(); Query q = session.createQuery(sql); QueryPos qPos = QueryPos.getInstance(q); qPos.add(jiraChangeGroupId); if (!pagination) { list = (List<JIRAChangeItem>) QueryUtil.list(q, getDialect(), start, end, false); Collections.sort(list); list = new UnmodifiableList<JIRAChangeItem>(list); } else { list = (List<JIRAChangeItem>) QueryUtil.list(q, getDialect(), start, end); } cacheResult(list); FinderCacheUtil.putResult(finderPath, finderArgs, list); } catch (Exception e) { FinderCacheUtil.removeResult(finderPath, finderArgs); throw processException(e); } finally { closeSession(session); } } return list; }