Package com.enioka.jqm.api

Examples of com.enioka.jqm.api.Query


    @SuppressWarnings("unused")
    @Override
    public List<JobInstance> load(int first, int pageSize, List<SortMeta> multiSortMeta, Map<String, String> filters)
    {
        // Pagination is very important here - we are querying a table that could count millions of rows
        Query q = Query.create().setFirstRow(first).setPageSize(pageSize);

        // Add filters
        for (String key : filters.keySet())
        {
            if ("queue.name".equals(key))
            {
                q.setQueueName(filters.get(key));
            }
            else if ("h.id".equals(key))
            {
                q.setJobInstanceId(Integer.parseInt(filters.get(key)));
            }
            else if ("jd.applicationName".equals(key))
            {
                q.setApplicationName(filters.get(key));
            }
            else if ("h.user".equals(key))
            {
                q.setUser(filters.get(key));
            }
            else if ("h.parent".equals(key))
            {
                q.setParentId(Integer.parseInt(filters.get(key)));
            }
            else if ("jd.keyword1".equals(key))
            {
                q.setJobDefKeyword1(filters.get(key));
            }
            else if ("jd.keyword2".equals(key))
            {
                q.setJobDefKeyword2(filters.get(key));
            }
            else if ("jd.keyword3".equals(key))
            {
                q.setJobDefKeyword3(filters.get(key));
            }
            else if ("jd.application".equals(key))
            {
                q.setJobDefApplication(filters.get(key));
            }
            else if ("jd.module".equals(key))
            {
                q.setJobDefModule(filters.get(key));
            }
        }
        if (this.fromFilter != null)
        {
            Calendar tCalendar = Calendar.getInstance();
            tCalendar.setTime(fromFilter);
            q.setBeganRunningAfter(tCalendar);
        }
        if (this.untilFilter != null)
        {
            Calendar tCalendar = Calendar.getInstance();
            tCalendar.setTime(untilFilter);
            q.setBeganRunningBefore(tCalendar);
        }

        // Add sorts
        if (multiSortMeta == null && sortCache != null)
        {
            multiSortMeta = sortCache;
        }
        if (multiSortMeta != null)
        {
            sortCache = multiSortMeta;
            for (SortMeta sm : multiSortMeta)
            {
                if ("queue.name".equals(sm.getSortField()))
                {
                    Object p = sm.getSortOrder().equals(SortOrder.ASCENDING) ? q.addSortAsc(Sort.QUEUENAME) : q.addSortDesc(Sort.QUEUENAME);
                }
                else if ("h.id".equals(sm.getSortField()))
                {
                    Object p = sm.getSortOrder().equals(SortOrder.ASCENDING) ? q.addSortAsc(Sort.ID) : q.addSortDesc(Sort.ID);
                }
                else if ("jd.applicationName".equals(sm.getSortField()))
                {
                    Object p = sm.getSortOrder().equals(SortOrder.ASCENDING) ? q.addSortAsc(Sort.APPLICATIONNAME) : q
                            .addSortDesc(Sort.APPLICATIONNAME);
                }
                else if ("h.user".equals(sm.getSortField()))
                {
                    Object p = sm.getSortOrder().equals(SortOrder.ASCENDING) ? q.addSortAsc(Sort.USERNAME) : q.addSortDesc(Sort.USERNAME);
                }
                else if ("h.parent".equals(sm.getSortField()))
                {
                    Object p = sm.getSortOrder().equals(SortOrder.ASCENDING) ? q.addSortAsc(Sort.PARENTID) : q.addSortDesc(Sort.PARENTID);
                }

                else if ("h.enqueue".equals(sm.getSortField()))
                {
                    Object p = sm.getSortOrder().equals(SortOrder.ASCENDING) ? q.addSortAsc(Sort.DATEENQUEUE) : q
                            .addSortDesc(Sort.DATEENQUEUE);
                }
                else if ("h.begin".equals(sm.getSortField()))
                {
                    Object p = sm.getSortOrder().equals(SortOrder.ASCENDING) ? q.addSortAsc(Sort.DATEEXECUTION) : q
                            .addSortDesc(Sort.DATEENQUEUE);
                }
                else if ("h.end".equals(sm.getSortField()))
                {
                    Object p = sm.getSortOrder().equals(SortOrder.ASCENDING) ? q.addSortAsc(Sort.DATEEND) : q.addSortDesc(Sort.DATEEND);
                }
            }
        }

        // Run the query
        q.run();
        this.setRowCount(q.getResultSize());
        jiCache = q.getResults();
        return q.getResults();
    }
View Full Code Here

TOP

Related Classes of com.enioka.jqm.api.Query

Copyright © 2018 www.massapicom. 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.