protected Foo toUnwrappedModel(Foo foo) { if (foo instanceof FooImpl) { return foo; } FooImpl fooImpl = new FooImpl(); fooImpl.setNew(foo.isNew()); fooImpl.setPrimaryKey(foo.getPrimaryKey()); fooImpl.setFooId(foo.getFooId()); fooImpl.setGroupId(foo.getGroupId()); fooImpl.setCompanyId(foo.getCompanyId()); fooImpl.setUserId(foo.getUserId()); fooImpl.setUserName(foo.getUserName()); fooImpl.setCreateDate(foo.getCreateDate()); fooImpl.setModifiedDate(foo.getModifiedDate()); fooImpl.setField1(foo.getField1()); fooImpl.setField2(foo.isField2()); fooImpl.setField3(foo.getField3()); fooImpl.setField4(foo.getField4()); fooImpl.setField5(foo.getField5()); return fooImpl; }
/** * Caches the foo in the entity cache if it is enabled. * * @param foo the foo */ @Override public void cacheResult(Foo foo) { EntityCacheUtil.putResult( FooModelImpl.ENTITY_CACHE_ENABLED, FooImpl.class, foo.getPrimaryKey(), foo); foo.resetOriginalValues(); }
/** * Clears the cache for the foo. * * <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(Foo foo) { EntityCacheUtil.removeResult( FooModelImpl.ENTITY_CACHE_ENABLED, FooImpl.class, foo.getPrimaryKey()); FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION); FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION); }
@Override public Foo updateImpl(com.liferay.testpacl.model.Foo foo) { foo = toUnwrappedModel(foo); boolean isNew = foo.isNew(); FooModelImpl fooModelImpl = (FooModelImpl) foo; Session session = null; try { session = openSession(); if (foo.isNew()) { session.save(foo); foo.setNew(false); } else { session.merge(foo); } } catch (Exception e) { throw processException(e); } finally { closeSession(session); } FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION); if (isNew || !FooModelImpl.COLUMN_BITMASK_ENABLED) { FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION); } else { if ((fooModelImpl.getColumnBitmask() & FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_FIELD2.getColumnBitmask()) != 0) { Object[] args = new Object[] {fooModelImpl.getOriginalField2()}; FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_FIELD2, args); FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_FIELD2, args); args = new Object[] {fooModelImpl.getField2()}; FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_FIELD2, args); FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_FIELD2, args); } } EntityCacheUtil.putResult( FooModelImpl.ENTITY_CACHE_ENABLED, FooImpl.class, foo.getPrimaryKey(), foo, false); foo.resetOriginalValues(); return foo; }
/** * Caches the foos in the entity cache if it is enabled. * * @param foos the foos */ @Override public void cacheResult(List<Foo> foos) { for (Foo foo : foos) { if (EntityCacheUtil.getResult( FooModelImpl.ENTITY_CACHE_ENABLED, FooImpl.class, foo.getPrimaryKey()) == null) { cacheResult(foo); } else { foo.resetOriginalValues(); } } }
@Override public boolean equals(Object obj) { if (obj == null) { return false; } Foo foo = null; try { foo = (Foo) obj; } catch (ClassCastException cce) { return false; } long primaryKey = foo.getPrimaryKey(); if (getPrimaryKey() == primaryKey) { return true; } else { return false; } }