Search in sources :

Example 26 with Gadget

use of com.liferay.opensocial.model.Gadget in project liferay-ide by liferay.

the class GadgetPersistenceImpl method filterGetByUuid_PrevAndNext.

protected Gadget filterGetByUuid_PrevAndNext(Session session, Gadget gadget, String uuid, OrderByComparator orderByComparator, boolean previous) {
    StringBundler query = null;
    if (orderByComparator != null) {
        query = new StringBundler(6 + (orderByComparator.getOrderByFields().length * 6));
    } else {
        query = new StringBundler(3);
    }
    if (getDB().isSupportsInlineDistinct()) {
        query.append(_FILTER_SQL_SELECT_GADGET_WHERE);
    } else {
        query.append(_FILTER_SQL_SELECT_GADGET_NO_INLINE_DISTINCT_WHERE_1);
    }
    boolean bindUuid = false;
    if (uuid == null) {
        query.append(_FINDER_COLUMN_UUID_UUID_1_SQL);
    } else if (uuid.equals(StringPool.BLANK)) {
        query.append(_FINDER_COLUMN_UUID_UUID_3_SQL);
    } else {
        bindUuid = true;
        query.append(_FINDER_COLUMN_UUID_UUID_2_SQL);
    }
    if (!getDB().isSupportsInlineDistinct()) {
        query.append(_FILTER_SQL_SELECT_GADGET_NO_INLINE_DISTINCT_WHERE_2);
    }
    if (orderByComparator != null) {
        String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
        if (orderByConditionFields.length > 0) {
            query.append(WHERE_AND);
        }
        for (int i = 0; i < orderByConditionFields.length; i++) {
            if (getDB().isSupportsInlineDistinct()) {
                query.append(_ORDER_BY_ENTITY_ALIAS);
            } else {
                query.append(_ORDER_BY_ENTITY_TABLE);
            }
            query.append(orderByConditionFields[i]);
            if ((i + 1) < orderByConditionFields.length) {
                if (orderByComparator.isAscending() ^ previous) {
                    query.append(WHERE_GREATER_THAN_HAS_NEXT);
                } else {
                    query.append(WHERE_LESSER_THAN_HAS_NEXT);
                }
            } else {
                if (orderByComparator.isAscending() ^ previous) {
                    query.append(WHERE_GREATER_THAN);
                } else {
                    query.append(WHERE_LESSER_THAN);
                }
            }
        }
        query.append(ORDER_BY_CLAUSE);
        String[] orderByFields = orderByComparator.getOrderByFields();
        for (int i = 0; i < orderByFields.length; i++) {
            if (getDB().isSupportsInlineDistinct()) {
                query.append(_ORDER_BY_ENTITY_ALIAS);
            } else {
                query.append(_ORDER_BY_ENTITY_TABLE);
            }
            query.append(orderByFields[i]);
            if ((i + 1) < orderByFields.length) {
                if (orderByComparator.isAscending() ^ previous) {
                    query.append(ORDER_BY_ASC_HAS_NEXT);
                } else {
                    query.append(ORDER_BY_DESC_HAS_NEXT);
                }
            } else {
                if (orderByComparator.isAscending() ^ previous) {
                    query.append(ORDER_BY_ASC);
                } else {
                    query.append(ORDER_BY_DESC);
                }
            }
        }
    } else {
        if (getDB().isSupportsInlineDistinct()) {
            query.append(GadgetModelImpl.ORDER_BY_JPQL);
        } else {
            query.append(GadgetModelImpl.ORDER_BY_SQL);
        }
    }
    String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(), Gadget.class.getName(), _FILTER_ENTITY_TABLE_FILTER_PK_COLUMN);
    SQLQuery q = session.createSQLQuery(sql);
    q.setFirstResult(0);
    q.setMaxResults(2);
    if (getDB().isSupportsInlineDistinct()) {
        q.addEntity(_FILTER_ENTITY_ALIAS, GadgetImpl.class);
    } else {
        q.addEntity(_FILTER_ENTITY_TABLE, GadgetImpl.class);
    }
    QueryPos qPos = QueryPos.getInstance(q);
    if (bindUuid) {
        qPos.add(uuid);
    }
    if (orderByComparator != null) {
        Object[] values = orderByComparator.getOrderByConditionValues(gadget);
        for (Object value : values) {
            qPos.add(value);
        }
    }
    List<Gadget> list = q.list();
    if (list.size() == 2) {
        return list.get(1);
    } else {
        return null;
    }
}
Also used : Gadget(com.liferay.opensocial.model.Gadget) SQLQuery(com.liferay.portal.kernel.dao.orm.SQLQuery) QueryPos(com.liferay.portal.kernel.dao.orm.QueryPos) StringBundler(com.liferay.portal.kernel.util.StringBundler)

