throws SystemException {
guestbook = toUnwrappedModel(guestbook);
boolean isNew = guestbook.isNew();
GuestbookModelImpl guestbookModelImpl = (GuestbookModelImpl)guestbook;
if (Validator.isNull(guestbook.getUuid())) {
String uuid = PortalUUIDUtil.generate();
guestbook.setUuid(uuid);
}
Session session = null;
try {
session = openSession();
if (guestbook.isNew()) {
session.save(guestbook);
guestbook.setNew(false);
}
else {
session.merge(guestbook);
}
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
if (isNew || !GuestbookModelImpl.COLUMN_BITMASK_ENABLED) {
FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
}
else {
if ((guestbookModelImpl.getColumnBitmask() &
FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_UUID.getColumnBitmask()) != 0) {
Object[] args = new Object[] {
guestbookModelImpl.getOriginalUuid()
};
FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_UUID, args);
FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_UUID,
args);
args = new Object[] { guestbookModelImpl.getUuid() };
FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_UUID, args);
FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_UUID,
args);
}
if ((guestbookModelImpl.getColumnBitmask() &
FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_UUID_C.getColumnBitmask()) != 0) {
Object[] args = new Object[] {
guestbookModelImpl.getOriginalUuid(),
guestbookModelImpl.getOriginalCompanyId()
};
FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_UUID_C, args);
FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_UUID_C,
args);
args = new Object[] {
guestbookModelImpl.getUuid(),
guestbookModelImpl.getCompanyId()
};
FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_UUID_C, args);
FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_UUID_C,
args);
}
if ((guestbookModelImpl.getColumnBitmask() &
FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_GROUPID.getColumnBitmask()) != 0) {
Object[] args = new Object[] {
guestbookModelImpl.getOriginalGroupId()
};
FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_GROUPID, args);
FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_GROUPID,
args);
args = new Object[] { guestbookModelImpl.getGroupId() };
FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_GROUPID, args);
FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_GROUPID,
args);
}
if ((guestbookModelImpl.getColumnBitmask() &
FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_NAME.getColumnBitmask()) != 0) {
Object[] args = new Object[] {
guestbookModelImpl.getOriginalGroupId(),
guestbookModelImpl.getOriginalName()
};
FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_NAME, args);
FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_NAME,
args);
args = new Object[] {
guestbookModelImpl.getGroupId(),
guestbookModelImpl.getName()
};
FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_NAME, args);
FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_NAME,
args);