zksandbox/src/main/java/org/zkoss/zksandbox/CustomDataSource.java

Summary

Maintainability
C
1 day
Test Coverage
package org.zkoss.zksandbox;


import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRField;


/**
 * @author Teodor Danciu (teodord@users.sourceforge.net)
 * @version $Id: CustomDataSource.java 1229 2006-04-19 10:27:35Z teodord $
 */
public class CustomDataSource implements JRDataSource
{


    /**
     *
     */
    private Object[][] data =
        {
            {"Berne", new Integer(22), "Bill Ott", "250 - 20th Ave."},
            {"Berne", new Integer(9), "James Schneider", "277 Seventh Av."},
            {"Boston", new Integer(32), "Michael Ott", "339 College Av."},
            {"Boston", new Integer(23), "Julia Heiniger", "358 College Av."},
            {"Chicago", new Integer(39), "Mary Karsen", "202 College Av."},
            {"Chicago", new Integer(35), "George Karsen", "412 College Av."},
            {"Chicago", new Integer(11), "Julia White", "412 Upland Pl."},
            {"Dallas", new Integer(47), "Janet Fuller", "445 Upland Pl."},
            {"Dallas", new Integer(43), "Susanne Smith", "2 Upland Pl."},
            {"Dallas", new Integer(40), "Susanne Miller", "440 - 20th Ave."},
            {"Dallas", new Integer(36), "John Steel", "276 Upland Pl."},
            {"Dallas", new Integer(37), "Michael Clancy", "19 Seventh Av."},
            {"Dallas", new Integer(19), "Susanne Heiniger", "86 - 20th Ave."},
            {"Dallas", new Integer(10), "Anne Fuller", "135 Upland Pl."},
            {"Dallas", new Integer(4), "Sylvia Ringer", "365 College Av."},
            {"Dallas", new Integer(0), "Laura Steel", "429 Seventh Av."},
            {"Lyon", new Integer(38), "Andrew Heiniger", "347 College Av."},
            {"Lyon", new Integer(28), "Susanne White", "74 - 20th Ave."},
            {"Lyon", new Integer(17), "Laura Ott", "443 Seventh Av."},
            {"Lyon", new Integer(2), "Anne Miller", "20 Upland Pl."},
            {"New York", new Integer(46), "Andrew May", "172 Seventh Av."},
            {"New York", new Integer(44), "Sylvia Ott", "361 College Av."},
            {"New York", new Integer(41), "Bill King", "546 College Av."},
            {"Oslo", new Integer(45), "Janet May", "396 Seventh Av."},
            {"Oslo", new Integer(42), "Robert Ott", "503 Seventh Av."},
            {"Paris", new Integer(25), "Sylvia Steel", "269 College Av."},
            {"Paris", new Integer(18), "Sylvia Fuller", "158 - 20th Ave."},
            {"Paris", new Integer(5), "Laura Miller", "294 Seventh Av."},
            {"San Francisco", new Integer(48), "Robert White", "549 Seventh Av."},
            {"San Francisco", new Integer(7), "James Peterson", "231 Upland Pl."}
        };

    private int index = -1;
    

    /**
     *
     */
    public CustomDataSource()
    {
    }


    /**
     *
     */
    public boolean next() throws JRException
    {
        index++;

        return (index < data.length);
    }


    /**
     *
     */
    public Object getFieldValue(JRField field) throws JRException
    {
        Object value = null;
        
        String fieldName = field.getName();
        
        if ("the_city".equals(fieldName))
        {
            value = data[index][0];
        }
        else if ("id".equals(fieldName))
        {
            value = data[index][1];
        }
        else if ("name".equals(fieldName))
        {
            value = data[index][2];
        }
        else if ("street".equals(fieldName))
        {
            value = data[index][3];
        }
        
        return value;
    }


}