Example 27 with Gadget

use of com.liferay.opensocial.model.Gadget in project liferay-ide by liferay.

the class GadgetPersistenceImpl method findByCompanyId_Last.

/**
 * Returns the last gadget in the ordered set where companyId = &#63;.
 *
 * @param companyId the company ID
 * @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
 * @return the last matching gadget
 * @throws com.liferay.opensocial.NoSuchGadgetException if a matching gadget could not be found
 * @throws SystemException if a system exception occurred
 */
@Override
public Gadget findByCompanyId_Last(long companyId, OrderByComparator orderByComparator) throws NoSuchGadgetException, SystemException {
    Gadget gadget = fetchByCompanyId_Last(companyId, orderByComparator);
    if (gadget != null) {
        return gadget;
    }
    StringBundler msg = new StringBundler(4);
    msg.append(_NO_SUCH_ENTITY_WITH_KEY);
    msg.append("companyId=");
    msg.append(companyId);
    msg.append(StringPool.CLOSE_CURLY_BRACE);
    throw new NoSuchGadgetException(msg.toString());
}
Also used : Gadget(com.liferay.opensocial.model.Gadget) NoSuchGadgetException(com.liferay.opensocial.NoSuchGadgetException) StringBundler(com.liferay.portal.kernel.util.StringBundler)

Example 28 with Gadget

use of com.liferay.opensocial.model.Gadget in project liferay-ide by liferay.

the class GadgetPersistenceImpl method findAll.

/**
 * Returns an ordered range of all the gadgets.
 *
 * <p>
 * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.opensocial.model.impl.GadgetModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
 * </p>
 *
 * @param start the lower bound of the range of gadgets
 * @param end the upper bound of the range of gadgets (not inclusive)
 * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
 * @return the ordered range of gadgets
 * @throws SystemException if a system exception occurred
 */
@Override
public List<Gadget> findAll(int start, int end, OrderByComparator orderByComparator) throws SystemException {
    boolean pagination = true;
    FinderPath finderPath = null;
    Object[] finderArgs = null;
    if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) && (orderByComparator == null)) {
        pagination = false;
        finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_ALL;
        finderArgs = FINDER_ARGS_EMPTY;
    } else {
        finderPath = FINDER_PATH_WITH_PAGINATION_FIND_ALL;
        finderArgs = new Object[] { start, end, orderByComparator };
    }
    List<Gadget> list = (List<Gadget>) FinderCacheUtil.getResult(finderPath, finderArgs, this);
    if (list == null) {
        StringBundler query = null;
        String sql = null;
        if (orderByComparator != null) {
            query = new StringBundler(2 + (orderByComparator.getOrderByFields().length * 3));
            query.append(_SQL_SELECT_GADGET);
            appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, orderByComparator);
            sql = query.toString();
        } else {
            sql = _SQL_SELECT_GADGET;
            if (pagination) {
                sql = sql.concat(GadgetModelImpl.ORDER_BY_JPQL);
            }
        }
        Session session = null;
        try {
            session = openSession();
            Query q = session.createQuery(sql);
            if (!pagination) {
                list = (List<Gadget>) QueryUtil.list(q, getDialect(), start, end, false);
                Collections.sort(list);
                list = new UnmodifiableList<Gadget>(list);
            } else {
                list = (List<Gadget>) QueryUtil.list(q, getDialect(), start, end);
            }
            cacheResult(list);
            FinderCacheUtil.putResult(finderPath, finderArgs, list);
        } catch (Exception e) {
            FinderCacheUtil.removeResult(finderPath, finderArgs);
            throw processException(e);
        } finally {
            closeSession(session);
        }
    }
    return list;
}
Also used : Gadget(com.liferay.opensocial.model.Gadget) SQLQuery(com.liferay.portal.kernel.dao.orm.SQLQuery) Query(com.liferay.portal.kernel.dao.orm.Query) StringBundler(com.liferay.portal.kernel.util.StringBundler) SystemException(com.liferay.portal.kernel.exception.SystemException) NoSuchGadgetException(com.liferay.opensocial.NoSuchGadgetException) FinderPath(com.liferay.portal.kernel.dao.orm.FinderPath) ArrayList(java.util.ArrayList) UnmodifiableList(com.liferay.portal.kernel.util.UnmodifiableList) List(java.util.List) Session(com.liferay.portal.kernel.dao.orm.Session)

