LocationServiceImpl.java 文件源码

java
阅读 23 收藏 0 点赞 0 评论 0

项目:openmaxims-linux 作者:
public ActivityVoCollection listActivity(ActivityVo filterActivity, Boolean checkDuplicate)
{
    DomainFactory factory = getDomainFactory();

    if (filterActivity == null)
        return ActivityVoAssembler.createActivityVoCollectionFromActivity(factory.listDomainObjects(Activity.class));

    String hql = " from Activity activity ";
    StringBuffer condStr = new StringBuffer();
    String andStr = " ";

    ArrayList markers = new ArrayList();
    ArrayList values = new ArrayList();

    if (filterActivity.getNameIsNotNull())
    {
        // Checks the exact match
        if (checkDuplicate != null && checkDuplicate.booleanValue())
            condStr.append(andStr + " upper(activity.name) = :activityName");
        else
            condStr.append(andStr + " upper(activity.name) like :activityName");

        markers.add("activityName");
        values.add("%" + filterActivity.getName().toUpperCase() + "%");
        andStr = " and ";
    }
    if (filterActivity.getIsActiveIsNotNull())
    {
        condStr.append(andStr + " activity.isActive = :active");
        markers.add("active");
        values.add(filterActivity.getIsActive());
        andStr = " and ";
    }
    if (filterActivity.getActivityTypeIsNotNull())
    {
        condStr.append(andStr + " activity.activityType = :activityType");
        markers.add("activityType");
        values.add(getDomLookup(filterActivity.getActivityType()));
        andStr = " and ";
    }

    if (filterActivity.getIsWorkQueueIsNotNull())
    {
        condStr.append(andStr + " activity.isWorkQueue = :workQ ");
        markers.add("workQ");
        values.add(filterActivity.getIsWorkQueue());
        andStr = " and ";
    }

    if (andStr.equals(" and "))
        hql += " where ";

    hql += condStr.toString();
    return ActivityVoAssembler.createActivityVoCollectionFromActivity(factory.find(hql, markers, values)).sort();
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号