Package org.zanata.action

Source Code of org.zanata.action.QueryProjectPagedListDataModel

/*
*
*  * Copyright 2013, Red Hat, Inc. and individual contributors as indicated by the
*  * @author tags. See the copyright.txt file in the distribution for a full
*  * listing of individual contributors.
*  *
*  * This is free software; you can redistribute it and/or modify it under the
*  * terms of the GNU Lesser General Public License as published by the Free
*  * Software Foundation; either version 2.1 of the License, or (at your option)
*  * any later version.
*  *
*  * This software is distributed in the hope that it will be useful, but WITHOUT
*  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
*  * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
*  * details.
*  *
*  * You should have received a copy of the GNU Lesser General Public License
*  * along with this software; if not, write to the Free Software Foundation,
*  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
*  * site: http://www.fsf.org.
*/
package org.zanata.action;

import java.io.Serializable;
import java.util.List;

import org.apache.lucene.queryParser.ParseException;
import org.zanata.dao.ProjectDAO;
import org.zanata.model.HProject;

import lombok.Getter;
import lombok.Setter;
import org.zanata.util.ServiceLocator;

/**
* @see org.zanata.action.EntityPagedListDataModel
*/
public class QueryProjectPagedListDataModel extends
        PagedListDataModel<HProject> implements Serializable {
    private static final long serialVersionUID = 1L;

    @Setter
    private boolean includeObsolete;

    @Setter
    @Getter
    private String query;

    public QueryProjectPagedListDataModel(int pageSize) {
        setPageSize(pageSize);
    }

    @Override
    public DataPage<HProject> fetchPage(int startRow, int pageSize) {
        ProjectDAO projectDAO =
                ServiceLocator.instance().getInstance(ProjectDAO.class);

        try {
            List<HProject> proj =
                    projectDAO.searchProjects(query, pageSize, startRow,
                            includeObsolete);

            int projectSize =
                    projectDAO.getQueryProjectSize(query, includeObsolete);

            return new DataPage<HProject>(projectSize, startRow, proj);

        } catch (ParseException e) {
            return null;
        }
    }
}
TOP

Related Classes of org.zanata.action.QueryProjectPagedListDataModel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.