Example 29 with Gadget

use of com.liferay.opensocial.model.Gadget in project liferay-ide by liferay.

the class GadgetPersistenceImpl method filterGetByUuid_C_PrevAndNext.

protected Gadget filterGetByUuid_C_PrevAndNext(Session session, Gadget gadget, String uuid, long companyId, OrderByComparator orderByComparator, boolean previous) {
    StringBundler query = null;
    if (orderByComparator != null) {
        query = new StringBundler(6 + (orderByComparator.getOrderByFields().length * 6));
    } else {
        query = new StringBundler(3);
    }
    if (getDB().isSupportsInlineDistinct()) {
        query.append(_FILTER_SQL_SELECT_GADGET_WHERE);
    } else {
        query.append(_FILTER_SQL_SELECT_GADGET_NO_INLINE_DISTINCT_WHERE_1);
    }
    boolean bindUuid = false;
    if (uuid == null) {
        query.append(_FINDER_COLUMN_UUID_C_UUID_1_SQL);
    } else if (uuid.equals(StringPool.BLANK)) {
        query.append(_FINDER_COLUMN_UUID_C_UUID_3_SQL);
    } else {
        bindUuid = true;
        query.append(_FINDER_COLUMN_UUID_C_UUID_2_SQL);
    }
    query.append(_FINDER_COLUMN_UUID_C_COMPANYID_2);
    if (!getDB().isSupportsInlineDistinct()) {
        query.append(_FILTER_SQL_SELECT_GADGET_NO_INLINE_DISTINCT_WHERE_2);
    }
    if (orderByComparator != null) {
        String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
        if (orderByConditionFields.length > 0) {
            query.append(WHERE_AND);
        }
        for (int i = 0; i < orderByConditionFields.length; i++) {
            if (getDB().isSupportsInlineDistinct()) {
                query.append(_ORDER_BY_ENTITY_ALIAS);
            } else {
                query.append(_ORDER_BY_ENTITY_TABLE);
            }
            query.append(orderByConditionFields[i]);
            if ((i + 1) < orderByConditionFields.length) {
                if (orderByComparator.isAscending() ^ previous) {
                    query.append(WHERE_GREATER_THAN_HAS_NEXT);
                } else {
                    query.append(WHERE_LESSER_THAN_HAS_NEXT);
                }
            } else {
                if (orderByComparator.isAscending() ^ previous) {
                    query.append(WHERE_GREATER_THAN);
                } else {
                    query.append(WHERE_LESSER_THAN);
                }
            }
        }
        query.append(ORDER_BY_CLAUSE);
        String[] orderByFields = orderByComparator.getOrderByFields();
        for (int i = 0; i < orderByFields.length; i++) {
            if (getDB().isSupportsInlineDistinct()) {
                query.append(_ORDER_BY_ENTITY_ALIAS);
            } else {
                query.append(_ORDER_BY_ENTITY_TABLE);
            }
            query.append(orderByFields[i]);
            if ((i + 1) < orderByFields.length) {
                if (orderByComparator.isAscending() ^ previous) {
                    query.append(ORDER_BY_ASC_HAS_NEXT);
                } else {
                    query.append(ORDER_BY_DESC_HAS_NEXT);
                }
            } else {
                if (orderByComparator.isAscending() ^ previous) {
                    query.append(ORDER_BY_ASC);
                } else {
                    query.append(ORDER_BY_DESC);
                }
            }
        }
    } else {
        if (getDB().isSupportsInlineDistinct()) {
            query.append(GadgetModelImpl.ORDER_BY_JPQL);
        } else {
            query.append(GadgetModelImpl.ORDER_BY_SQL);
        }
    }
    String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(), Gadget.class.getName(), _FILTER_ENTITY_TABLE_FILTER_PK_COLUMN);
    SQLQuery q = session.createSQLQuery(sql);
    q.setFirstResult(0);
    q.setMaxResults(2);
    if (getDB().isSupportsInlineDistinct()) {
        q.addEntity(_FILTER_ENTITY_ALIAS, GadgetImpl.class);
    } else {
        q.addEntity(_FILTER_ENTITY_TABLE, GadgetImpl.class);
    }
    QueryPos qPos = QueryPos.getInstance(q);
    if (bindUuid) {
        qPos.add(uuid);
    }
    qPos.add(companyId);
    if (orderByComparator != null) {
        Object[] values = orderByComparator.getOrderByConditionValues(gadget);
        for (Object value : values) {
            qPos.add(value);
        }
    }
    List<Gadget> list = q.list();
    if (list.size() == 2) {
        return list.get(1);
    } else {
        return null;
    }
}
Also used : Gadget(com.liferay.opensocial.model.Gadget) SQLQuery(com.liferay.portal.kernel.dao.orm.SQLQuery) QueryPos(com.liferay.portal.kernel.dao.orm.QueryPos) StringBundler(com.liferay.portal.kernel.util.StringBundler)

