0001: /**
0002: * Copyright (c) 2000-2008 Liferay, Inc. All rights reserved.
0003: *
0004: * Permission is hereby granted, free of charge, to any person obtaining a copy
0005: * of this software and associated documentation files (the "Software"), to deal
0006: * in the Software without restriction, including without limitation the rights
0007: * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
0008: * copies of the Software, and to permit persons to whom the Software is
0009: * furnished to do so, subject to the following conditions:
0010: *
0011: * The above copyright notice and this permission notice shall be included in
0012: * all copies or substantial portions of the Software.
0013: *
0014: * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
0015: * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
0016: * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
0017: * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
0018: * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
0019: * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
0020: * SOFTWARE.
0021: */package com.liferay.portlet.messageboards.service.persistence;
0022:
0023: import com.liferay.portal.SystemException;
0024: import com.liferay.portal.kernel.dao.DynamicQuery;
0025: import com.liferay.portal.kernel.dao.DynamicQueryInitializer;
0026: import com.liferay.portal.kernel.util.GetterUtil;
0027: import com.liferay.portal.kernel.util.OrderByComparator;
0028: import com.liferay.portal.kernel.util.StringMaker;
0029: import com.liferay.portal.kernel.util.StringPool;
0030: import com.liferay.portal.kernel.util.Validator;
0031: import com.liferay.portal.model.ModelListener;
0032: import com.liferay.portal.service.persistence.BasePersistence;
0033: import com.liferay.portal.spring.hibernate.FinderCache;
0034: import com.liferay.portal.spring.hibernate.HibernateUtil;
0035: import com.liferay.portal.util.PropsUtil;
0036:
0037: import com.liferay.portlet.messageboards.NoSuchMessageFlagException;
0038: import com.liferay.portlet.messageboards.model.MBMessageFlag;
0039: import com.liferay.portlet.messageboards.model.impl.MBMessageFlagImpl;
0040: import com.liferay.portlet.messageboards.model.impl.MBMessageFlagModelImpl;
0041:
0042: import com.liferay.util.dao.hibernate.QueryUtil;
0043:
0044: import org.apache.commons.logging.Log;
0045: import org.apache.commons.logging.LogFactory;
0046:
0047: import org.hibernate.Query;
0048: import org.hibernate.Session;
0049:
0050: import java.util.Collections;
0051: import java.util.Iterator;
0052: import java.util.List;
0053:
0054: /**
0055: * <a href="MBMessageFlagPersistenceImpl.java.html"><b><i>View Source</i></b></a>
0056: *
0057: * @author Brian Wing Shun Chan
0058: *
0059: */
0060: public class MBMessageFlagPersistenceImpl extends BasePersistence
0061: implements MBMessageFlagPersistence {
0062: public MBMessageFlag create(long messageFlagId) {
0063: MBMessageFlag mbMessageFlag = new MBMessageFlagImpl();
0064:
0065: mbMessageFlag.setNew(true);
0066: mbMessageFlag.setPrimaryKey(messageFlagId);
0067:
0068: return mbMessageFlag;
0069: }
0070:
0071: public MBMessageFlag remove(long messageFlagId)
0072: throws NoSuchMessageFlagException, SystemException {
0073: Session session = null;
0074:
0075: try {
0076: session = openSession();
0077:
0078: MBMessageFlag mbMessageFlag = (MBMessageFlag) session.get(
0079: MBMessageFlagImpl.class, new Long(messageFlagId));
0080:
0081: if (mbMessageFlag == null) {
0082: if (_log.isWarnEnabled()) {
0083: _log
0084: .warn("No MBMessageFlag exists with the primary key "
0085: + messageFlagId);
0086: }
0087:
0088: throw new NoSuchMessageFlagException(
0089: "No MBMessageFlag exists with the primary key "
0090: + messageFlagId);
0091: }
0092:
0093: return remove(mbMessageFlag);
0094: } catch (NoSuchMessageFlagException nsee) {
0095: throw nsee;
0096: } catch (Exception e) {
0097: throw HibernateUtil.processException(e);
0098: } finally {
0099: closeSession(session);
0100: }
0101: }
0102:
0103: public MBMessageFlag remove(MBMessageFlag mbMessageFlag)
0104: throws SystemException {
0105: ModelListener listener = _getListener();
0106:
0107: if (listener != null) {
0108: listener.onBeforeRemove(mbMessageFlag);
0109: }
0110:
0111: mbMessageFlag = removeImpl(mbMessageFlag);
0112:
0113: if (listener != null) {
0114: listener.onAfterRemove(mbMessageFlag);
0115: }
0116:
0117: return mbMessageFlag;
0118: }
0119:
0120: protected MBMessageFlag removeImpl(MBMessageFlag mbMessageFlag)
0121: throws SystemException {
0122: Session session = null;
0123:
0124: try {
0125: session = openSession();
0126:
0127: session.delete(mbMessageFlag);
0128:
0129: session.flush();
0130:
0131: return mbMessageFlag;
0132: } catch (Exception e) {
0133: throw HibernateUtil.processException(e);
0134: } finally {
0135: closeSession(session);
0136:
0137: FinderCache.clearCache(MBMessageFlag.class.getName());
0138: }
0139: }
0140:
0141: public MBMessageFlag update(MBMessageFlag mbMessageFlag)
0142: throws SystemException {
0143: return update(mbMessageFlag, false);
0144: }
0145:
0146: public MBMessageFlag update(MBMessageFlag mbMessageFlag,
0147: boolean merge) throws SystemException {
0148: ModelListener listener = _getListener();
0149:
0150: boolean isNew = mbMessageFlag.isNew();
0151:
0152: if (listener != null) {
0153: if (isNew) {
0154: listener.onBeforeCreate(mbMessageFlag);
0155: } else {
0156: listener.onBeforeUpdate(mbMessageFlag);
0157: }
0158: }
0159:
0160: mbMessageFlag = updateImpl(mbMessageFlag, merge);
0161:
0162: if (listener != null) {
0163: if (isNew) {
0164: listener.onAfterCreate(mbMessageFlag);
0165: } else {
0166: listener.onAfterUpdate(mbMessageFlag);
0167: }
0168: }
0169:
0170: return mbMessageFlag;
0171: }
0172:
0173: public MBMessageFlag updateImpl(
0174: com.liferay.portlet.messageboards.model.MBMessageFlag mbMessageFlag,
0175: boolean merge) throws SystemException {
0176: Session session = null;
0177:
0178: try {
0179: session = openSession();
0180:
0181: if (merge) {
0182: session.merge(mbMessageFlag);
0183: } else {
0184: if (mbMessageFlag.isNew()) {
0185: session.save(mbMessageFlag);
0186: }
0187: }
0188:
0189: session.flush();
0190:
0191: mbMessageFlag.setNew(false);
0192:
0193: return mbMessageFlag;
0194: } catch (Exception e) {
0195: throw HibernateUtil.processException(e);
0196: } finally {
0197: closeSession(session);
0198:
0199: FinderCache.clearCache(MBMessageFlag.class.getName());
0200: }
0201: }
0202:
0203: public MBMessageFlag findByPrimaryKey(long messageFlagId)
0204: throws NoSuchMessageFlagException, SystemException {
0205: MBMessageFlag mbMessageFlag = fetchByPrimaryKey(messageFlagId);
0206:
0207: if (mbMessageFlag == null) {
0208: if (_log.isWarnEnabled()) {
0209: _log
0210: .warn("No MBMessageFlag exists with the primary key "
0211: + messageFlagId);
0212: }
0213:
0214: throw new NoSuchMessageFlagException(
0215: "No MBMessageFlag exists with the primary key "
0216: + messageFlagId);
0217: }
0218:
0219: return mbMessageFlag;
0220: }
0221:
0222: public MBMessageFlag fetchByPrimaryKey(long messageFlagId)
0223: throws SystemException {
0224: Session session = null;
0225:
0226: try {
0227: session = openSession();
0228:
0229: return (MBMessageFlag) session.get(MBMessageFlagImpl.class,
0230: new Long(messageFlagId));
0231: } catch (Exception e) {
0232: throw HibernateUtil.processException(e);
0233: } finally {
0234: closeSession(session);
0235: }
0236: }
0237:
0238: public List findByUserId(long userId) throws SystemException {
0239: boolean finderClassNameCacheEnabled = MBMessageFlagModelImpl.CACHE_ENABLED;
0240: String finderClassName = MBMessageFlag.class.getName();
0241: String finderMethodName = "findByUserId";
0242: String[] finderParams = new String[] { Long.class.getName() };
0243: Object[] finderArgs = new Object[] { new Long(userId) };
0244:
0245: Object result = null;
0246:
0247: if (finderClassNameCacheEnabled) {
0248: result = FinderCache.getResult(finderClassName,
0249: finderMethodName, finderParams, finderArgs,
0250: getSessionFactory());
0251: }
0252:
0253: if (result == null) {
0254: Session session = null;
0255:
0256: try {
0257: session = openSession();
0258:
0259: StringMaker query = new StringMaker();
0260:
0261: query
0262: .append("FROM com.liferay.portlet.messageboards.model.MBMessageFlag WHERE ");
0263:
0264: query.append("userId = ?");
0265:
0266: query.append(" ");
0267:
0268: Query q = session.createQuery(query.toString());
0269:
0270: int queryPos = 0;
0271:
0272: q.setLong(queryPos++, userId);
0273:
0274: List list = q.list();
0275:
0276: FinderCache.putResult(finderClassNameCacheEnabled,
0277: finderClassName, finderMethodName,
0278: finderParams, finderArgs, list);
0279:
0280: return list;
0281: } catch (Exception e) {
0282: throw HibernateUtil.processException(e);
0283: } finally {
0284: closeSession(session);
0285: }
0286: } else {
0287: return (List) result;
0288: }
0289: }
0290:
0291: public List findByUserId(long userId, int begin, int end)
0292: throws SystemException {
0293: return findByUserId(userId, begin, end, null);
0294: }
0295:
0296: public List findByUserId(long userId, int begin, int end,
0297: OrderByComparator obc) throws SystemException {
0298: boolean finderClassNameCacheEnabled = MBMessageFlagModelImpl.CACHE_ENABLED;
0299: String finderClassName = MBMessageFlag.class.getName();
0300: String finderMethodName = "findByUserId";
0301: String[] finderParams = new String[] { Long.class.getName(),
0302:
0303: "java.lang.Integer", "java.lang.Integer",
0304: "com.liferay.portal.kernel.util.OrderByComparator" };
0305: Object[] finderArgs = new Object[] { new Long(userId),
0306:
0307: String.valueOf(begin), String.valueOf(end), String.valueOf(obc) };
0308:
0309: Object result = null;
0310:
0311: if (finderClassNameCacheEnabled) {
0312: result = FinderCache.getResult(finderClassName,
0313: finderMethodName, finderParams, finderArgs,
0314: getSessionFactory());
0315: }
0316:
0317: if (result == null) {
0318: Session session = null;
0319:
0320: try {
0321: session = openSession();
0322:
0323: StringMaker query = new StringMaker();
0324:
0325: query
0326: .append("FROM com.liferay.portlet.messageboards.model.MBMessageFlag WHERE ");
0327:
0328: query.append("userId = ?");
0329:
0330: query.append(" ");
0331:
0332: if (obc != null) {
0333: query.append("ORDER BY ");
0334: query.append(obc.getOrderBy());
0335: }
0336:
0337: Query q = session.createQuery(query.toString());
0338:
0339: int queryPos = 0;
0340:
0341: q.setLong(queryPos++, userId);
0342:
0343: List list = QueryUtil.list(q, getDialect(), begin, end);
0344:
0345: FinderCache.putResult(finderClassNameCacheEnabled,
0346: finderClassName, finderMethodName,
0347: finderParams, finderArgs, list);
0348:
0349: return list;
0350: } catch (Exception e) {
0351: throw HibernateUtil.processException(e);
0352: } finally {
0353: closeSession(session);
0354: }
0355: } else {
0356: return (List) result;
0357: }
0358: }
0359:
0360: public MBMessageFlag findByUserId_First(long userId,
0361: OrderByComparator obc) throws NoSuchMessageFlagException,
0362: SystemException {
0363: List list = findByUserId(userId, 0, 1, obc);
0364:
0365: if (list.size() == 0) {
0366: StringMaker msg = new StringMaker();
0367:
0368: msg.append("No MBMessageFlag exists with the key {");
0369:
0370: msg.append("userId=" + userId);
0371:
0372: msg.append(StringPool.CLOSE_CURLY_BRACE);
0373:
0374: throw new NoSuchMessageFlagException(msg.toString());
0375: } else {
0376: return (MBMessageFlag) list.get(0);
0377: }
0378: }
0379:
0380: public MBMessageFlag findByUserId_Last(long userId,
0381: OrderByComparator obc) throws NoSuchMessageFlagException,
0382: SystemException {
0383: int count = countByUserId(userId);
0384:
0385: List list = findByUserId(userId, count - 1, count, obc);
0386:
0387: if (list.size() == 0) {
0388: StringMaker msg = new StringMaker();
0389:
0390: msg.append("No MBMessageFlag exists with the key {");
0391:
0392: msg.append("userId=" + userId);
0393:
0394: msg.append(StringPool.CLOSE_CURLY_BRACE);
0395:
0396: throw new NoSuchMessageFlagException(msg.toString());
0397: } else {
0398: return (MBMessageFlag) list.get(0);
0399: }
0400: }
0401:
0402: public MBMessageFlag[] findByUserId_PrevAndNext(long messageFlagId,
0403: long userId, OrderByComparator obc)
0404: throws NoSuchMessageFlagException, SystemException {
0405: MBMessageFlag mbMessageFlag = findByPrimaryKey(messageFlagId);
0406:
0407: int count = countByUserId(userId);
0408:
0409: Session session = null;
0410:
0411: try {
0412: session = openSession();
0413:
0414: StringMaker query = new StringMaker();
0415:
0416: query
0417: .append("FROM com.liferay.portlet.messageboards.model.MBMessageFlag WHERE ");
0418:
0419: query.append("userId = ?");
0420:
0421: query.append(" ");
0422:
0423: if (obc != null) {
0424: query.append("ORDER BY ");
0425: query.append(obc.getOrderBy());
0426: }
0427:
0428: Query q = session.createQuery(query.toString());
0429:
0430: int queryPos = 0;
0431:
0432: q.setLong(queryPos++, userId);
0433:
0434: Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
0435: mbMessageFlag);
0436:
0437: MBMessageFlag[] array = new MBMessageFlagImpl[3];
0438:
0439: array[0] = (MBMessageFlag) objArray[0];
0440: array[1] = (MBMessageFlag) objArray[1];
0441: array[2] = (MBMessageFlag) objArray[2];
0442:
0443: return array;
0444: } catch (Exception e) {
0445: throw HibernateUtil.processException(e);
0446: } finally {
0447: closeSession(session);
0448: }
0449: }
0450:
0451: public List findByMessageId(long messageId) throws SystemException {
0452: boolean finderClassNameCacheEnabled = MBMessageFlagModelImpl.CACHE_ENABLED;
0453: String finderClassName = MBMessageFlag.class.getName();
0454: String finderMethodName = "findByMessageId";
0455: String[] finderParams = new String[] { Long.class.getName() };
0456: Object[] finderArgs = new Object[] { new Long(messageId) };
0457:
0458: Object result = null;
0459:
0460: if (finderClassNameCacheEnabled) {
0461: result = FinderCache.getResult(finderClassName,
0462: finderMethodName, finderParams, finderArgs,
0463: getSessionFactory());
0464: }
0465:
0466: if (result == null) {
0467: Session session = null;
0468:
0469: try {
0470: session = openSession();
0471:
0472: StringMaker query = new StringMaker();
0473:
0474: query
0475: .append("FROM com.liferay.portlet.messageboards.model.MBMessageFlag WHERE ");
0476:
0477: query.append("messageId = ?");
0478:
0479: query.append(" ");
0480:
0481: Query q = session.createQuery(query.toString());
0482:
0483: int queryPos = 0;
0484:
0485: q.setLong(queryPos++, messageId);
0486:
0487: List list = q.list();
0488:
0489: FinderCache.putResult(finderClassNameCacheEnabled,
0490: finderClassName, finderMethodName,
0491: finderParams, finderArgs, list);
0492:
0493: return list;
0494: } catch (Exception e) {
0495: throw HibernateUtil.processException(e);
0496: } finally {
0497: closeSession(session);
0498: }
0499: } else {
0500: return (List) result;
0501: }
0502: }
0503:
0504: public List findByMessageId(long messageId, int begin, int end)
0505: throws SystemException {
0506: return findByMessageId(messageId, begin, end, null);
0507: }
0508:
0509: public List findByMessageId(long messageId, int begin, int end,
0510: OrderByComparator obc) throws SystemException {
0511: boolean finderClassNameCacheEnabled = MBMessageFlagModelImpl.CACHE_ENABLED;
0512: String finderClassName = MBMessageFlag.class.getName();
0513: String finderMethodName = "findByMessageId";
0514: String[] finderParams = new String[] { Long.class.getName(),
0515:
0516: "java.lang.Integer", "java.lang.Integer",
0517: "com.liferay.portal.kernel.util.OrderByComparator" };
0518: Object[] finderArgs = new Object[] { new Long(messageId),
0519:
0520: String.valueOf(begin), String.valueOf(end), String.valueOf(obc) };
0521:
0522: Object result = null;
0523:
0524: if (finderClassNameCacheEnabled) {
0525: result = FinderCache.getResult(finderClassName,
0526: finderMethodName, finderParams, finderArgs,
0527: getSessionFactory());
0528: }
0529:
0530: if (result == null) {
0531: Session session = null;
0532:
0533: try {
0534: session = openSession();
0535:
0536: StringMaker query = new StringMaker();
0537:
0538: query
0539: .append("FROM com.liferay.portlet.messageboards.model.MBMessageFlag WHERE ");
0540:
0541: query.append("messageId = ?");
0542:
0543: query.append(" ");
0544:
0545: if (obc != null) {
0546: query.append("ORDER BY ");
0547: query.append(obc.getOrderBy());
0548: }
0549:
0550: Query q = session.createQuery(query.toString());
0551:
0552: int queryPos = 0;
0553:
0554: q.setLong(queryPos++, messageId);
0555:
0556: List list = QueryUtil.list(q, getDialect(), begin, end);
0557:
0558: FinderCache.putResult(finderClassNameCacheEnabled,
0559: finderClassName, finderMethodName,
0560: finderParams, finderArgs, list);
0561:
0562: return list;
0563: } catch (Exception e) {
0564: throw HibernateUtil.processException(e);
0565: } finally {
0566: closeSession(session);
0567: }
0568: } else {
0569: return (List) result;
0570: }
0571: }
0572:
0573: public MBMessageFlag findByMessageId_First(long messageId,
0574: OrderByComparator obc) throws NoSuchMessageFlagException,
0575: SystemException {
0576: List list = findByMessageId(messageId, 0, 1, obc);
0577:
0578: if (list.size() == 0) {
0579: StringMaker msg = new StringMaker();
0580:
0581: msg.append("No MBMessageFlag exists with the key {");
0582:
0583: msg.append("messageId=" + messageId);
0584:
0585: msg.append(StringPool.CLOSE_CURLY_BRACE);
0586:
0587: throw new NoSuchMessageFlagException(msg.toString());
0588: } else {
0589: return (MBMessageFlag) list.get(0);
0590: }
0591: }
0592:
0593: public MBMessageFlag findByMessageId_Last(long messageId,
0594: OrderByComparator obc) throws NoSuchMessageFlagException,
0595: SystemException {
0596: int count = countByMessageId(messageId);
0597:
0598: List list = findByMessageId(messageId, count - 1, count, obc);
0599:
0600: if (list.size() == 0) {
0601: StringMaker msg = new StringMaker();
0602:
0603: msg.append("No MBMessageFlag exists with the key {");
0604:
0605: msg.append("messageId=" + messageId);
0606:
0607: msg.append(StringPool.CLOSE_CURLY_BRACE);
0608:
0609: throw new NoSuchMessageFlagException(msg.toString());
0610: } else {
0611: return (MBMessageFlag) list.get(0);
0612: }
0613: }
0614:
0615: public MBMessageFlag[] findByMessageId_PrevAndNext(
0616: long messageFlagId, long messageId, OrderByComparator obc)
0617: throws NoSuchMessageFlagException, SystemException {
0618: MBMessageFlag mbMessageFlag = findByPrimaryKey(messageFlagId);
0619:
0620: int count = countByMessageId(messageId);
0621:
0622: Session session = null;
0623:
0624: try {
0625: session = openSession();
0626:
0627: StringMaker query = new StringMaker();
0628:
0629: query
0630: .append("FROM com.liferay.portlet.messageboards.model.MBMessageFlag WHERE ");
0631:
0632: query.append("messageId = ?");
0633:
0634: query.append(" ");
0635:
0636: if (obc != null) {
0637: query.append("ORDER BY ");
0638: query.append(obc.getOrderBy());
0639: }
0640:
0641: Query q = session.createQuery(query.toString());
0642:
0643: int queryPos = 0;
0644:
0645: q.setLong(queryPos++, messageId);
0646:
0647: Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
0648: mbMessageFlag);
0649:
0650: MBMessageFlag[] array = new MBMessageFlagImpl[3];
0651:
0652: array[0] = (MBMessageFlag) objArray[0];
0653: array[1] = (MBMessageFlag) objArray[1];
0654: array[2] = (MBMessageFlag) objArray[2];
0655:
0656: return array;
0657: } catch (Exception e) {
0658: throw HibernateUtil.processException(e);
0659: } finally {
0660: closeSession(session);
0661: }
0662: }
0663:
0664: public MBMessageFlag findByU_M(long userId, long messageId)
0665: throws NoSuchMessageFlagException, SystemException {
0666: MBMessageFlag mbMessageFlag = fetchByU_M(userId, messageId);
0667:
0668: if (mbMessageFlag == null) {
0669: StringMaker msg = new StringMaker();
0670:
0671: msg.append("No MBMessageFlag exists with the key {");
0672:
0673: msg.append("userId=" + userId);
0674:
0675: msg.append(", ");
0676: msg.append("messageId=" + messageId);
0677:
0678: msg.append(StringPool.CLOSE_CURLY_BRACE);
0679:
0680: if (_log.isWarnEnabled()) {
0681: _log.warn(msg.toString());
0682: }
0683:
0684: throw new NoSuchMessageFlagException(msg.toString());
0685: }
0686:
0687: return mbMessageFlag;
0688: }
0689:
0690: public MBMessageFlag fetchByU_M(long userId, long messageId)
0691: throws SystemException {
0692: boolean finderClassNameCacheEnabled = MBMessageFlagModelImpl.CACHE_ENABLED;
0693: String finderClassName = MBMessageFlag.class.getName();
0694: String finderMethodName = "fetchByU_M";
0695: String[] finderParams = new String[] { Long.class.getName(),
0696: Long.class.getName() };
0697: Object[] finderArgs = new Object[] { new Long(userId),
0698: new Long(messageId) };
0699:
0700: Object result = null;
0701:
0702: if (finderClassNameCacheEnabled) {
0703: result = FinderCache.getResult(finderClassName,
0704: finderMethodName, finderParams, finderArgs,
0705: getSessionFactory());
0706: }
0707:
0708: if (result == null) {
0709: Session session = null;
0710:
0711: try {
0712: session = openSession();
0713:
0714: StringMaker query = new StringMaker();
0715:
0716: query
0717: .append("FROM com.liferay.portlet.messageboards.model.MBMessageFlag WHERE ");
0718:
0719: query.append("userId = ?");
0720:
0721: query.append(" AND ");
0722:
0723: query.append("messageId = ?");
0724:
0725: query.append(" ");
0726:
0727: Query q = session.createQuery(query.toString());
0728:
0729: int queryPos = 0;
0730:
0731: q.setLong(queryPos++, userId);
0732:
0733: q.setLong(queryPos++, messageId);
0734:
0735: List list = q.list();
0736:
0737: FinderCache.putResult(finderClassNameCacheEnabled,
0738: finderClassName, finderMethodName,
0739: finderParams, finderArgs, list);
0740:
0741: if (list.size() == 0) {
0742: return null;
0743: } else {
0744: return (MBMessageFlag) list.get(0);
0745: }
0746: } catch (Exception e) {
0747: throw HibernateUtil.processException(e);
0748: } finally {
0749: closeSession(session);
0750: }
0751: } else {
0752: List list = (List) result;
0753:
0754: if (list.size() == 0) {
0755: return null;
0756: } else {
0757: return (MBMessageFlag) list.get(0);
0758: }
0759: }
0760: }
0761:
0762: public List findWithDynamicQuery(
0763: DynamicQueryInitializer queryInitializer)
0764: throws SystemException {
0765: Session session = null;
0766:
0767: try {
0768: session = openSession();
0769:
0770: DynamicQuery query = queryInitializer.initialize(session);
0771:
0772: return query.list();
0773: } catch (Exception e) {
0774: throw HibernateUtil.processException(e);
0775: } finally {
0776: closeSession(session);
0777: }
0778: }
0779:
0780: public List findWithDynamicQuery(
0781: DynamicQueryInitializer queryInitializer, int begin, int end)
0782: throws SystemException {
0783: Session session = null;
0784:
0785: try {
0786: session = openSession();
0787:
0788: DynamicQuery query = queryInitializer.initialize(session);
0789:
0790: query.setLimit(begin, end);
0791:
0792: return query.list();
0793: } catch (Exception e) {
0794: throw HibernateUtil.processException(e);
0795: } finally {
0796: closeSession(session);
0797: }
0798: }
0799:
0800: public List findAll() throws SystemException {
0801: return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
0802: }
0803:
0804: public List findAll(int begin, int end) throws SystemException {
0805: return findAll(begin, end, null);
0806: }
0807:
0808: public List findAll(int begin, int end, OrderByComparator obc)
0809: throws SystemException {
0810: boolean finderClassNameCacheEnabled = MBMessageFlagModelImpl.CACHE_ENABLED;
0811: String finderClassName = MBMessageFlag.class.getName();
0812: String finderMethodName = "findAll";
0813: String[] finderParams = new String[] { "java.lang.Integer",
0814: "java.lang.Integer",
0815: "com.liferay.portal.kernel.util.OrderByComparator" };
0816: Object[] finderArgs = new Object[] { String.valueOf(begin),
0817: String.valueOf(end), String.valueOf(obc) };
0818:
0819: Object result = null;
0820:
0821: if (finderClassNameCacheEnabled) {
0822: result = FinderCache.getResult(finderClassName,
0823: finderMethodName, finderParams, finderArgs,
0824: getSessionFactory());
0825: }
0826:
0827: if (result == null) {
0828: Session session = null;
0829:
0830: try {
0831: session = openSession();
0832:
0833: StringMaker query = new StringMaker();
0834:
0835: query
0836: .append("FROM com.liferay.portlet.messageboards.model.MBMessageFlag ");
0837:
0838: if (obc != null) {
0839: query.append("ORDER BY ");
0840: query.append(obc.getOrderBy());
0841: }
0842:
0843: Query q = session.createQuery(query.toString());
0844:
0845: List list = QueryUtil.list(q, getDialect(), begin, end);
0846:
0847: if (obc == null) {
0848: Collections.sort(list);
0849: }
0850:
0851: FinderCache.putResult(finderClassNameCacheEnabled,
0852: finderClassName, finderMethodName,
0853: finderParams, finderArgs, list);
0854:
0855: return list;
0856: } catch (Exception e) {
0857: throw HibernateUtil.processException(e);
0858: } finally {
0859: closeSession(session);
0860: }
0861: } else {
0862: return (List) result;
0863: }
0864: }
0865:
0866: public void removeByUserId(long userId) throws SystemException {
0867: Iterator itr = findByUserId(userId).iterator();
0868:
0869: while (itr.hasNext()) {
0870: MBMessageFlag mbMessageFlag = (MBMessageFlag) itr.next();
0871:
0872: remove(mbMessageFlag);
0873: }
0874: }
0875:
0876: public void removeByMessageId(long messageId)
0877: throws SystemException {
0878: Iterator itr = findByMessageId(messageId).iterator();
0879:
0880: while (itr.hasNext()) {
0881: MBMessageFlag mbMessageFlag = (MBMessageFlag) itr.next();
0882:
0883: remove(mbMessageFlag);
0884: }
0885: }
0886:
0887: public void removeByU_M(long userId, long messageId)
0888: throws NoSuchMessageFlagException, SystemException {
0889: MBMessageFlag mbMessageFlag = findByU_M(userId, messageId);
0890:
0891: remove(mbMessageFlag);
0892: }
0893:
0894: public void removeAll() throws SystemException {
0895: Iterator itr = findAll().iterator();
0896:
0897: while (itr.hasNext()) {
0898: remove((MBMessageFlag) itr.next());
0899: }
0900: }
0901:
0902: public int countByUserId(long userId) throws SystemException {
0903: boolean finderClassNameCacheEnabled = MBMessageFlagModelImpl.CACHE_ENABLED;
0904: String finderClassName = MBMessageFlag.class.getName();
0905: String finderMethodName = "countByUserId";
0906: String[] finderParams = new String[] { Long.class.getName() };
0907: Object[] finderArgs = new Object[] { new Long(userId) };
0908:
0909: Object result = null;
0910:
0911: if (finderClassNameCacheEnabled) {
0912: result = FinderCache.getResult(finderClassName,
0913: finderMethodName, finderParams, finderArgs,
0914: getSessionFactory());
0915: }
0916:
0917: if (result == null) {
0918: Session session = null;
0919:
0920: try {
0921: session = openSession();
0922:
0923: StringMaker query = new StringMaker();
0924:
0925: query.append("SELECT COUNT(*) ");
0926: query
0927: .append("FROM com.liferay.portlet.messageboards.model.MBMessageFlag WHERE ");
0928:
0929: query.append("userId = ?");
0930:
0931: query.append(" ");
0932:
0933: Query q = session.createQuery(query.toString());
0934:
0935: int queryPos = 0;
0936:
0937: q.setLong(queryPos++, userId);
0938:
0939: Long count = null;
0940:
0941: Iterator itr = q.list().iterator();
0942:
0943: if (itr.hasNext()) {
0944: count = (Long) itr.next();
0945: }
0946:
0947: if (count == null) {
0948: count = new Long(0);
0949: }
0950:
0951: FinderCache.putResult(finderClassNameCacheEnabled,
0952: finderClassName, finderMethodName,
0953: finderParams, finderArgs, count);
0954:
0955: return count.intValue();
0956: } catch (Exception e) {
0957: throw HibernateUtil.processException(e);
0958: } finally {
0959: closeSession(session);
0960: }
0961: } else {
0962: return ((Long) result).intValue();
0963: }
0964: }
0965:
0966: public int countByMessageId(long messageId) throws SystemException {
0967: boolean finderClassNameCacheEnabled = MBMessageFlagModelImpl.CACHE_ENABLED;
0968: String finderClassName = MBMessageFlag.class.getName();
0969: String finderMethodName = "countByMessageId";
0970: String[] finderParams = new String[] { Long.class.getName() };
0971: Object[] finderArgs = new Object[] { new Long(messageId) };
0972:
0973: Object result = null;
0974:
0975: if (finderClassNameCacheEnabled) {
0976: result = FinderCache.getResult(finderClassName,
0977: finderMethodName, finderParams, finderArgs,
0978: getSessionFactory());
0979: }
0980:
0981: if (result == null) {
0982: Session session = null;
0983:
0984: try {
0985: session = openSession();
0986:
0987: StringMaker query = new StringMaker();
0988:
0989: query.append("SELECT COUNT(*) ");
0990: query
0991: .append("FROM com.liferay.portlet.messageboards.model.MBMessageFlag WHERE ");
0992:
0993: query.append("messageId = ?");
0994:
0995: query.append(" ");
0996:
0997: Query q = session.createQuery(query.toString());
0998:
0999: int queryPos = 0;
1000:
1001: q.setLong(queryPos++, messageId);
1002:
1003: Long count = null;
1004:
1005: Iterator itr = q.list().iterator();
1006:
1007: if (itr.hasNext()) {
1008: count = (Long) itr.next();
1009: }
1010:
1011: if (count == null) {
1012: count = new Long(0);
1013: }
1014:
1015: FinderCache.putResult(finderClassNameCacheEnabled,
1016: finderClassName, finderMethodName,
1017: finderParams, finderArgs, count);
1018:
1019: return count.intValue();
1020: } catch (Exception e) {
1021: throw HibernateUtil.processException(e);
1022: } finally {
1023: closeSession(session);
1024: }
1025: } else {
1026: return ((Long) result).intValue();
1027: }
1028: }
1029:
1030: public int countByU_M(long userId, long messageId)
1031: throws SystemException {
1032: boolean finderClassNameCacheEnabled = MBMessageFlagModelImpl.CACHE_ENABLED;
1033: String finderClassName = MBMessageFlag.class.getName();
1034: String finderMethodName = "countByU_M";
1035: String[] finderParams = new String[] { Long.class.getName(),
1036: Long.class.getName() };
1037: Object[] finderArgs = new Object[] { new Long(userId),
1038: new Long(messageId) };
1039:
1040: Object result = null;
1041:
1042: if (finderClassNameCacheEnabled) {
1043: result = FinderCache.getResult(finderClassName,
1044: finderMethodName, finderParams, finderArgs,
1045: getSessionFactory());
1046: }
1047:
1048: if (result == null) {
1049: Session session = null;
1050:
1051: try {
1052: session = openSession();
1053:
1054: StringMaker query = new StringMaker();
1055:
1056: query.append("SELECT COUNT(*) ");
1057: query
1058: .append("FROM com.liferay.portlet.messageboards.model.MBMessageFlag WHERE ");
1059:
1060: query.append("userId = ?");
1061:
1062: query.append(" AND ");
1063:
1064: query.append("messageId = ?");
1065:
1066: query.append(" ");
1067:
1068: Query q = session.createQuery(query.toString());
1069:
1070: int queryPos = 0;
1071:
1072: q.setLong(queryPos++, userId);
1073:
1074: q.setLong(queryPos++, messageId);
1075:
1076: Long count = null;
1077:
1078: Iterator itr = q.list().iterator();
1079:
1080: if (itr.hasNext()) {
1081: count = (Long) itr.next();
1082: }
1083:
1084: if (count == null) {
1085: count = new Long(0);
1086: }
1087:
1088: FinderCache.putResult(finderClassNameCacheEnabled,
1089: finderClassName, finderMethodName,
1090: finderParams, finderArgs, count);
1091:
1092: return count.intValue();
1093: } catch (Exception e) {
1094: throw HibernateUtil.processException(e);
1095: } finally {
1096: closeSession(session);
1097: }
1098: } else {
1099: return ((Long) result).intValue();
1100: }
1101: }
1102:
1103: public int countAll() throws SystemException {
1104: boolean finderClassNameCacheEnabled = MBMessageFlagModelImpl.CACHE_ENABLED;
1105: String finderClassName = MBMessageFlag.class.getName();
1106: String finderMethodName = "countAll";
1107: String[] finderParams = new String[] {};
1108: Object[] finderArgs = new Object[] {};
1109:
1110: Object result = null;
1111:
1112: if (finderClassNameCacheEnabled) {
1113: result = FinderCache.getResult(finderClassName,
1114: finderMethodName, finderParams, finderArgs,
1115: getSessionFactory());
1116: }
1117:
1118: if (result == null) {
1119: Session session = null;
1120:
1121: try {
1122: session = openSession();
1123:
1124: Query q = session
1125: .createQuery("SELECT COUNT(*) FROM com.liferay.portlet.messageboards.model.MBMessageFlag");
1126:
1127: Long count = null;
1128:
1129: Iterator itr = q.list().iterator();
1130:
1131: if (itr.hasNext()) {
1132: count = (Long) itr.next();
1133: }
1134:
1135: if (count == null) {
1136: count = new Long(0);
1137: }
1138:
1139: FinderCache.putResult(finderClassNameCacheEnabled,
1140: finderClassName, finderMethodName,
1141: finderParams, finderArgs, count);
1142:
1143: return count.intValue();
1144: } catch (Exception e) {
1145: throw HibernateUtil.processException(e);
1146: } finally {
1147: closeSession(session);
1148: }
1149: } else {
1150: return ((Long) result).intValue();
1151: }
1152: }
1153:
1154: protected void initDao() {
1155: }
1156:
1157: private static ModelListener _getListener() {
1158: if (Validator.isNotNull(_LISTENER)) {
1159: try {
1160: return (ModelListener) Class.forName(_LISTENER)
1161: .newInstance();
1162: } catch (Exception e) {
1163: _log.error(e);
1164: }
1165: }
1166:
1167: return null;
1168: }
1169:
1170: private static final String _LISTENER = GetterUtil
1171: .getString(PropsUtil
1172: .get("value.object.listener.com.liferay.portlet.messageboards.model.MBMessageFlag"));
1173: private static Log _log = LogFactory
1174: .getLog(MBMessageFlagPersistenceImpl.class);
1175: }
|