if (columnName.equals("Call-By-Call")) {
if (columnName.equals("callbycall")) {
    public JFreeReport createReportDefinition() {        report = new JFreeReport();        report.setName("JFritz-Anrufliste");        SimplePageDefinition pageDefinition = new SimplePageDefinition(                createDINA4PaperLandscape());        report.setPageDefinition(pageDefinition);        createColumnWidths();        report.setPageHeader(createPageHeader(report.getPageDefinition()                .getWidth()));        TextFieldElementFactory factory;        final Image callInImage = Toolkit.getDefaultToolkit().getImage(                getClass().getResource(                        "/de/moonflower/jfritz/resources/images/callin.png"));        final Image callInFailedImage = Toolkit                .getDefaultToolkit()                .getImage(                        getClass()                                .getResource(                                        "/de/moonflower/jfritz/resources/images/callinfailed.png"));        final Image callOutImage = Toolkit.getDefaultToolkit().getImage(                getClass().getResource(                        "/de/moonflower/jfritz/resources/images/callout.png"));        // Set Font size to 8        Integer fontSize = new Integer(8);        AbstractExpression exp = new AbstractExpression() {            /**			 * 			 */			private static final long serialVersionUID = 1L;			public Object getValue() {                Object ob = getDataRow().get(                        jfritz.getCallerlist().getColumnName(0));                if (ob == null)                    return null;                CallType callType = (CallType) ob;                switch (callType.calltype) {                case CallType.CALLIN:                    return callInImage;                case CallType.CALLIN_FAILED:                    return callInFailedImage;                case CallType.CALLOUT:                    return callOutImage;                default:                    return null;                }            };        };        exp.setName("print_type");        report.addExpression(exp);        exp = new AbstractExpression() {            /**			 * 			 */			private static final long serialVersionUID = 1L;			public Object getValue() {                Object ob = getDataRow().get(                        jfritz.getCallerlist().getColumnName(1));                if (ob == null) {                    return "";                }                return ob;            }        };        exp.setName("print_date");        report.addExpression(exp);        exp = new AbstractExpression() {            /**			 * 			 */			private static final long serialVersionUID = 1L;			public Object getValue() {                Object ob = getDataRow().get(                        jfritz.getCallerlist().getColumnName(2));                if (ob == null) {                    return "";                }                return ob;            }        };        exp.setName("print_callbycall");        report.addExpression(exp);        exp = new AbstractExpression() {            /**			 * 			 */			private static final long serialVersionUID = 1L;			public Object getValue() {                Object number = getDataRow().get(                        jfritz.getCallerlist().getColumnName(3));                if (number == null) {                    return "";                }                return number.toString();            };        };        exp.setName("print_number");        report.addExpression(exp);        exp = new AbstractExpression() {            /**			 * 			 */			private static final long serialVersionUID = 1L;			public Object getValue() {                Object person = getDataRow().get(                        jfritz.getCallerlist().getColumnName(4));                if (person == null)                    return "";                return ((Person) person).getFullname();            };        };        exp.setName("print_personname");        report.addExpression(exp);        exp = new AbstractExpression() {            /**			 * 			 */			private static final long serialVersionUID = 1L;			public Object getValue() {                Object obj = getDataRow().get(                        jfritz.getCallerlist().getColumnName(5));                if (obj == null)                    return "";                String port = (String) obj;                String portStr = "";                if (port.equals("4"))                    portStr = "ISDN";                else if (port.equals("0"))                    portStr = "FON 1";                else if (port.equals("1"))                    portStr = "FON 2";                else if (port.equals("2"))                    portStr = "FON 3";                else if (port.equals(""))                    portStr = "";                else                    portStr = "Port " + port;                return portStr;            };        };        exp.setName("print_port");        report.addExpression(exp);        exp = new AbstractExpression() {            /**			 * 			 */			private static final long serialVersionUID = 1L;			public Object getValue() {                Object obj = getDataRow().get(                        jfritz.getCallerlist().getColumnName(6));                if (obj == null)                    return "";                String route = (String) obj;                return route;            };        };        exp.setName("print_route");        report.addExpression(exp);        exp = new AbstractExpression() {            /**			 * 			 */			private static final long serialVersionUID = 1L;			public Object getValue() {                Object obj = getDataRow().get(                        jfritz.getCallerlist().getColumnName(7));                if (obj == null)                    return "";                int duration = Integer.parseInt(obj.toString());                return Integer.toString(duration / 60) + " min";            };        };        exp.setName("print_duration");        report.addExpression(exp);         exp = new AbstractExpression() {            /**			 * 			 */			private static final long serialVersionUID = 1L;			public Object getValue() {                Object obj = getDataRow().get(                        jfritz.getCallerlist().getColumnName(8));                if (obj == null)                    return "";                return obj.toString();            };        };        exp.setName("print_comment");        report.addExpression(exp);        /**         * // Drucke Kosten exp = new AbstractExpression() { public Object         * getValue() { Object obj = getDataRow().get(         * jfritz.getCallerlist().getColumnName(8)); if (obj == null) return         * null; if (Double.parseDouble(obj.toString()) == -1) { return         * "Unbekannt"; } else if (Double.parseDouble(obj.toString()) == -2) {         * return "Freiminuten"; } else return obj.toString() + " ct"; }; };         * exp.setName("print_cost"); report.addExpression(exp);         */        for (int i = 0; i < jfritz.getJframe().getCallerTable()                .getColumnCount(); i++) {            String columnName = jfritz.getJframe().getCallerTable()                    .getColumnModel().getColumn(i).getHeaderValue().toString();            if (columnName.equals(JFritz.getMessage("type"))) {                ImageElement imageElement = ImageFieldElementFactory                        .createImageDataRowElement("Type-Element",                                new Rectangle2D.Float(columnStart[i] + 2, 2,                                        14, 14), "print_type", true, false);                imageElement.setDynamicContent(false);                report.getItemBand().addElement(imageElement);            } else if (columnName.equals(JFritz.getMessage("date"))) {                factory = new DateFieldElementFactory();                factory.setFontSize(fontSize);                factory.setName(jfritz.getCallerlist().getColumnName(i));                factory                        .setAbsolutePosition(new Point2D.Float(columnStart[i],                                2));                factory.setMinimumSize(new Dimension(columnWidth[i], 14));                factory.setMaximumSize(new Dimension(100, 14));                factory.setColor(Color.black);                factory.setHorizontalAlignment(ElementAlignment.CENTER);                factory.setVerticalAlignment(ElementAlignment.MIDDLE);                factory.setNullString("-");                factory.setFieldname("print_date");                report.getItemBand().addElement(factory.createElement());            } else {                factory = new TextFieldElementFactory();                factory.setFontSize(fontSize);                factory.setName(jfritz.getCallerlist().getColumnName(i));                factory                        .setAbsolutePosition(new Point2D.Float(columnStart[i],                                2));                factory.setMinimumSize(new Dimension(columnWidth[i], 14));                factory.setColor(Color.BLACK);                factory.setHorizontalAlignment(ElementAlignment.CENTER);                factory.setVerticalAlignment(ElementAlignment.MIDDLE);                factory.setNullString(" ");                if (columnName.equals("Call-By-Call")) {                    factory.setFieldname("print_callbycall");                } else if (columnName.equals(JFritz.getMessage("number"))) {                    factory.setFieldname("print_number");                } else if (columnName.equals(JFritz.getMessage("participant"))) {                    factory.setFieldname("print_personname");                } else if (columnName.equals(JFritz.getMessage("port"))) {                    factory.setFieldname("print_port");                } else if (columnName.equals(JFritz.getMessage("route"))) {                    factory.setFieldname("print_route");                } else if (columnName.equals(JFritz.getMessage("duration"))) {                    factory.setFieldname("print_duration");                } else if (columnName.equals("Kommentar")) {                    factory.setFieldname("print_comment");                }                report.getItemBand().addElement(factory.createElement());            }            // Rand zeichnen            ShapeElement selement = StaticShapeElementFactory                    .createRectangleShapeElement("back", Color                            .decode("#000000"), new BasicStroke(0),                            new Rectangle2D.Float(columnStart[i], 0,                                    columnWidth[i], 18), true, false);            report.getItemBand().addElement(selement);        }        return report;    }