Example 30 with Gadget

use of com.liferay.opensocial.model.Gadget in project liferay-ide by liferay.

the class GadgetPersistenceImpl method remove.

/**
 * Removes the gadget with the primary key from the database. Also notifies the appropriate model listeners.
 *
 * @param primaryKey the primary key of the gadget
 * @return the gadget that was removed
 * @throws com.liferay.opensocial.NoSuchGadgetException if a gadget with the primary key could not be found
 * @throws SystemException if a system exception occurred
 */
@Override
public Gadget remove(Serializable primaryKey) throws NoSuchGadgetException, SystemException {
    Session session = null;
    try {
        session = openSession();
        Gadget gadget = (Gadget) session.get(GadgetImpl.class, primaryKey);
        if (gadget == null) {
            if (_log.isWarnEnabled()) {
                _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + primaryKey);
            }
            throw new NoSuchGadgetException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + primaryKey);
        }
        return remove(gadget);
    } catch (NoSuchGadgetException nsee) {
        throw nsee;
    } catch (Exception e) {
        throw processException(e);
    } finally {
        closeSession(session);
    }
}
Also used : Gadget(com.liferay.opensocial.model.Gadget) NoSuchGadgetException(com.liferay.opensocial.NoSuchGadgetException) GadgetImpl(com.liferay.opensocial.model.impl.GadgetImpl) SystemException(com.liferay.portal.kernel.exception.SystemException) NoSuchGadgetException(com.liferay.opensocial.NoSuchGadgetException) Session(com.liferay.portal.kernel.dao.orm.Session)

Aggregations

Gadget (com.liferay.opensocial.model.Gadget)48 NoSuchGadgetException (com.liferay.opensocial.NoSuchGadgetException)24 StringBundler (com.liferay.portal.kernel.util.StringBundler)21 SystemException (com.liferay.portal.kernel.exception.SystemException)18 Session (com.liferay.portal.kernel.dao.orm.Session)16 SQLQuery (com.liferay.portal.kernel.dao.orm.SQLQuery)14 QueryPos (com.liferay.portal.kernel.dao.orm.QueryPos)13 GadgetImpl (com.liferay.opensocial.model.impl.GadgetImpl)9 Query (com.liferay.portal.kernel.dao.orm.Query)8 UnmodifiableList (com.liferay.portal.kernel.util.UnmodifiableList)8 ArrayList (java.util.ArrayList)8 List (java.util.List)8 FinderPath (com.liferay.portal.kernel.dao.orm.FinderPath)4 ThemeDisplay (com.liferay.portal.theme.ThemeDisplay)4 GadgetSpec (org.apache.shindig.gadgets.spec.GadgetSpec)3 DuplicateGadgetURLException (com.liferay.opensocial.DuplicateGadgetURLException)2 PermissionChecker (com.liferay.portal.security.permission.PermissionChecker)2 ServiceContext (com.liferay.portal.service.ServiceContext)2 GadgetPortletCategoryNamesException (com.liferay.opensocial.GadgetPortletCategoryNamesException)1 GadgetURLException (com.liferay.opensocial.GadgetURLException)1