Package reportgen.utils

Examples of reportgen.utils.ReportException


        this.orderPriority = orderPriority;
    }

    public void validate() throws ReportException {
        if(colTitle == null || colTitle.length()==0) {
            throw new ReportException("Колонка результата должна иметь уникальный заголовок");
        }
    }
View Full Code Here


            if(cols.get(i).getTitle().equals(selectCol)) {
                selectColumn = i;
            }
        }
        if(selectColumn == -1) {
            throw new ReportException("Неизвестная колонка выбора: " + selectCol);
        }

        constant = XML.getBoolAttribute(element, ATTR_CONSTANT, false, false);
        canBeOmitted = XML.getBoolAttribute(element, ATTR_CANBEOMMITED, false, false);

        Element resultsEl = element.getChild(QueryResults.TAG);
        if(resultsEl != null) {
            setDefaultResults(new QueryResults(resultsEl));
        } else if(constant) {
            throw new ReportException("Для подотчета '" + selectTitle + "' указано использовать"
                    + " предварительно загруженные результаты, но они отсутствуют");
        }
    }
View Full Code Here

        return constant;
    }

    public void setConstant(boolean constant) throws ReportException {
        if(constant && defaultResults == null) {
            throw new ReportException("Не заданы дефолтовые значения");
        }
        this.constant = constant;
    }
View Full Code Here

     * @return
     * @throws reportgen.ren.exception.ReportException
     */
    private Object getDefaultColValue(int col, int row) throws ReportException {
        if(defaultResults == null || defaultResults.getRowCount() == 0) {
            throw new ReportException("Отсутствуют результаты выборки по-умолчанию");
        }
        //only specified row
        if(row != IGNORE_ROW ) {
            return defaultResults.getRow(row).getValue(col);
        }
View Full Code Here

    public void setDefaultResults(QueryResults results)
            throws ReportException {
        assert results != null;

        if(results.getRowCount() == 0) {
            throw new ReportException("Нельзя назначать пустые результаты в качестве "
                    + "дефолтного значения подотчета '" + report.getTitle() + "'");
        }
        //дефолтные результаты должны соответствовать количеству строк подотчета
        if (rowCount.getMinimum() > results.getRowCount()) {
            throw new ReportException("Должно быть выбрано, не менее " + rowCount.getMinimum() + " строк(и)");
        }
        if (rowCount.getMaximum() < results.getRowCount()) {
            throw new ReportException("Должно быть выбрано, не более " + rowCount.getMaximum() + " строк(и)");
        }

        //назначаем результаты и отмечаем их как выброанные
        defaultResults = results;
        needUserActivity = false;
View Full Code Here

     * в момент парсинга результатов.
     * @param results
     */
    public void setResults(QueryResults results) throws ReportException {
        if(results.getRowCount() < rowCount.getMinimum()) {
            throw new ReportException(
                "Подотчет '" + report.getTitle() + "' вернул "+ results.getRowCount() + " строк(и),"
                + " а в условиях его использования предполагается выбрать "
                + " не менее " + rowCount.getMinimum() + "строк(и)");
        }
        this.queryResults = results;
View Full Code Here

     */
    void setResultUserInput(UserInputSelect ui) throws ReportException {
        ArrayList<Integer> selected = ui.getSelected();
        if(selected.size() == 0) {
            if(!canBeOmitted) {
                throw new ReportException("Пользователь не сделал выбор");
            }
            isOmitted = true;
        } else {
            for(Integer index: selected) {
                if(index < 0 || index >= queryResults.getRowCount()) {
                    throw new ReportException("Пользователь сделал некорректный выбор");
                }
            }

            if(selected.size() > rowCount.getMaximum()) {
                throw new ReportException("Пользователь выбрал " + selected.size()
                        + " строк, а должен был выбрать не более" + rowCount.getMaximum());
            }

            if(selected.size() < rowCount.getMinimum()) {
                throw new ReportException("Пользователь выбрал " + selected.size()
                        + " строк, а должен был не менее " + rowCount.getMinimum());
            }

            selectedRows = selected;
            isOmitted = false;
View Full Code Here

     * @throws reportgen.ren.exception.ReportException
     */
    private Object getResultsColValue(int col, int row) throws ReportException {
        //ODZ
        if(isOmitted) {
            throw new ReportException("Пользователь не сделал свой выбор");
        }
        if(selectedRows == null || queryResults == null) {
            throw new ReportException("Подотчет '" + getSelectTitle
                    ()+ "(" + report.getTitle() +")' не выполнен, "
                    + "или пользователь еще сделал свой выбор");
        }

        //only specified row
View Full Code Here

        for(int i=0; i<cols.size(); i++) {
            if(cols.get(i).getTitle().equals(column)) {
                return i;
            }
        }
        throw new ReportException("Колонка " + column + " в отчете "
                + report.getTitle() + " не найдена!");
    }
View Full Code Here

        //проверка, что результаты всех выборок соответствуют результатам отчета
        for(int i=0; i<cores.size(); i++) {
            QCore core = cores.get(i);
            CoreColumnList coreColumns = core.getColumns();
            if(coreColumns.size() != results.size()) {
                throw new ReportException("Результаты выборки '" + core.getTitle()
                    + "' не соответствуют результатам отчета");
            }

            for(int j=0; j<coreColumns.size(); j++) {
                QueryResultColumn coreCol = coreColumns.get(j);
                ReportResultColumn resultCol = results.get(j);
                Class coreCls = coreCol.getCls();
                Class resCls = resultCol.getCls();
                if(resCls == null) {
                    throw new ReportException("Результаты выборки '" + coreCol.getColTitle()
                        + "' не может быть равен null");
                } else if (coreCls != null && !coreCls.equals(resCls)) {
                    throw new ReportException("Результаты выборки '" + coreCol.getColTitle()
                        + "' не соответствует результату отчета по типу ("
                        + coreCol.getCls().getSimpleName() + " != "
                        + resultCol.getCls().getSimpleName() + ")");
                }
            }
View Full Code Here

TOP

Related Classes of reportgen.utils.ReportException

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.