001    /**
002     * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portlet.social.service.persistence;
016    
017    import com.liferay.portal.NoSuchModelException;
018    import com.liferay.portal.kernel.annotation.BeanReference;
019    import com.liferay.portal.kernel.cache.CacheRegistryUtil;
020    import com.liferay.portal.kernel.dao.orm.EntityCacheUtil;
021    import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
022    import com.liferay.portal.kernel.dao.orm.FinderPath;
023    import com.liferay.portal.kernel.dao.orm.Query;
024    import com.liferay.portal.kernel.dao.orm.QueryPos;
025    import com.liferay.portal.kernel.dao.orm.QueryUtil;
026    import com.liferay.portal.kernel.dao.orm.Session;
027    import com.liferay.portal.kernel.exception.SystemException;
028    import com.liferay.portal.kernel.log.Log;
029    import com.liferay.portal.kernel.log.LogFactoryUtil;
030    import com.liferay.portal.kernel.util.GetterUtil;
031    import com.liferay.portal.kernel.util.InstanceFactory;
032    import com.liferay.portal.kernel.util.OrderByComparator;
033    import com.liferay.portal.kernel.util.StringBundler;
034    import com.liferay.portal.kernel.util.StringPool;
035    import com.liferay.portal.kernel.util.StringUtil;
036    import com.liferay.portal.model.ModelListener;
037    import com.liferay.portal.service.persistence.BatchSessionUtil;
038    import com.liferay.portal.service.persistence.ResourcePersistence;
039    import com.liferay.portal.service.persistence.UserPersistence;
040    import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
041    
042    import com.liferay.portlet.social.NoSuchEquityUserException;
043    import com.liferay.portlet.social.model.SocialEquityUser;
044    import com.liferay.portlet.social.model.impl.SocialEquityUserImpl;
045    import com.liferay.portlet.social.model.impl.SocialEquityUserModelImpl;
046    
047    import java.io.Serializable;
048    
049    import java.util.ArrayList;
050    import java.util.Collections;
051    import java.util.List;
052    
053    /**
054     * @author    Brian Wing Shun Chan
055     * @see       SocialEquityUserPersistence
056     * @see       SocialEquityUserUtil
057     * @generated
058     */
059    public class SocialEquityUserPersistenceImpl extends BasePersistenceImpl<SocialEquityUser>
060            implements SocialEquityUserPersistence {
061            public static final String FINDER_CLASS_NAME_ENTITY = SocialEquityUserImpl.class.getName();
062            public static final String FINDER_CLASS_NAME_LIST = FINDER_CLASS_NAME_ENTITY +
063                    ".List";
064            public static final FinderPath FINDER_PATH_FIND_BY_GROUPID = new FinderPath(SocialEquityUserModelImpl.ENTITY_CACHE_ENABLED,
065                            SocialEquityUserModelImpl.FINDER_CACHE_ENABLED,
066                            FINDER_CLASS_NAME_LIST, "findByGroupId",
067                            new String[] {
068                                    Long.class.getName(),
069                                    
070                            "java.lang.Integer", "java.lang.Integer",
071                                    "com.liferay.portal.kernel.util.OrderByComparator"
072                            });
073            public static final FinderPath FINDER_PATH_COUNT_BY_GROUPID = new FinderPath(SocialEquityUserModelImpl.ENTITY_CACHE_ENABLED,
074                            SocialEquityUserModelImpl.FINDER_CACHE_ENABLED,
075                            FINDER_CLASS_NAME_LIST, "countByGroupId",
076                            new String[] { Long.class.getName() });
077            public static final FinderPath FINDER_PATH_FIND_BY_GROUPRANKED = new FinderPath(SocialEquityUserModelImpl.ENTITY_CACHE_ENABLED,
078                            SocialEquityUserModelImpl.FINDER_CACHE_ENABLED,
079                            FINDER_CLASS_NAME_LIST, "findByGroupRanked",
080                            new String[] {
081                                    Long.class.getName(),
082                                    
083                            "java.lang.Integer", "java.lang.Integer",
084                                    "com.liferay.portal.kernel.util.OrderByComparator"
085                            });
086            public static final FinderPath FINDER_PATH_COUNT_BY_GROUPRANKED = new FinderPath(SocialEquityUserModelImpl.ENTITY_CACHE_ENABLED,
087                            SocialEquityUserModelImpl.FINDER_CACHE_ENABLED,
088                            FINDER_CLASS_NAME_LIST, "countByGroupRanked",
089                            new String[] { Long.class.getName() });
090            public static final FinderPath FINDER_PATH_FIND_BY_USERID = new FinderPath(SocialEquityUserModelImpl.ENTITY_CACHE_ENABLED,
091                            SocialEquityUserModelImpl.FINDER_CACHE_ENABLED,
092                            FINDER_CLASS_NAME_LIST, "findByUserId",
093                            new String[] {
094                                    Long.class.getName(),
095                                    
096                            "java.lang.Integer", "java.lang.Integer",
097                                    "com.liferay.portal.kernel.util.OrderByComparator"
098                            });
099            public static final FinderPath FINDER_PATH_COUNT_BY_USERID = new FinderPath(SocialEquityUserModelImpl.ENTITY_CACHE_ENABLED,
100                            SocialEquityUserModelImpl.FINDER_CACHE_ENABLED,
101                            FINDER_CLASS_NAME_LIST, "countByUserId",
102                            new String[] { Long.class.getName() });
103            public static final FinderPath FINDER_PATH_FIND_BY_RANK = new FinderPath(SocialEquityUserModelImpl.ENTITY_CACHE_ENABLED,
104                            SocialEquityUserModelImpl.FINDER_CACHE_ENABLED,
105                            FINDER_CLASS_NAME_LIST, "findByRank",
106                            new String[] {
107                                    Integer.class.getName(),
108                                    
109                            "java.lang.Integer", "java.lang.Integer",
110                                    "com.liferay.portal.kernel.util.OrderByComparator"
111                            });
112            public static final FinderPath FINDER_PATH_COUNT_BY_RANK = new FinderPath(SocialEquityUserModelImpl.ENTITY_CACHE_ENABLED,
113                            SocialEquityUserModelImpl.FINDER_CACHE_ENABLED,
114                            FINDER_CLASS_NAME_LIST, "countByRank",
115                            new String[] { Integer.class.getName() });
116            public static final FinderPath FINDER_PATH_FETCH_BY_G_U = new FinderPath(SocialEquityUserModelImpl.ENTITY_CACHE_ENABLED,
117                            SocialEquityUserModelImpl.FINDER_CACHE_ENABLED,
118                            FINDER_CLASS_NAME_ENTITY, "fetchByG_U",
119                            new String[] { Long.class.getName(), Long.class.getName() });
120            public static final FinderPath FINDER_PATH_COUNT_BY_G_U = new FinderPath(SocialEquityUserModelImpl.ENTITY_CACHE_ENABLED,
121                            SocialEquityUserModelImpl.FINDER_CACHE_ENABLED,
122                            FINDER_CLASS_NAME_LIST, "countByG_U",
123                            new String[] { Long.class.getName(), Long.class.getName() });
124            public static final FinderPath FINDER_PATH_FIND_BY_G_R = new FinderPath(SocialEquityUserModelImpl.ENTITY_CACHE_ENABLED,
125                            SocialEquityUserModelImpl.FINDER_CACHE_ENABLED,
126                            FINDER_CLASS_NAME_LIST, "findByG_R",
127                            new String[] {
128                                    Long.class.getName(), Integer.class.getName(),
129                                    
130                            "java.lang.Integer", "java.lang.Integer",
131                                    "com.liferay.portal.kernel.util.OrderByComparator"
132                            });
133            public static final FinderPath FINDER_PATH_COUNT_BY_G_R = new FinderPath(SocialEquityUserModelImpl.ENTITY_CACHE_ENABLED,
134                            SocialEquityUserModelImpl.FINDER_CACHE_ENABLED,
135                            FINDER_CLASS_NAME_LIST, "countByG_R",
136                            new String[] { Long.class.getName(), Integer.class.getName() });
137            public static final FinderPath FINDER_PATH_FIND_ALL = new FinderPath(SocialEquityUserModelImpl.ENTITY_CACHE_ENABLED,
138                            SocialEquityUserModelImpl.FINDER_CACHE_ENABLED,
139                            FINDER_CLASS_NAME_LIST, "findAll", new String[0]);
140            public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(SocialEquityUserModelImpl.ENTITY_CACHE_ENABLED,
141                            SocialEquityUserModelImpl.FINDER_CACHE_ENABLED,
142                            FINDER_CLASS_NAME_LIST, "countAll", new String[0]);
143    
144            public void cacheResult(SocialEquityUser socialEquityUser) {
145                    EntityCacheUtil.putResult(SocialEquityUserModelImpl.ENTITY_CACHE_ENABLED,
146                            SocialEquityUserImpl.class, socialEquityUser.getPrimaryKey(),
147                            socialEquityUser);
148    
149                    FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_U,
150                            new Object[] {
151                                    new Long(socialEquityUser.getGroupId()),
152                                    new Long(socialEquityUser.getUserId())
153                            }, socialEquityUser);
154            }
155    
156            public void cacheResult(List<SocialEquityUser> socialEquityUsers) {
157                    for (SocialEquityUser socialEquityUser : socialEquityUsers) {
158                            if (EntityCacheUtil.getResult(
159                                                    SocialEquityUserModelImpl.ENTITY_CACHE_ENABLED,
160                                                    SocialEquityUserImpl.class,
161                                                    socialEquityUser.getPrimaryKey(), this) == null) {
162                                    cacheResult(socialEquityUser);
163                            }
164                    }
165            }
166    
167            public void clearCache() {
168                    CacheRegistryUtil.clear(SocialEquityUserImpl.class.getName());
169                    EntityCacheUtil.clearCache(SocialEquityUserImpl.class.getName());
170                    FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
171                    FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
172            }
173    
174            public void clearCache(SocialEquityUser socialEquityUser) {
175                    EntityCacheUtil.removeResult(SocialEquityUserModelImpl.ENTITY_CACHE_ENABLED,
176                            SocialEquityUserImpl.class, socialEquityUser.getPrimaryKey());
177    
178                    FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_G_U,
179                            new Object[] {
180                                    new Long(socialEquityUser.getGroupId()),
181                                    new Long(socialEquityUser.getUserId())
182                            });
183            }
184    
185            public SocialEquityUser create(long equityUserId) {
186                    SocialEquityUser socialEquityUser = new SocialEquityUserImpl();
187    
188                    socialEquityUser.setNew(true);
189                    socialEquityUser.setPrimaryKey(equityUserId);
190    
191                    return socialEquityUser;
192            }
193    
194            public SocialEquityUser remove(Serializable primaryKey)
195                    throws NoSuchModelException, SystemException {
196                    return remove(((Long)primaryKey).longValue());
197            }
198    
199            public SocialEquityUser remove(long equityUserId)
200                    throws NoSuchEquityUserException, SystemException {
201                    Session session = null;
202    
203                    try {
204                            session = openSession();
205    
206                            SocialEquityUser socialEquityUser = (SocialEquityUser)session.get(SocialEquityUserImpl.class,
207                                            new Long(equityUserId));
208    
209                            if (socialEquityUser == null) {
210                                    if (_log.isWarnEnabled()) {
211                                            _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + equityUserId);
212                                    }
213    
214                                    throw new NoSuchEquityUserException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
215                                            equityUserId);
216                            }
217    
218                            return remove(socialEquityUser);
219                    }
220                    catch (NoSuchEquityUserException nsee) {
221                            throw nsee;
222                    }
223                    catch (Exception e) {
224                            throw processException(e);
225                    }
226                    finally {
227                            closeSession(session);
228                    }
229            }
230    
231            protected SocialEquityUser removeImpl(SocialEquityUser socialEquityUser)
232                    throws SystemException {
233                    socialEquityUser = toUnwrappedModel(socialEquityUser);
234    
235                    Session session = null;
236    
237                    try {
238                            session = openSession();
239    
240                            if (socialEquityUser.isCachedModel() ||
241                                            BatchSessionUtil.isEnabled()) {
242                                    Object staleObject = session.get(SocialEquityUserImpl.class,
243                                                    socialEquityUser.getPrimaryKeyObj());
244    
245                                    if (staleObject != null) {
246                                            session.evict(staleObject);
247                                    }
248                            }
249    
250                            session.delete(socialEquityUser);
251    
252                            session.flush();
253                    }
254                    catch (Exception e) {
255                            throw processException(e);
256                    }
257                    finally {
258                            closeSession(session);
259                    }
260    
261                    FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
262    
263                    SocialEquityUserModelImpl socialEquityUserModelImpl = (SocialEquityUserModelImpl)socialEquityUser;
264    
265                    FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_G_U,
266                            new Object[] {
267                                    new Long(socialEquityUserModelImpl.getOriginalGroupId()),
268                                    new Long(socialEquityUserModelImpl.getOriginalUserId())
269                            });
270    
271                    EntityCacheUtil.removeResult(SocialEquityUserModelImpl.ENTITY_CACHE_ENABLED,
272                            SocialEquityUserImpl.class, socialEquityUser.getPrimaryKey());
273    
274                    return socialEquityUser;
275            }
276    
277            public SocialEquityUser updateImpl(
278                    com.liferay.portlet.social.model.SocialEquityUser socialEquityUser,
279                    boolean merge) throws SystemException {
280                    socialEquityUser = toUnwrappedModel(socialEquityUser);
281    
282                    boolean isNew = socialEquityUser.isNew();
283    
284                    SocialEquityUserModelImpl socialEquityUserModelImpl = (SocialEquityUserModelImpl)socialEquityUser;
285    
286                    Session session = null;
287    
288                    try {
289                            session = openSession();
290    
291                            BatchSessionUtil.update(session, socialEquityUser, merge);
292    
293                            socialEquityUser.setNew(false);
294                    }
295                    catch (Exception e) {
296                            throw processException(e);
297                    }
298                    finally {
299                            closeSession(session);
300                    }
301    
302                    FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
303    
304                    EntityCacheUtil.putResult(SocialEquityUserModelImpl.ENTITY_CACHE_ENABLED,
305                            SocialEquityUserImpl.class, socialEquityUser.getPrimaryKey(),
306                            socialEquityUser);
307    
308                    if (!isNew &&
309                                    ((socialEquityUser.getGroupId() != socialEquityUserModelImpl.getOriginalGroupId()) ||
310                                    (socialEquityUser.getUserId() != socialEquityUserModelImpl.getOriginalUserId()))) {
311                            FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_G_U,
312                                    new Object[] {
313                                            new Long(socialEquityUserModelImpl.getOriginalGroupId()),
314                                            new Long(socialEquityUserModelImpl.getOriginalUserId())
315                                    });
316                    }
317    
318                    if (isNew ||
319                                    ((socialEquityUser.getGroupId() != socialEquityUserModelImpl.getOriginalGroupId()) ||
320                                    (socialEquityUser.getUserId() != socialEquityUserModelImpl.getOriginalUserId()))) {
321                            FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_U,
322                                    new Object[] {
323                                            new Long(socialEquityUser.getGroupId()),
324                                            new Long(socialEquityUser.getUserId())
325                                    }, socialEquityUser);
326                    }
327    
328                    return socialEquityUser;
329            }
330    
331            protected SocialEquityUser toUnwrappedModel(
332                    SocialEquityUser socialEquityUser) {
333                    if (socialEquityUser instanceof SocialEquityUserImpl) {
334                            return socialEquityUser;
335                    }
336    
337                    SocialEquityUserImpl socialEquityUserImpl = new SocialEquityUserImpl();
338    
339                    socialEquityUserImpl.setNew(socialEquityUser.isNew());
340                    socialEquityUserImpl.setPrimaryKey(socialEquityUser.getPrimaryKey());
341    
342                    socialEquityUserImpl.setEquityUserId(socialEquityUser.getEquityUserId());
343                    socialEquityUserImpl.setGroupId(socialEquityUser.getGroupId());
344                    socialEquityUserImpl.setCompanyId(socialEquityUser.getCompanyId());
345                    socialEquityUserImpl.setUserId(socialEquityUser.getUserId());
346                    socialEquityUserImpl.setContributionK(socialEquityUser.getContributionK());
347                    socialEquityUserImpl.setContributionB(socialEquityUser.getContributionB());
348                    socialEquityUserImpl.setParticipationK(socialEquityUser.getParticipationK());
349                    socialEquityUserImpl.setParticipationB(socialEquityUser.getParticipationB());
350                    socialEquityUserImpl.setRank(socialEquityUser.getRank());
351    
352                    return socialEquityUserImpl;
353            }
354    
355            public SocialEquityUser findByPrimaryKey(Serializable primaryKey)
356                    throws NoSuchModelException, SystemException {
357                    return findByPrimaryKey(((Long)primaryKey).longValue());
358            }
359    
360            public SocialEquityUser findByPrimaryKey(long equityUserId)
361                    throws NoSuchEquityUserException, SystemException {
362                    SocialEquityUser socialEquityUser = fetchByPrimaryKey(equityUserId);
363    
364                    if (socialEquityUser == null) {
365                            if (_log.isWarnEnabled()) {
366                                    _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + equityUserId);
367                            }
368    
369                            throw new NoSuchEquityUserException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
370                                    equityUserId);
371                    }
372    
373                    return socialEquityUser;
374            }
375    
376            public SocialEquityUser fetchByPrimaryKey(Serializable primaryKey)
377                    throws SystemException {
378                    return fetchByPrimaryKey(((Long)primaryKey).longValue());
379            }
380    
381            public SocialEquityUser fetchByPrimaryKey(long equityUserId)
382                    throws SystemException {
383                    SocialEquityUser socialEquityUser = (SocialEquityUser)EntityCacheUtil.getResult(SocialEquityUserModelImpl.ENTITY_CACHE_ENABLED,
384                                    SocialEquityUserImpl.class, equityUserId, this);
385    
386                    if (socialEquityUser == null) {
387                            Session session = null;
388    
389                            try {
390                                    session = openSession();
391    
392                                    socialEquityUser = (SocialEquityUser)session.get(SocialEquityUserImpl.class,
393                                                    new Long(equityUserId));
394                            }
395                            catch (Exception e) {
396                                    throw processException(e);
397                            }
398                            finally {
399                                    if (socialEquityUser != null) {
400                                            cacheResult(socialEquityUser);
401                                    }
402    
403                                    closeSession(session);
404                            }
405                    }
406    
407                    return socialEquityUser;
408            }
409    
410            public List<SocialEquityUser> findByGroupId(long groupId)
411                    throws SystemException {
412                    return findByGroupId(groupId, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
413            }
414    
415            public List<SocialEquityUser> findByGroupId(long groupId, int start, int end)
416                    throws SystemException {
417                    return findByGroupId(groupId, start, end, null);
418            }
419    
420            public List<SocialEquityUser> findByGroupId(long groupId, int start,
421                    int end, OrderByComparator orderByComparator) throws SystemException {
422                    Object[] finderArgs = new Object[] {
423                                    groupId,
424                                    
425                                    String.valueOf(start), String.valueOf(end),
426                                    String.valueOf(orderByComparator)
427                            };
428    
429                    List<SocialEquityUser> list = (List<SocialEquityUser>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_GROUPID,
430                                    finderArgs, this);
431    
432                    if (list == null) {
433                            Session session = null;
434    
435                            try {
436                                    session = openSession();
437    
438                                    StringBundler query = null;
439    
440                                    if (orderByComparator != null) {
441                                            query = new StringBundler(3 +
442                                                            (orderByComparator.getOrderByFields().length * 3));
443                                    }
444                                    else {
445                                            query = new StringBundler(2);
446                                    }
447    
448                                    query.append(_SQL_SELECT_SOCIALEQUITYUSER_WHERE);
449    
450                                    query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
451    
452                                    if (orderByComparator != null) {
453                                            appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
454                                                    orderByComparator);
455                                    }
456    
457                                    String sql = query.toString();
458    
459                                    Query q = session.createQuery(sql);
460    
461                                    QueryPos qPos = QueryPos.getInstance(q);
462    
463                                    qPos.add(groupId);
464    
465                                    list = (List<SocialEquityUser>)QueryUtil.list(q, getDialect(),
466                                                    start, end);
467                            }
468                            catch (Exception e) {
469                                    throw processException(e);
470                            }
471                            finally {
472                                    if (list == null) {
473                                            list = new ArrayList<SocialEquityUser>();
474                                    }
475    
476                                    cacheResult(list);
477    
478                                    FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_GROUPID,
479                                            finderArgs, list);
480    
481                                    closeSession(session);
482                            }
483                    }
484    
485                    return list;
486            }
487    
488            public SocialEquityUser findByGroupId_First(long groupId,
489                    OrderByComparator orderByComparator)
490                    throws NoSuchEquityUserException, SystemException {
491                    List<SocialEquityUser> list = findByGroupId(groupId, 0, 1,
492                                    orderByComparator);
493    
494                    if (list.isEmpty()) {
495                            StringBundler msg = new StringBundler(4);
496    
497                            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
498    
499                            msg.append("groupId=");
500                            msg.append(groupId);
501    
502                            msg.append(StringPool.CLOSE_CURLY_BRACE);
503    
504                            throw new NoSuchEquityUserException(msg.toString());
505                    }
506                    else {
507                            return list.get(0);
508                    }
509            }
510    
511            public SocialEquityUser findByGroupId_Last(long groupId,
512                    OrderByComparator orderByComparator)
513                    throws NoSuchEquityUserException, SystemException {
514                    int count = countByGroupId(groupId);
515    
516                    List<SocialEquityUser> list = findByGroupId(groupId, count - 1, count,
517                                    orderByComparator);
518    
519                    if (list.isEmpty()) {
520                            StringBundler msg = new StringBundler(4);
521    
522                            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
523    
524                            msg.append("groupId=");
525                            msg.append(groupId);
526    
527                            msg.append(StringPool.CLOSE_CURLY_BRACE);
528    
529                            throw new NoSuchEquityUserException(msg.toString());
530                    }
531                    else {
532                            return list.get(0);
533                    }
534            }
535    
536            public SocialEquityUser[] findByGroupId_PrevAndNext(long equityUserId,
537                    long groupId, OrderByComparator orderByComparator)
538                    throws NoSuchEquityUserException, SystemException {
539                    SocialEquityUser socialEquityUser = findByPrimaryKey(equityUserId);
540    
541                    Session session = null;
542    
543                    try {
544                            session = openSession();
545    
546                            SocialEquityUser[] array = new SocialEquityUserImpl[3];
547    
548                            array[0] = getByGroupId_PrevAndNext(session, socialEquityUser,
549                                            groupId, orderByComparator, true);
550    
551                            array[1] = socialEquityUser;
552    
553                            array[2] = getByGroupId_PrevAndNext(session, socialEquityUser,
554                                            groupId, orderByComparator, false);
555    
556                            return array;
557                    }
558                    catch (Exception e) {
559                            throw processException(e);
560                    }
561                    finally {
562                            closeSession(session);
563                    }
564            }
565    
566            protected SocialEquityUser getByGroupId_PrevAndNext(Session session,
567                    SocialEquityUser socialEquityUser, long groupId,
568                    OrderByComparator orderByComparator, boolean previous) {
569                    StringBundler query = null;
570    
571                    if (orderByComparator != null) {
572                            query = new StringBundler(6 +
573                                            (orderByComparator.getOrderByFields().length * 6));
574                    }
575                    else {
576                            query = new StringBundler(3);
577                    }
578    
579                    query.append(_SQL_SELECT_SOCIALEQUITYUSER_WHERE);
580    
581                    query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
582    
583                    if (orderByComparator != null) {
584                            String[] orderByFields = orderByComparator.getOrderByFields();
585    
586                            if (orderByFields.length > 0) {
587                                    query.append(WHERE_AND);
588                            }
589    
590                            for (int i = 0; i < orderByFields.length; i++) {
591                                    query.append(_ORDER_BY_ENTITY_ALIAS);
592                                    query.append(orderByFields[i]);
593    
594                                    if ((i + 1) < orderByFields.length) {
595                                            if (orderByComparator.isAscending() ^ previous) {
596                                                    query.append(WHERE_GREATER_THAN_HAS_NEXT);
597                                            }
598                                            else {
599                                                    query.append(WHERE_LESSER_THAN_HAS_NEXT);
600                                            }
601                                    }
602                                    else {
603                                            if (orderByComparator.isAscending() ^ previous) {
604                                                    query.append(WHERE_GREATER_THAN);
605                                            }
606                                            else {
607                                                    query.append(WHERE_LESSER_THAN);
608                                            }
609                                    }
610                            }
611    
612                            query.append(ORDER_BY_CLAUSE);
613    
614                            for (int i = 0; i < orderByFields.length; i++) {
615                                    query.append(_ORDER_BY_ENTITY_ALIAS);
616                                    query.append(orderByFields[i]);
617    
618                                    if ((i + 1) < orderByFields.length) {
619                                            if (orderByComparator.isAscending() ^ previous) {
620                                                    query.append(ORDER_BY_ASC_HAS_NEXT);
621                                            }
622                                            else {
623                                                    query.append(ORDER_BY_DESC_HAS_NEXT);
624                                            }
625                                    }
626                                    else {
627                                            if (orderByComparator.isAscending() ^ previous) {
628                                                    query.append(ORDER_BY_ASC);
629                                            }
630                                            else {
631                                                    query.append(ORDER_BY_DESC);
632                                            }
633                                    }
634                            }
635                    }
636    
637                    String sql = query.toString();
638    
639                    Query q = session.createQuery(sql);
640    
641                    q.setFirstResult(0);
642                    q.setMaxResults(2);
643    
644                    QueryPos qPos = QueryPos.getInstance(q);
645    
646                    qPos.add(groupId);
647    
648                    if (orderByComparator != null) {
649                            Object[] values = orderByComparator.getOrderByValues(socialEquityUser);
650    
651                            for (Object value : values) {
652                                    qPos.add(value);
653                            }
654                    }
655    
656                    List<SocialEquityUser> list = q.list();
657    
658                    if (list.size() == 2) {
659                            return list.get(1);
660                    }
661                    else {
662                            return null;
663                    }
664            }
665    
666            public List<SocialEquityUser> findByGroupRanked(long groupId)
667                    throws SystemException {
668                    return findByGroupRanked(groupId, QueryUtil.ALL_POS, QueryUtil.ALL_POS,
669                            null);
670            }
671    
672            public List<SocialEquityUser> findByGroupRanked(long groupId, int start,
673                    int end) throws SystemException {
674                    return findByGroupRanked(groupId, start, end, null);
675            }
676    
677            public List<SocialEquityUser> findByGroupRanked(long groupId, int start,
678                    int end, OrderByComparator orderByComparator) throws SystemException {
679                    Object[] finderArgs = new Object[] {
680                                    groupId,
681                                    
682                                    String.valueOf(start), String.valueOf(end),
683                                    String.valueOf(orderByComparator)
684                            };
685    
686                    List<SocialEquityUser> list = (List<SocialEquityUser>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_GROUPRANKED,
687                                    finderArgs, this);
688    
689                    if (list == null) {
690                            Session session = null;
691    
692                            try {
693                                    session = openSession();
694    
695                                    StringBundler query = null;
696    
697                                    if (orderByComparator != null) {
698                                            query = new StringBundler(3 +
699                                                            (orderByComparator.getOrderByFields().length * 3));
700                                    }
701                                    else {
702                                            query = new StringBundler(2);
703                                    }
704    
705                                    query.append(_SQL_SELECT_SOCIALEQUITYUSER_WHERE);
706    
707                                    query.append(_FINDER_COLUMN_GROUPRANKED_GROUPID_2);
708    
709                                    if (orderByComparator != null) {
710                                            appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
711                                                    orderByComparator);
712                                    }
713    
714                                    String sql = query.toString();
715    
716                                    Query q = session.createQuery(sql);
717    
718                                    QueryPos qPos = QueryPos.getInstance(q);
719    
720                                    qPos.add(groupId);
721    
722                                    list = (List<SocialEquityUser>)QueryUtil.list(q, getDialect(),
723                                                    start, end);
724                            }
725                            catch (Exception e) {
726                                    throw processException(e);
727                            }
728                            finally {
729                                    if (list == null) {
730                                            list = new ArrayList<SocialEquityUser>();
731                                    }
732    
733                                    cacheResult(list);
734    
735                                    FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_GROUPRANKED,
736                                            finderArgs, list);
737    
738                                    closeSession(session);
739                            }
740                    }
741    
742                    return list;
743            }
744    
745            public SocialEquityUser findByGroupRanked_First(long groupId,
746                    OrderByComparator orderByComparator)
747                    throws NoSuchEquityUserException, SystemException {
748                    List<SocialEquityUser> list = findByGroupRanked(groupId, 0, 1,
749                                    orderByComparator);
750    
751                    if (list.isEmpty()) {
752                            StringBundler msg = new StringBundler(4);
753    
754                            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
755    
756                            msg.append("groupId=");
757                            msg.append(groupId);
758    
759                            msg.append(StringPool.CLOSE_CURLY_BRACE);
760    
761                            throw new NoSuchEquityUserException(msg.toString());
762                    }
763                    else {
764                            return list.get(0);
765                    }
766            }
767    
768            public SocialEquityUser findByGroupRanked_Last(long groupId,
769                    OrderByComparator orderByComparator)
770                    throws NoSuchEquityUserException, SystemException {
771                    int count = countByGroupRanked(groupId);
772    
773                    List<SocialEquityUser> list = findByGroupRanked(groupId, count - 1,
774                                    count, orderByComparator);
775    
776                    if (list.isEmpty()) {
777                            StringBundler msg = new StringBundler(4);
778    
779                            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
780    
781                            msg.append("groupId=");
782                            msg.append(groupId);
783    
784                            msg.append(StringPool.CLOSE_CURLY_BRACE);
785    
786                            throw new NoSuchEquityUserException(msg.toString());
787                    }
788                    else {
789                            return list.get(0);
790                    }
791            }
792    
793            public SocialEquityUser[] findByGroupRanked_PrevAndNext(long equityUserId,
794                    long groupId, OrderByComparator orderByComparator)
795                    throws NoSuchEquityUserException, SystemException {
796                    SocialEquityUser socialEquityUser = findByPrimaryKey(equityUserId);
797    
798                    Session session = null;
799    
800                    try {
801                            session = openSession();
802    
803                            SocialEquityUser[] array = new SocialEquityUserImpl[3];
804    
805                            array[0] = getByGroupRanked_PrevAndNext(session, socialEquityUser,
806                                            groupId, orderByComparator, true);
807    
808                            array[1] = socialEquityUser;
809    
810                            array[2] = getByGroupRanked_PrevAndNext(session, socialEquityUser,
811                                            groupId, orderByComparator, false);
812    
813                            return array;
814                    }
815                    catch (Exception e) {
816                            throw processException(e);
817                    }
818                    finally {
819                            closeSession(session);
820                    }
821            }
822    
823            protected SocialEquityUser getByGroupRanked_PrevAndNext(Session session,
824                    SocialEquityUser socialEquityUser, long groupId,
825                    OrderByComparator orderByComparator, boolean previous) {
826                    StringBundler query = null;
827    
828                    if (orderByComparator != null) {
829                            query = new StringBundler(6 +
830                                            (orderByComparator.getOrderByFields().length * 6));
831                    }
832                    else {
833                            query = new StringBundler(3);
834                    }
835    
836                    query.append(_SQL_SELECT_SOCIALEQUITYUSER_WHERE);
837    
838                    query.append(_FINDER_COLUMN_GROUPRANKED_GROUPID_2);
839    
840                    if (orderByComparator != null) {
841                            String[] orderByFields = orderByComparator.getOrderByFields();
842    
843                            if (orderByFields.length > 0) {
844                                    query.append(WHERE_AND);
845                            }
846    
847                            for (int i = 0; i < orderByFields.length; i++) {
848                                    query.append(_ORDER_BY_ENTITY_ALIAS);
849                                    query.append(orderByFields[i]);
850    
851                                    if ((i + 1) < orderByFields.length) {
852                                            if (orderByComparator.isAscending() ^ previous) {
853                                                    query.append(WHERE_GREATER_THAN_HAS_NEXT);
854                                            }
855                                            else {
856                                                    query.append(WHERE_LESSER_THAN_HAS_NEXT);
857                                            }
858                                    }
859                                    else {
860                                            if (orderByComparator.isAscending() ^ previous) {
861                                                    query.append(WHERE_GREATER_THAN);
862                                            }
863                                            else {
864                                                    query.append(WHERE_LESSER_THAN);
865                                            }
866                                    }
867                            }
868    
869                            query.append(ORDER_BY_CLAUSE);
870    
871                            for (int i = 0; i < orderByFields.length; i++) {
872                                    query.append(_ORDER_BY_ENTITY_ALIAS);
873                                    query.append(orderByFields[i]);
874    
875                                    if ((i + 1) < orderByFields.length) {
876                                            if (orderByComparator.isAscending() ^ previous) {
877                                                    query.append(ORDER_BY_ASC_HAS_NEXT);
878                                            }
879                                            else {
880                                                    query.append(ORDER_BY_DESC_HAS_NEXT);
881                                            }
882                                    }
883                                    else {
884                                            if (orderByComparator.isAscending() ^ previous) {
885                                                    query.append(ORDER_BY_ASC);
886                                            }
887                                            else {
888                                                    query.append(ORDER_BY_DESC);
889                                            }
890                                    }
891                            }
892                    }
893    
894                    String sql = query.toString();
895    
896                    Query q = session.createQuery(sql);
897    
898                    q.setFirstResult(0);
899                    q.setMaxResults(2);
900    
901                    QueryPos qPos = QueryPos.getInstance(q);
902    
903                    qPos.add(groupId);
904    
905                    if (orderByComparator != null) {
906                            Object[] values = orderByComparator.getOrderByValues(socialEquityUser);
907    
908                            for (Object value : values) {
909                                    qPos.add(value);
910                            }
911                    }
912    
913                    List<SocialEquityUser> list = q.list();
914    
915                    if (list.size() == 2) {
916                            return list.get(1);
917                    }
918                    else {
919                            return null;
920                    }
921            }
922    
923            public List<SocialEquityUser> findByUserId(long userId)
924                    throws SystemException {
925                    return findByUserId(userId, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
926            }
927    
928            public List<SocialEquityUser> findByUserId(long userId, int start, int end)
929                    throws SystemException {
930                    return findByUserId(userId, start, end, null);
931            }
932    
933            public List<SocialEquityUser> findByUserId(long userId, int start, int end,
934                    OrderByComparator orderByComparator) throws SystemException {
935                    Object[] finderArgs = new Object[] {
936                                    userId,
937                                    
938                                    String.valueOf(start), String.valueOf(end),
939                                    String.valueOf(orderByComparator)
940                            };
941    
942                    List<SocialEquityUser> list = (List<SocialEquityUser>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_USERID,
943                                    finderArgs, this);
944    
945                    if (list == null) {
946                            Session session = null;
947    
948                            try {
949                                    session = openSession();
950    
951                                    StringBundler query = null;
952    
953                                    if (orderByComparator != null) {
954                                            query = new StringBundler(3 +
955                                                            (orderByComparator.getOrderByFields().length * 3));
956                                    }
957                                    else {
958                                            query = new StringBundler(2);
959                                    }
960    
961                                    query.append(_SQL_SELECT_SOCIALEQUITYUSER_WHERE);
962    
963                                    query.append(_FINDER_COLUMN_USERID_USERID_2);
964    
965                                    if (orderByComparator != null) {
966                                            appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
967                                                    orderByComparator);
968                                    }
969    
970                                    String sql = query.toString();
971    
972                                    Query q = session.createQuery(sql);
973    
974                                    QueryPos qPos = QueryPos.getInstance(q);
975    
976                                    qPos.add(userId);
977    
978                                    list = (List<SocialEquityUser>)QueryUtil.list(q, getDialect(),
979                                                    start, end);
980                            }
981                            catch (Exception e) {
982                                    throw processException(e);
983                            }
984                            finally {
985                                    if (list == null) {
986                                            list = new ArrayList<SocialEquityUser>();
987                                    }
988    
989                                    cacheResult(list);
990    
991                                    FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_USERID,
992                                            finderArgs, list);
993    
994                                    closeSession(session);
995                            }
996                    }
997    
998                    return list;
999            }
1000    
1001            public SocialEquityUser findByUserId_First(long userId,
1002                    OrderByComparator orderByComparator)
1003                    throws NoSuchEquityUserException, SystemException {
1004                    List<SocialEquityUser> list = findByUserId(userId, 0, 1,
1005                                    orderByComparator);
1006    
1007                    if (list.isEmpty()) {
1008                            StringBundler msg = new StringBundler(4);
1009    
1010                            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1011    
1012                            msg.append("userId=");
1013                            msg.append(userId);
1014    
1015                            msg.append(StringPool.CLOSE_CURLY_BRACE);
1016    
1017                            throw new NoSuchEquityUserException(msg.toString());
1018                    }
1019                    else {
1020                            return list.get(0);
1021                    }
1022            }
1023    
1024            public SocialEquityUser findByUserId_Last(long userId,
1025                    OrderByComparator orderByComparator)
1026                    throws NoSuchEquityUserException, SystemException {
1027                    int count = countByUserId(userId);
1028    
1029                    List<SocialEquityUser> list = findByUserId(userId, count - 1, count,
1030                                    orderByComparator);
1031    
1032                    if (list.isEmpty()) {
1033                            StringBundler msg = new StringBundler(4);
1034    
1035                            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1036    
1037                            msg.append("userId=");
1038                            msg.append(userId);
1039    
1040                            msg.append(StringPool.CLOSE_CURLY_BRACE);
1041    
1042                            throw new NoSuchEquityUserException(msg.toString());
1043                    }
1044                    else {
1045                            return list.get(0);
1046                    }
1047            }
1048    
1049            public SocialEquityUser[] findByUserId_PrevAndNext(long equityUserId,
1050                    long userId, OrderByComparator orderByComparator)
1051                    throws NoSuchEquityUserException, SystemException {
1052                    SocialEquityUser socialEquityUser = findByPrimaryKey(equityUserId);
1053    
1054                    Session session = null;
1055    
1056                    try {
1057                            session = openSession();
1058    
1059                            SocialEquityUser[] array = new SocialEquityUserImpl[3];
1060    
1061                            array[0] = getByUserId_PrevAndNext(session, socialEquityUser,
1062                                            userId, orderByComparator, true);
1063    
1064                            array[1] = socialEquityUser;
1065    
1066                            array[2] = getByUserId_PrevAndNext(session, socialEquityUser,
1067                                            userId, orderByComparator, false);
1068    
1069                            return array;
1070                    }
1071                    catch (Exception e) {
1072                            throw processException(e);
1073                    }
1074                    finally {
1075                            closeSession(session);
1076                    }
1077            }
1078    
1079            protected SocialEquityUser getByUserId_PrevAndNext(Session session,
1080                    SocialEquityUser socialEquityUser, long userId,
1081                    OrderByComparator orderByComparator, boolean previous) {
1082                    StringBundler query = null;
1083    
1084                    if (orderByComparator != null) {
1085                            query = new StringBundler(6 +
1086                                            (orderByComparator.getOrderByFields().length * 6));
1087                    }
1088                    else {
1089                            query = new StringBundler(3);
1090                    }
1091    
1092                    query.append(_SQL_SELECT_SOCIALEQUITYUSER_WHERE);
1093    
1094                    query.append(_FINDER_COLUMN_USERID_USERID_2);
1095    
1096                    if (orderByComparator != null) {
1097                            String[] orderByFields = orderByComparator.getOrderByFields();
1098    
1099                            if (orderByFields.length > 0) {
1100                                    query.append(WHERE_AND);
1101                            }
1102    
1103                            for (int i = 0; i < orderByFields.length; i++) {
1104                                    query.append(_ORDER_BY_ENTITY_ALIAS);
1105                                    query.append(orderByFields[i]);
1106    
1107                                    if ((i + 1) < orderByFields.length) {
1108                                            if (orderByComparator.isAscending() ^ previous) {
1109                                                    query.append(WHERE_GREATER_THAN_HAS_NEXT);
1110                                            }
1111                                            else {
1112                                                    query.append(WHERE_LESSER_THAN_HAS_NEXT);
1113                                            }
1114                                    }
1115                                    else {
1116                                            if (orderByComparator.isAscending() ^ previous) {
1117                                                    query.append(WHERE_GREATER_THAN);
1118                                            }
1119                                            else {
1120                                                    query.append(WHERE_LESSER_THAN);
1121                                            }
1122                                    }
1123                            }
1124    
1125                            query.append(ORDER_BY_CLAUSE);
1126    
1127                            for (int i = 0; i < orderByFields.length; i++) {
1128                                    query.append(_ORDER_BY_ENTITY_ALIAS);
1129                                    query.append(orderByFields[i]);
1130    
1131                                    if ((i + 1) < orderByFields.length) {
1132                                            if (orderByComparator.isAscending() ^ previous) {
1133                                                    query.append(ORDER_BY_ASC_HAS_NEXT);
1134                                            }
1135                                            else {
1136                                                    query.append(ORDER_BY_DESC_HAS_NEXT);
1137                                            }
1138                                    }
1139                                    else {
1140                                            if (orderByComparator.isAscending() ^ previous) {
1141                                                    query.append(ORDER_BY_ASC);
1142                                            }
1143                                            else {
1144                                                    query.append(ORDER_BY_DESC);
1145                                            }
1146                                    }
1147                            }
1148                    }
1149    
1150                    String sql = query.toString();
1151    
1152                    Query q = session.createQuery(sql);
1153    
1154                    q.setFirstResult(0);
1155                    q.setMaxResults(2);
1156    
1157                    QueryPos qPos = QueryPos.getInstance(q);
1158    
1159                    qPos.add(userId);
1160    
1161                    if (orderByComparator != null) {
1162                            Object[] values = orderByComparator.getOrderByValues(socialEquityUser);
1163    
1164                            for (Object value : values) {
1165                                    qPos.add(value);
1166                            }
1167                    }
1168    
1169                    List<SocialEquityUser> list = q.list();
1170    
1171                    if (list.size() == 2) {
1172                            return list.get(1);
1173                    }
1174                    else {
1175                            return null;
1176                    }
1177            }
1178    
1179            public List<SocialEquityUser> findByRank(int rank)
1180                    throws SystemException {
1181                    return findByRank(rank, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
1182            }
1183    
1184            public List<SocialEquityUser> findByRank(int rank, int start, int end)
1185                    throws SystemException {
1186                    return findByRank(rank, start, end, null);
1187            }
1188    
1189            public List<SocialEquityUser> findByRank(int rank, int start, int end,
1190                    OrderByComparator orderByComparator) throws SystemException {
1191                    Object[] finderArgs = new Object[] {
1192                                    rank,
1193                                    
1194                                    String.valueOf(start), String.valueOf(end),
1195                                    String.valueOf(orderByComparator)
1196                            };
1197    
1198                    List<SocialEquityUser> list = (List<SocialEquityUser>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_RANK,
1199                                    finderArgs, this);
1200    
1201                    if (list == null) {
1202                            Session session = null;
1203    
1204                            try {
1205                                    session = openSession();
1206    
1207                                    StringBundler query = null;
1208    
1209                                    if (orderByComparator != null) {
1210                                            query = new StringBundler(3 +
1211                                                            (orderByComparator.getOrderByFields().length * 3));
1212                                    }
1213                                    else {
1214                                            query = new StringBundler(2);
1215                                    }
1216    
1217                                    query.append(_SQL_SELECT_SOCIALEQUITYUSER_WHERE);
1218    
1219                                    query.append(_FINDER_COLUMN_RANK_RANK_2);
1220    
1221                                    if (orderByComparator != null) {
1222                                            appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
1223                                                    orderByComparator);
1224                                    }
1225    
1226                                    String sql = query.toString();
1227    
1228                                    Query q = session.createQuery(sql);
1229    
1230                                    QueryPos qPos = QueryPos.getInstance(q);
1231    
1232                                    qPos.add(rank);
1233    
1234                                    list = (List<SocialEquityUser>)QueryUtil.list(q, getDialect(),
1235                                                    start, end);
1236                            }
1237                            catch (Exception e) {
1238                                    throw processException(e);
1239                            }
1240                            finally {
1241                                    if (list == null) {
1242                                            list = new ArrayList<SocialEquityUser>();
1243                                    }
1244    
1245                                    cacheResult(list);
1246    
1247                                    FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_RANK, finderArgs,
1248                                            list);
1249    
1250                                    closeSession(session);
1251                            }
1252                    }
1253    
1254                    return list;
1255            }
1256    
1257            public SocialEquityUser findByRank_First(int rank,
1258                    OrderByComparator orderByComparator)
1259                    throws NoSuchEquityUserException, SystemException {
1260                    List<SocialEquityUser> list = findByRank(rank, 0, 1, orderByComparator);
1261    
1262                    if (list.isEmpty()) {
1263                            StringBundler msg = new StringBundler(4);
1264    
1265                            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1266    
1267                            msg.append("rank=");
1268                            msg.append(rank);
1269    
1270                            msg.append(StringPool.CLOSE_CURLY_BRACE);
1271    
1272                            throw new NoSuchEquityUserException(msg.toString());
1273                    }
1274                    else {
1275                            return list.get(0);
1276                    }
1277            }
1278    
1279            public SocialEquityUser findByRank_Last(int rank,
1280                    OrderByComparator orderByComparator)
1281                    throws NoSuchEquityUserException, SystemException {
1282                    int count = countByRank(rank);
1283    
1284                    List<SocialEquityUser> list = findByRank(rank, count - 1, count,
1285                                    orderByComparator);
1286    
1287                    if (list.isEmpty()) {
1288                            StringBundler msg = new StringBundler(4);
1289    
1290                            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1291    
1292                            msg.append("rank=");
1293                            msg.append(rank);
1294    
1295                            msg.append(StringPool.CLOSE_CURLY_BRACE);
1296    
1297                            throw new NoSuchEquityUserException(msg.toString());
1298                    }
1299                    else {
1300                            return list.get(0);
1301                    }
1302            }
1303    
1304            public SocialEquityUser[] findByRank_PrevAndNext(long equityUserId,
1305                    int rank, OrderByComparator orderByComparator)
1306                    throws NoSuchEquityUserException, SystemException {
1307                    SocialEquityUser socialEquityUser = findByPrimaryKey(equityUserId);
1308    
1309                    Session session = null;
1310    
1311                    try {
1312                            session = openSession();
1313    
1314                            SocialEquityUser[] array = new SocialEquityUserImpl[3];
1315    
1316                            array[0] = getByRank_PrevAndNext(session, socialEquityUser, rank,
1317                                            orderByComparator, true);
1318    
1319                            array[1] = socialEquityUser;
1320    
1321                            array[2] = getByRank_PrevAndNext(session, socialEquityUser, rank,
1322                                            orderByComparator, false);
1323    
1324                            return array;
1325                    }
1326                    catch (Exception e) {
1327                            throw processException(e);
1328                    }
1329                    finally {
1330                            closeSession(session);
1331                    }
1332            }
1333    
1334            protected SocialEquityUser getByRank_PrevAndNext(Session session,
1335                    SocialEquityUser socialEquityUser, int rank,
1336                    OrderByComparator orderByComparator, boolean previous) {
1337                    StringBundler query = null;
1338    
1339                    if (orderByComparator != null) {
1340                            query = new StringBundler(6 +
1341                                            (orderByComparator.getOrderByFields().length * 6));
1342                    }
1343                    else {
1344                            query = new StringBundler(3);
1345                    }
1346    
1347                    query.append(_SQL_SELECT_SOCIALEQUITYUSER_WHERE);
1348    
1349                    query.append(_FINDER_COLUMN_RANK_RANK_2);
1350    
1351                    if (orderByComparator != null) {
1352                            String[] orderByFields = orderByComparator.getOrderByFields();
1353    
1354                            if (orderByFields.length > 0) {
1355                                    query.append(WHERE_AND);
1356                            }
1357    
1358                            for (int i = 0; i < orderByFields.length; i++) {
1359                                    query.append(_ORDER_BY_ENTITY_ALIAS);
1360                                    query.append(orderByFields[i]);
1361    
1362                                    if ((i + 1) < orderByFields.length) {
1363                                            if (orderByComparator.isAscending() ^ previous) {
1364                                                    query.append(WHERE_GREATER_THAN_HAS_NEXT);
1365                                            }
1366                                            else {
1367                                                    query.append(WHERE_LESSER_THAN_HAS_NEXT);
1368                                            }
1369                                    }
1370                                    else {
1371                                            if (orderByComparator.isAscending() ^ previous) {
1372                                                    query.append(WHERE_GREATER_THAN);
1373                                            }
1374                                            else {
1375                                                    query.append(WHERE_LESSER_THAN);
1376                                            }
1377                                    }
1378                            }
1379    
1380                            query.append(ORDER_BY_CLAUSE);
1381    
1382                            for (int i = 0; i < orderByFields.length; i++) {
1383                                    query.append(_ORDER_BY_ENTITY_ALIAS);
1384                                    query.append(orderByFields[i]);
1385    
1386                                    if ((i + 1) < orderByFields.length) {
1387                                            if (orderByComparator.isAscending() ^ previous) {
1388                                                    query.append(ORDER_BY_ASC_HAS_NEXT);
1389                                            }
1390                                            else {
1391                                                    query.append(ORDER_BY_DESC_HAS_NEXT);
1392                                            }
1393                                    }
1394                                    else {
1395                                            if (orderByComparator.isAscending() ^ previous) {
1396                                                    query.append(ORDER_BY_ASC);
1397                                            }
1398                                            else {
1399                                                    query.append(ORDER_BY_DESC);
1400                                            }
1401                                    }
1402                            }
1403                    }
1404    
1405                    String sql = query.toString();
1406    
1407                    Query q = session.createQuery(sql);
1408    
1409                    q.setFirstResult(0);
1410                    q.setMaxResults(2);
1411    
1412                    QueryPos qPos = QueryPos.getInstance(q);
1413    
1414                    qPos.add(rank);
1415    
1416                    if (orderByComparator != null) {
1417                            Object[] values = orderByComparator.getOrderByValues(socialEquityUser);
1418    
1419                            for (Object value : values) {
1420                                    qPos.add(value);
1421                            }
1422                    }
1423    
1424                    List<SocialEquityUser> list = q.list();
1425    
1426                    if (list.size() == 2) {
1427                            return list.get(1);
1428                    }
1429                    else {
1430                            return null;
1431                    }
1432            }
1433    
1434            public SocialEquityUser findByG_U(long groupId, long userId)
1435                    throws NoSuchEquityUserException, SystemException {
1436                    SocialEquityUser socialEquityUser = fetchByG_U(groupId, userId);
1437    
1438                    if (socialEquityUser == null) {
1439                            StringBundler msg = new StringBundler(6);
1440    
1441                            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1442    
1443                            msg.append("groupId=");
1444                            msg.append(groupId);
1445    
1446                            msg.append(", userId=");
1447                            msg.append(userId);
1448    
1449                            msg.append(StringPool.CLOSE_CURLY_BRACE);
1450    
1451                            if (_log.isWarnEnabled()) {
1452                                    _log.warn(msg.toString());
1453                            }
1454    
1455                            throw new NoSuchEquityUserException(msg.toString());
1456                    }
1457    
1458                    return socialEquityUser;
1459            }
1460    
1461            public SocialEquityUser fetchByG_U(long groupId, long userId)
1462                    throws SystemException {
1463                    return fetchByG_U(groupId, userId, true);
1464            }
1465    
1466            public SocialEquityUser fetchByG_U(long groupId, long userId,
1467                    boolean retrieveFromCache) throws SystemException {
1468                    Object[] finderArgs = new Object[] { groupId, userId };
1469    
1470                    Object result = null;
1471    
1472                    if (retrieveFromCache) {
1473                            result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_G_U,
1474                                            finderArgs, this);
1475                    }
1476    
1477                    if (result == null) {
1478                            Session session = null;
1479    
1480                            try {
1481                                    session = openSession();
1482    
1483                                    StringBundler query = new StringBundler(3);
1484    
1485                                    query.append(_SQL_SELECT_SOCIALEQUITYUSER_WHERE);
1486    
1487                                    query.append(_FINDER_COLUMN_G_U_GROUPID_2);
1488    
1489                                    query.append(_FINDER_COLUMN_G_U_USERID_2);
1490    
1491                                    String sql = query.toString();
1492    
1493                                    Query q = session.createQuery(sql);
1494    
1495                                    QueryPos qPos = QueryPos.getInstance(q);
1496    
1497                                    qPos.add(groupId);
1498    
1499                                    qPos.add(userId);
1500    
1501                                    List<SocialEquityUser> list = q.list();
1502    
1503                                    result = list;
1504    
1505                                    SocialEquityUser socialEquityUser = null;
1506    
1507                                    if (list.isEmpty()) {
1508                                            FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_U,
1509                                                    finderArgs, list);
1510                                    }
1511                                    else {
1512                                            socialEquityUser = list.get(0);
1513    
1514                                            cacheResult(socialEquityUser);
1515    
1516                                            if ((socialEquityUser.getGroupId() != groupId) ||
1517                                                            (socialEquityUser.getUserId() != userId)) {
1518                                                    FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_U,
1519                                                            finderArgs, socialEquityUser);
1520                                            }
1521                                    }
1522    
1523                                    return socialEquityUser;
1524                            }
1525                            catch (Exception e) {
1526                                    throw processException(e);
1527                            }
1528                            finally {
1529                                    if (result == null) {
1530                                            FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_U,
1531                                                    finderArgs, new ArrayList<SocialEquityUser>());
1532                                    }
1533    
1534                                    closeSession(session);
1535                            }
1536                    }
1537                    else {
1538                            if (result instanceof List<?>) {
1539                                    return null;
1540                            }
1541                            else {
1542                                    return (SocialEquityUser)result;
1543                            }
1544                    }
1545            }
1546    
1547            public List<SocialEquityUser> findByG_R(long groupId, int rank)
1548                    throws SystemException {
1549                    return findByG_R(groupId, rank, QueryUtil.ALL_POS, QueryUtil.ALL_POS,
1550                            null);
1551            }
1552    
1553            public List<SocialEquityUser> findByG_R(long groupId, int rank, int start,
1554                    int end) throws SystemException {
1555                    return findByG_R(groupId, rank, start, end, null);
1556            }
1557    
1558            public List<SocialEquityUser> findByG_R(long groupId, int rank, int start,
1559                    int end, OrderByComparator orderByComparator) throws SystemException {
1560                    Object[] finderArgs = new Object[] {
1561                                    groupId, rank,
1562                                    
1563                                    String.valueOf(start), String.valueOf(end),
1564                                    String.valueOf(orderByComparator)
1565                            };
1566    
1567                    List<SocialEquityUser> list = (List<SocialEquityUser>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_G_R,
1568                                    finderArgs, this);
1569    
1570                    if (list == null) {
1571                            Session session = null;
1572    
1573                            try {
1574                                    session = openSession();
1575    
1576                                    StringBundler query = null;
1577    
1578                                    if (orderByComparator != null) {
1579                                            query = new StringBundler(4 +
1580                                                            (orderByComparator.getOrderByFields().length * 3));
1581                                    }
1582                                    else {
1583                                            query = new StringBundler(3);
1584                                    }
1585    
1586                                    query.append(_SQL_SELECT_SOCIALEQUITYUSER_WHERE);
1587    
1588                                    query.append(_FINDER_COLUMN_G_R_GROUPID_2);
1589    
1590                                    query.append(_FINDER_COLUMN_G_R_RANK_2);
1591    
1592                                    if (orderByComparator != null) {
1593                                            appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
1594                                                    orderByComparator);
1595                                    }
1596    
1597                                    String sql = query.toString();
1598    
1599                                    Query q = session.createQuery(sql);
1600    
1601                                    QueryPos qPos = QueryPos.getInstance(q);
1602    
1603                                    qPos.add(groupId);
1604    
1605                                    qPos.add(rank);
1606    
1607                                    list = (List<SocialEquityUser>)QueryUtil.list(q, getDialect(),
1608                                                    start, end);
1609                            }
1610                            catch (Exception e) {
1611                                    throw processException(e);
1612                            }
1613                            finally {
1614                                    if (list == null) {
1615                                            list = new ArrayList<SocialEquityUser>();
1616                                    }
1617    
1618                                    cacheResult(list);
1619    
1620                                    FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_G_R, finderArgs,
1621                                            list);
1622    
1623                                    closeSession(session);
1624                            }
1625                    }
1626    
1627                    return list;
1628            }
1629    
1630            public SocialEquityUser findByG_R_First(long groupId, int rank,
1631                    OrderByComparator orderByComparator)
1632                    throws NoSuchEquityUserException, SystemException {
1633                    List<SocialEquityUser> list = findByG_R(groupId, rank, 0, 1,
1634                                    orderByComparator);
1635    
1636                    if (list.isEmpty()) {
1637                            StringBundler msg = new StringBundler(6);
1638    
1639                            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1640    
1641                            msg.append("groupId=");
1642                            msg.append(groupId);
1643    
1644                            msg.append(", rank=");
1645                            msg.append(rank);
1646    
1647                            msg.append(StringPool.CLOSE_CURLY_BRACE);
1648    
1649                            throw new NoSuchEquityUserException(msg.toString());
1650                    }
1651                    else {
1652                            return list.get(0);
1653                    }
1654            }
1655    
1656            public SocialEquityUser findByG_R_Last(long groupId, int rank,
1657                    OrderByComparator orderByComparator)
1658                    throws NoSuchEquityUserException, SystemException {
1659                    int count = countByG_R(groupId, rank);
1660    
1661                    List<SocialEquityUser> list = findByG_R(groupId, rank, count - 1,
1662                                    count, orderByComparator);
1663    
1664                    if (list.isEmpty()) {
1665                            StringBundler msg = new StringBundler(6);
1666    
1667                            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1668    
1669                            msg.append("groupId=");
1670                            msg.append(groupId);
1671    
1672                            msg.append(", rank=");
1673                            msg.append(rank);
1674    
1675                            msg.append(StringPool.CLOSE_CURLY_BRACE);
1676    
1677                            throw new NoSuchEquityUserException(msg.toString());
1678                    }
1679                    else {
1680                            return list.get(0);
1681                    }
1682            }
1683    
1684            public SocialEquityUser[] findByG_R_PrevAndNext(long equityUserId,
1685                    long groupId, int rank, OrderByComparator orderByComparator)
1686                    throws NoSuchEquityUserException, SystemException {
1687                    SocialEquityUser socialEquityUser = findByPrimaryKey(equityUserId);
1688    
1689                    Session session = null;
1690    
1691                    try {
1692                            session = openSession();
1693    
1694                            SocialEquityUser[] array = new SocialEquityUserImpl[3];
1695    
1696                            array[0] = getByG_R_PrevAndNext(session, socialEquityUser, groupId,
1697                                            rank, orderByComparator, true);
1698    
1699                            array[1] = socialEquityUser;
1700    
1701                            array[2] = getByG_R_PrevAndNext(session, socialEquityUser, groupId,
1702                                            rank, orderByComparator, false);
1703    
1704                            return array;
1705                    }
1706                    catch (Exception e) {
1707                            throw processException(e);
1708                    }
1709                    finally {
1710                            closeSession(session);
1711                    }
1712            }
1713    
1714            protected SocialEquityUser getByG_R_PrevAndNext(Session session,
1715                    SocialEquityUser socialEquityUser, long groupId, int rank,
1716                    OrderByComparator orderByComparator, boolean previous) {
1717                    StringBundler query = null;
1718    
1719                    if (orderByComparator != null) {
1720                            query = new StringBundler(6 +
1721                                            (orderByComparator.getOrderByFields().length * 6));
1722                    }
1723                    else {
1724                            query = new StringBundler(3);
1725                    }
1726    
1727                    query.append(_SQL_SELECT_SOCIALEQUITYUSER_WHERE);
1728    
1729                    query.append(_FINDER_COLUMN_G_R_GROUPID_2);
1730    
1731                    query.append(_FINDER_COLUMN_G_R_RANK_2);
1732    
1733                    if (orderByComparator != null) {
1734                            String[] orderByFields = orderByComparator.getOrderByFields();
1735    
1736                            if (orderByFields.length > 0) {
1737                                    query.append(WHERE_AND);
1738                            }
1739    
1740                            for (int i = 0; i < orderByFields.length; i++) {
1741                                    query.append(_ORDER_BY_ENTITY_ALIAS);
1742                                    query.append(orderByFields[i]);
1743    
1744                                    if ((i + 1) < orderByFields.length) {
1745                                            if (orderByComparator.isAscending() ^ previous) {
1746                                                    query.append(WHERE_GREATER_THAN_HAS_NEXT);
1747                                            }
1748                                            else {
1749                                                    query.append(WHERE_LESSER_THAN_HAS_NEXT);
1750                                            }
1751                                    }
1752                                    else {
1753                                            if (orderByComparator.isAscending() ^ previous) {
1754                                                    query.append(WHERE_GREATER_THAN);
1755                                            }
1756                                            else {
1757                                                    query.append(WHERE_LESSER_THAN);
1758                                            }
1759                                    }
1760                            }
1761    
1762                            query.append(ORDER_BY_CLAUSE);
1763    
1764                            for (int i = 0; i < orderByFields.length; i++) {
1765                                    query.append(_ORDER_BY_ENTITY_ALIAS);
1766                                    query.append(orderByFields[i]);
1767    
1768                                    if ((i + 1) < orderByFields.length) {
1769                                            if (orderByComparator.isAscending() ^ previous) {
1770                                                    query.append(ORDER_BY_ASC_HAS_NEXT);
1771                                            }
1772                                            else {
1773                                                    query.append(ORDER_BY_DESC_HAS_NEXT);
1774                                            }
1775                                    }
1776                                    else {
1777                                            if (orderByComparator.isAscending() ^ previous) {
1778                                                    query.append(ORDER_BY_ASC);
1779                                            }
1780                                            else {
1781                                                    query.append(ORDER_BY_DESC);
1782                                            }
1783                                    }
1784                            }
1785                    }
1786    
1787                    String sql = query.toString();
1788    
1789                    Query q = session.createQuery(sql);
1790    
1791                    q.setFirstResult(0);
1792                    q.setMaxResults(2);
1793    
1794                    QueryPos qPos = QueryPos.getInstance(q);
1795    
1796                    qPos.add(groupId);
1797    
1798                    qPos.add(rank);
1799    
1800                    if (orderByComparator != null) {
1801                            Object[] values = orderByComparator.getOrderByValues(socialEquityUser);
1802    
1803                            for (Object value : values) {
1804                                    qPos.add(value);
1805                            }
1806                    }
1807    
1808                    List<SocialEquityUser> list = q.list();
1809    
1810                    if (list.size() == 2) {
1811                            return list.get(1);
1812                    }
1813                    else {
1814                            return null;
1815                    }
1816            }
1817    
1818            public List<SocialEquityUser> findAll() throws SystemException {
1819                    return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
1820            }
1821    
1822            public List<SocialEquityUser> findAll(int start, int end)
1823                    throws SystemException {
1824                    return findAll(start, end, null);
1825            }
1826    
1827            public List<SocialEquityUser> findAll(int start, int end,
1828                    OrderByComparator orderByComparator) throws SystemException {
1829                    Object[] finderArgs = new Object[] {
1830                                    String.valueOf(start), String.valueOf(end),
1831                                    String.valueOf(orderByComparator)
1832                            };
1833    
1834                    List<SocialEquityUser> list = (List<SocialEquityUser>)FinderCacheUtil.getResult(FINDER_PATH_FIND_ALL,
1835                                    finderArgs, this);
1836    
1837                    if (list == null) {
1838                            Session session = null;
1839    
1840                            try {
1841                                    session = openSession();
1842    
1843                                    StringBundler query = null;
1844                                    String sql = null;
1845    
1846                                    if (orderByComparator != null) {
1847                                            query = new StringBundler(2 +
1848                                                            (orderByComparator.getOrderByFields().length * 3));
1849    
1850                                            query.append(_SQL_SELECT_SOCIALEQUITYUSER);
1851    
1852                                            appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
1853                                                    orderByComparator);
1854    
1855                                            sql = query.toString();
1856                                    }
1857                                    else {
1858                                            sql = _SQL_SELECT_SOCIALEQUITYUSER;
1859                                    }
1860    
1861                                    Query q = session.createQuery(sql);
1862    
1863                                    if (orderByComparator == null) {
1864                                            list = (List<SocialEquityUser>)QueryUtil.list(q,
1865                                                            getDialect(), start, end, false);
1866    
1867                                            Collections.sort(list);
1868                                    }
1869                                    else {
1870                                            list = (List<SocialEquityUser>)QueryUtil.list(q,
1871                                                            getDialect(), start, end);
1872                                    }
1873                            }
1874                            catch (Exception e) {
1875                                    throw processException(e);
1876                            }
1877                            finally {
1878                                    if (list == null) {
1879                                            list = new ArrayList<SocialEquityUser>();
1880                                    }
1881    
1882                                    cacheResult(list);
1883    
1884                                    FinderCacheUtil.putResult(FINDER_PATH_FIND_ALL, finderArgs, list);
1885    
1886                                    closeSession(session);
1887                            }
1888                    }
1889    
1890                    return list;
1891            }
1892    
1893            public void removeByGroupId(long groupId) throws SystemException {
1894                    for (SocialEquityUser socialEquityUser : findByGroupId(groupId)) {
1895                            remove(socialEquityUser);
1896                    }
1897            }
1898    
1899            public void removeByGroupRanked(long groupId) throws SystemException {
1900                    for (SocialEquityUser socialEquityUser : findByGroupRanked(groupId)) {
1901                            remove(socialEquityUser);
1902                    }
1903            }
1904    
1905            public void removeByUserId(long userId) throws SystemException {
1906                    for (SocialEquityUser socialEquityUser : findByUserId(userId)) {
1907                            remove(socialEquityUser);
1908                    }
1909            }
1910    
1911            public void removeByRank(int rank) throws SystemException {
1912                    for (SocialEquityUser socialEquityUser : findByRank(rank)) {
1913                            remove(socialEquityUser);
1914                    }
1915            }
1916    
1917            public void removeByG_U(long groupId, long userId)
1918                    throws NoSuchEquityUserException, SystemException {
1919                    SocialEquityUser socialEquityUser = findByG_U(groupId, userId);
1920    
1921                    remove(socialEquityUser);
1922            }
1923    
1924            public void removeByG_R(long groupId, int rank) throws SystemException {
1925                    for (SocialEquityUser socialEquityUser : findByG_R(groupId, rank)) {
1926                            remove(socialEquityUser);
1927                    }
1928            }
1929    
1930            public void removeAll() throws SystemException {
1931                    for (SocialEquityUser socialEquityUser : findAll()) {
1932                            remove(socialEquityUser);
1933                    }
1934            }
1935    
1936            public int countByGroupId(long groupId) throws SystemException {
1937                    Object[] finderArgs = new Object[] { groupId };
1938    
1939                    Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_GROUPID,
1940                                    finderArgs, this);
1941    
1942                    if (count == null) {
1943                            Session session = null;
1944    
1945                            try {
1946                                    session = openSession();
1947    
1948                                    StringBundler query = new StringBundler(2);
1949    
1950                                    query.append(_SQL_COUNT_SOCIALEQUITYUSER_WHERE);
1951    
1952                                    query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
1953    
1954                                    String sql = query.toString();
1955    
1956                                    Query q = session.createQuery(sql);
1957    
1958                                    QueryPos qPos = QueryPos.getInstance(q);
1959    
1960                                    qPos.add(groupId);
1961    
1962                                    count = (Long)q.uniqueResult();
1963                            }
1964                            catch (Exception e) {
1965                                    throw processException(e);
1966                            }
1967                            finally {
1968                                    if (count == null) {
1969                                            count = Long.valueOf(0);
1970                                    }
1971    
1972                                    FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_GROUPID,
1973                                            finderArgs, count);
1974    
1975                                    closeSession(session);
1976                            }
1977                    }
1978    
1979                    return count.intValue();
1980            }
1981    
1982            public int countByGroupRanked(long groupId) throws SystemException {
1983                    Object[] finderArgs = new Object[] { groupId };
1984    
1985                    Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_GROUPRANKED,
1986                                    finderArgs, this);
1987    
1988                    if (count == null) {
1989                            Session session = null;
1990    
1991                            try {
1992                                    session = openSession();
1993    
1994                                    StringBundler query = new StringBundler(2);
1995    
1996                                    query.append(_SQL_COUNT_SOCIALEQUITYUSER_WHERE);
1997    
1998                                    query.append(_FINDER_COLUMN_GROUPRANKED_GROUPID_2);
1999    
2000                                    String sql = query.toString();
2001    
2002                                    Query q = session.createQuery(sql);
2003    
2004                                    QueryPos qPos = QueryPos.getInstance(q);
2005    
2006                                    qPos.add(groupId);
2007    
2008                                    count = (Long)q.uniqueResult();
2009                            }
2010                            catch (Exception e) {
2011                                    throw processException(e);
2012                            }
2013                            finally {
2014                                    if (count == null) {
2015                                            count = Long.valueOf(0);
2016                                    }
2017    
2018                                    FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_GROUPRANKED,
2019                                            finderArgs, count);
2020    
2021                                    closeSession(session);
2022                            }
2023                    }
2024    
2025                    return count.intValue();
2026            }
2027    
2028            public int countByUserId(long userId) throws SystemException {
2029                    Object[] finderArgs = new Object[] { userId };
2030    
2031                    Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_USERID,
2032                                    finderArgs, this);
2033    
2034                    if (count == null) {
2035                            Session session = null;
2036    
2037                            try {
2038                                    session = openSession();
2039    
2040                                    StringBundler query = new StringBundler(2);
2041    
2042                                    query.append(_SQL_COUNT_SOCIALEQUITYUSER_WHERE);
2043    
2044                                    query.append(_FINDER_COLUMN_USERID_USERID_2);
2045    
2046                                    String sql = query.toString();
2047    
2048                                    Query q = session.createQuery(sql);
2049    
2050                                    QueryPos qPos = QueryPos.getInstance(q);
2051    
2052                                    qPos.add(userId);
2053    
2054                                    count = (Long)q.uniqueResult();
2055                            }
2056                            catch (Exception e) {
2057                                    throw processException(e);
2058                            }
2059                            finally {
2060                                    if (count == null) {
2061                                            count = Long.valueOf(0);
2062                                    }
2063    
2064                                    FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_USERID,
2065                                            finderArgs, count);
2066    
2067                                    closeSession(session);
2068                            }
2069                    }
2070    
2071                    return count.intValue();
2072            }
2073    
2074            public int countByRank(int rank) throws SystemException {
2075                    Object[] finderArgs = new Object[] { rank };
2076    
2077                    Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_RANK,
2078                                    finderArgs, this);
2079    
2080                    if (count == null) {
2081                            Session session = null;
2082    
2083                            try {
2084                                    session = openSession();
2085    
2086                                    StringBundler query = new StringBundler(2);
2087    
2088                                    query.append(_SQL_COUNT_SOCIALEQUITYUSER_WHERE);
2089    
2090                                    query.append(_FINDER_COLUMN_RANK_RANK_2);
2091    
2092                                    String sql = query.toString();
2093    
2094                                    Query q = session.createQuery(sql);
2095    
2096                                    QueryPos qPos = QueryPos.getInstance(q);
2097    
2098                                    qPos.add(rank);
2099    
2100                                    count = (Long)q.uniqueResult();
2101                            }
2102                            catch (Exception e) {
2103                                    throw processException(e);
2104                            }
2105                            finally {
2106                                    if (count == null) {
2107                                            count = Long.valueOf(0);
2108                                    }
2109    
2110                                    FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_RANK,
2111                                            finderArgs, count);
2112    
2113                                    closeSession(session);
2114                            }
2115                    }
2116    
2117                    return count.intValue();
2118            }
2119    
2120            public int countByG_U(long groupId, long userId) throws SystemException {
2121                    Object[] finderArgs = new Object[] { groupId, userId };
2122    
2123                    Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_G_U,
2124                                    finderArgs, this);
2125    
2126                    if (count == null) {
2127                            Session session = null;
2128    
2129                            try {
2130                                    session = openSession();
2131    
2132                                    StringBundler query = new StringBundler(3);
2133    
2134                                    query.append(_SQL_COUNT_SOCIALEQUITYUSER_WHERE);
2135    
2136                                    query.append(_FINDER_COLUMN_G_U_GROUPID_2);
2137    
2138                                    query.append(_FINDER_COLUMN_G_U_USERID_2);
2139    
2140                                    String sql = query.toString();
2141    
2142                                    Query q = session.createQuery(sql);
2143    
2144                                    QueryPos qPos = QueryPos.getInstance(q);
2145    
2146                                    qPos.add(groupId);
2147    
2148                                    qPos.add(userId);
2149    
2150                                    count = (Long)q.uniqueResult();
2151                            }
2152                            catch (Exception e) {
2153                                    throw processException(e);
2154                            }
2155                            finally {
2156                                    if (count == null) {
2157                                            count = Long.valueOf(0);
2158                                    }
2159    
2160                                    FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_G_U, finderArgs,
2161                                            count);
2162    
2163                                    closeSession(session);
2164                            }
2165                    }
2166    
2167                    return count.intValue();
2168            }
2169    
2170            public int countByG_R(long groupId, int rank) throws SystemException {
2171                    Object[] finderArgs = new Object[] { groupId, rank };
2172    
2173                    Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_G_R,
2174                                    finderArgs, this);
2175    
2176                    if (count == null) {
2177                            Session session = null;
2178    
2179                            try {
2180                                    session = openSession();
2181    
2182                                    StringBundler query = new StringBundler(3);
2183    
2184                                    query.append(_SQL_COUNT_SOCIALEQUITYUSER_WHERE);
2185    
2186                                    query.append(_FINDER_COLUMN_G_R_GROUPID_2);
2187    
2188                                    query.append(_FINDER_COLUMN_G_R_RANK_2);
2189    
2190                                    String sql = query.toString();
2191    
2192                                    Query q = session.createQuery(sql);
2193    
2194                                    QueryPos qPos = QueryPos.getInstance(q);
2195    
2196                                    qPos.add(groupId);
2197    
2198                                    qPos.add(rank);
2199    
2200                                    count = (Long)q.uniqueResult();
2201                            }
2202                            catch (Exception e) {
2203                                    throw processException(e);
2204                            }
2205                            finally {
2206                                    if (count == null) {
2207                                            count = Long.valueOf(0);
2208                                    }
2209    
2210                                    FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_G_R, finderArgs,
2211                                            count);
2212    
2213                                    closeSession(session);
2214                            }
2215                    }
2216    
2217                    return count.intValue();
2218            }
2219    
2220            public int countAll() throws SystemException {
2221                    Object[] finderArgs = new Object[0];
2222    
2223                    Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
2224                                    finderArgs, this);
2225    
2226                    if (count == null) {
2227                            Session session = null;
2228    
2229                            try {
2230                                    session = openSession();
2231    
2232                                    Query q = session.createQuery(_SQL_COUNT_SOCIALEQUITYUSER);
2233    
2234                                    count = (Long)q.uniqueResult();
2235                            }
2236                            catch (Exception e) {
2237                                    throw processException(e);
2238                            }
2239                            finally {
2240                                    if (count == null) {
2241                                            count = Long.valueOf(0);
2242                                    }
2243    
2244                                    FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL, finderArgs,
2245                                            count);
2246    
2247                                    closeSession(session);
2248                            }
2249                    }
2250    
2251                    return count.intValue();
2252            }
2253    
2254            public void afterPropertiesSet() {
2255                    String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
2256                                            com.liferay.portal.util.PropsUtil.get(
2257                                                    "value.object.listener.com.liferay.portlet.social.model.SocialEquityUser")));
2258    
2259                    if (listenerClassNames.length > 0) {
2260                            try {
2261                                    List<ModelListener<SocialEquityUser>> listenersList = new ArrayList<ModelListener<SocialEquityUser>>();
2262    
2263                                    for (String listenerClassName : listenerClassNames) {
2264                                            listenersList.add((ModelListener<SocialEquityUser>)InstanceFactory.newInstance(
2265                                                            listenerClassName));
2266                                    }
2267    
2268                                    listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
2269                            }
2270                            catch (Exception e) {
2271                                    _log.error(e);
2272                            }
2273                    }
2274            }
2275    
2276            @BeanReference(type = SocialActivityPersistence.class)
2277            protected SocialActivityPersistence socialActivityPersistence;
2278            @BeanReference(type = SocialEquityAssetEntryPersistence.class)
2279            protected SocialEquityAssetEntryPersistence socialEquityAssetEntryPersistence;
2280            @BeanReference(type = SocialEquityHistoryPersistence.class)
2281            protected SocialEquityHistoryPersistence socialEquityHistoryPersistence;
2282            @BeanReference(type = SocialEquityLogPersistence.class)
2283            protected SocialEquityLogPersistence socialEquityLogPersistence;
2284            @BeanReference(type = SocialEquitySettingPersistence.class)
2285            protected SocialEquitySettingPersistence socialEquitySettingPersistence;
2286            @BeanReference(type = SocialEquityUserPersistence.class)
2287            protected SocialEquityUserPersistence socialEquityUserPersistence;
2288            @BeanReference(type = SocialRelationPersistence.class)
2289            protected SocialRelationPersistence socialRelationPersistence;
2290            @BeanReference(type = SocialRequestPersistence.class)
2291            protected SocialRequestPersistence socialRequestPersistence;
2292            @BeanReference(type = ResourcePersistence.class)
2293            protected ResourcePersistence resourcePersistence;
2294            @BeanReference(type = UserPersistence.class)
2295            protected UserPersistence userPersistence;
2296            private static final String _SQL_SELECT_SOCIALEQUITYUSER = "SELECT socialEquityUser FROM SocialEquityUser socialEquityUser";
2297            private static final String _SQL_SELECT_SOCIALEQUITYUSER_WHERE = "SELECT socialEquityUser FROM SocialEquityUser socialEquityUser WHERE ";
2298            private static final String _SQL_COUNT_SOCIALEQUITYUSER = "SELECT COUNT(socialEquityUser) FROM SocialEquityUser socialEquityUser";
2299            private static final String _SQL_COUNT_SOCIALEQUITYUSER_WHERE = "SELECT COUNT(socialEquityUser) FROM SocialEquityUser socialEquityUser WHERE ";
2300            private static final String _FINDER_COLUMN_GROUPID_GROUPID_2 = "socialEquityUser.groupId = ?";
2301            private static final String _FINDER_COLUMN_GROUPRANKED_GROUPID_2 = "socialEquityUser.groupId = ? AND socialEquityUser.rank > 0";
2302            private static final String _FINDER_COLUMN_USERID_USERID_2 = "socialEquityUser.userId = ?";
2303            private static final String _FINDER_COLUMN_RANK_RANK_2 = "socialEquityUser.rank = ?";
2304            private static final String _FINDER_COLUMN_G_U_GROUPID_2 = "socialEquityUser.groupId = ? AND ";
2305            private static final String _FINDER_COLUMN_G_U_USERID_2 = "socialEquityUser.userId = ?";
2306            private static final String _FINDER_COLUMN_G_R_GROUPID_2 = "socialEquityUser.groupId = ? AND ";
2307            private static final String _FINDER_COLUMN_G_R_RANK_2 = "socialEquityUser.rank = ?";
2308            private static final String _ORDER_BY_ENTITY_ALIAS = "socialEquityUser.";
2309            private static final String _NO_SUCH_ENTITY_WITH_PRIMARY_KEY = "No SocialEquityUser exists with the primary key ";
2310            private static final String _NO_SUCH_ENTITY_WITH_KEY = "No SocialEquityUser exists with the key {";
2311            private static Log _log = LogFactoryUtil.getLog(SocialEquityUserPersistenceImpl.class);
2312    }