/** * Copyright (c)2010-2011 Enterprise Website Content Management System(EWCMS), All rights reserved. * EWCMS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * http://www.ewcms.com */ /** * */ package com.ewcms.core.site.web; import static com.ewcms.common.lang.EmptyUtil.isStringNotEmpty; import static com.ewcms.common.lang.EmptyUtil.isNotNull; import com.ewcms.common.query.Resultable; import com.ewcms.common.query.jpa.EntityQueryable; import com.ewcms.core.site.model.TemplateSource; import com.ewcms.web.QueryBaseAction; /** * @author 周冬初 * */ public class SourceQueryAction extends QueryBaseAction { private static final long serialVersionUID = -8162647623675823930L; private Integer channelId; public Integer getChannelId() { return channelId; } public void setChannelId(Integer channelId) { this.channelId = channelId; } @Override protected Resultable queryResult( com.ewcms.common.query.jpa.QueryFactory queryFactory, String cacheKey, int rows, int page, Order order) { EntityQueryable query = queryFactory .createEntityQuery(TemplateSource.class).setPage(page).setRow(rows); Integer id = getParameterValue(Integer.class, "id"); if (isNotNull(id)) query.eq("id", id); String name = getParameterValue(String.class, "name"); if (isStringNotEmpty(name)) query.likeAnywhere("name", name); query.eq("channelId", getChannelId()); entityOrder(query, order); return query.queryCacheResult(cacheKey); } @Override protected Resultable querySelectionsResult( com.ewcms.common.query.jpa.QueryFactory queryFactory, int rows, int page, String[] selections, Order order) { EntityQueryable query = queryFactory .createEntityQuery(TemplateSource.class).setPage(page) .setRow(rows); query.in("id", getIds(Integer.class)); query.orderDesc("id"); return query.queryResult(); } }