Package org.jboss.dashboard.ui.components.table

Source Code of org.jboss.dashboard.ui.components.table.DataSetTableFormatter

/**
* Copyright (C) 2012 JBoss Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*       http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jboss.dashboard.ui.components.table;

import org.jboss.dashboard.displayer.table.Table;
import org.jboss.dashboard.displayer.table.TableColumn;
import org.jboss.dashboard.provider.DataFormatterRegistry;
import org.jboss.dashboard.provider.DataPropertyFormatter;
import org.jboss.dashboard.LocaleManager;
import org.jboss.dashboard.commons.comparator.ComparatorByCriteria;
import org.jboss.dashboard.provider.DataProperty;
import org.jboss.dashboard.displayer.table.DataSetTable;
import org.jboss.dashboard.displayer.table.DataSetTableModel;
import org.apache.commons.lang.StringEscapeUtils;

/**
* Table formatter which formats cell values using the data set properties.
*/
public class DataSetTableFormatter extends TableFormatter {

    protected String formatCellValue(Table table, int row, int column) {
        DataSetTable dataSetTable = (DataSetTable) table;
        DataProperty property = dataSetTable.getDataProperty(column);
        if (property == null) return "";
       
        DataPropertyFormatter formatter = DataFormatterRegistry.lookup().getPropertyFormatter(property.getPropertyId());
        return StringEscapeUtils.escapeHtml(formatter.formatValue(property, table.getValueAt(row, column), LocaleManager.currentLocale()));
    }

    protected void renderFragment(String fragment) {
        super.renderFragment(fragment);

        DataSetTable table = (DataSetTable) tableHandler.getTable();
        if ("bodyend".equals(fragment) && table.showGroupByTotals()) includePage("/components/bam/displayer/table/table_groupby_totals.jsp");
        else if ("tablestartcontents".equals(fragment) && tableHandler.isEditMode()) includePage("/components/bam/displayer/table/table_groupby_selector.jsp");
    }


    protected String getSortIcon(TableColumn column, int columnIndex) {
        // Sorting in case of a Data Set Table Model.
        DataSetTable dst = (DataSetTable) tableHandler.getTable();
        if (isColumnSortable(column)) {
            DataSetTableModel dsModel = (DataSetTableModel) dst.getModel();
            String modelIndex = Integer.toString(dsModel.getColumnPosition(column.getPropertyId()));
            ComparatorByCriteria comparator = tableHandler.getTableComparator();
            int order = 0;
            if (comparator.existCriteria(modelIndex)) order = comparator.getSortCriteriaOrdering(modelIndex);
            switch(order) {
                case 1: return ICON_ORDER_DOWN;
                case -1: return ICON_ORDER_UP;
            }
        }
        return ICON_ORDER_UNKNOWN;
    }
}
TOP

Related Classes of org.jboss.dashboard.ui.components.table.DataSetTableFormatter

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.