Other fun...

http://www.google.com/profiles/dooman87

Subscribe to RSS feed

Posts tagged with "java"

Using inner class

,

Hi all! I added new post in my blog. This post describes about some interesting features of inner classes in java.
Link: http://jajatips.blogspot.com/2009/04/using-inner-classes_6395.html

У всех есть и я хочу *All have and I want too*

,

Нечасто такое случается, когда я хочу чего-то просто потомучто у всех оно есть smile Знаете что я хочу? Я хочу сертификаты! Много разноцветных бумажек где будет написано насколько я крут! Вот! Начну в выходные с brainbeanch, первым тестом пожалуй будет Java 2 Fundamentals.

---

This happens very seldom, but...I want thing that all already have! Do you know what is this? I want certificates! Many light papers that will be describe about my high skill! smile I think, that I begin in this weekend. First test will be Java 2 Fundamentals on brainbeanch.

------

Добавлено: ну как и ожидалось - без труда не выловишь и рыбку из пруда. Результат меня не очень порадовал - всего 3.75 на Java 2 Fundamentals и 3 на J2EE sad Но, плохой результат тоже результат! Теперь понятно, в какую сторону копать, чтобы подготовиться, думаю через месяцок повторю...

---

Added: My results are not good sad Only 3.75 on Java 2 Fundamentals and 3 on J2EE. But bad result is result. Now I know what kind of questions I should prepare before test. I repeate these tests in next month, I think. I must work hardly if I want to get good marks!

debug jnlp application

,

I added new post in my blogspot blog. You can read it here - http://jajatips.blogspot.com/2009/01/debug-jnlp-application.html

Global Security in WebSphere Application Server over Active Directory

,

Hi all! You can read my new post about subj - here. I hope that it will be helpfull for somebody!

Placeholder trick in spring

,

In this post, I tell you something about using placeholders in beans descriptions. Big Big Big thanks to Alen4ik!!!! Read it.

Reading from InputStream

,

Hi all! You can read my new post about subj. Read it. I hope it helps. Special thanks to Alen4ik. I hate my English bomb

Using reflection in Java

, ,

Hi all. This is my new post in my java blog. I write it about two weeks....I hate html editor on blogger! You can find description of reflection api with usage here: http://jajatips.blogspot.com/2008/10/using-reflections-for-test-equals.html

Tomcat 6.0 + Mysql 5

, , , ...

In this weekend I had headache with Mysql 5 and tomcat 6. This is very interesting story yikes knockout devil , that you can read here: http://jajatips.blogspot.com/2008/09/connect-to-mysql-5-with-tomcat-6.html .

Мой новый блог

,

Решил сделать себе еще один блог. Встречайте - http://jajatips.blogspot.com/ ! Блог посвящен исключительно java'e. Там же думаю тренироваться писать по английски smile Сюда буду постить ссылки.
Знающие английский: если вам не сложно, поправляйте меня, можно прямо в комментах.

Создание отчетов используя JasperReports

,

Следующая задачка с которой я столкнулся была созданием отчетов. В качестве инструмента был выбран JasperReports. Со всем несложно разобраться читая документацию, но возникают некоторые проблемы, которые я попытаюсь описать:

ПРОБЛЕМА: Отоброжение русских шрифтов
РЕШЕНИЕ: необходимо найти где есть кириллические truetype шрифты в системе(я просто искал в системе: find / -name *.ttf -print > /tmp/ttf.log), далее в сервере приложений идем в Application Server - JVM Settings - Path Settings. В Classpath Suffix добавлеям директорию где лежат шрифты(например в SOLARIS 10 /usr/openwin/lib/locale/KOI8-R/X11/fonts/TrueType). В файл отчета добавляем следующую секцию:
<style name="Arial_Normal" isDefault="true" fontName="Arial" 
           fontSize="8" isBold="false" isItalic="false" 
           isUnderline="false" isStrikeThrough="false" 
           pdfFontName="ArialBold.ttf" pdfEncoding="KOI8-R" 
           isPdfEmbedded="true"/> 


ПРОБЛЕМА: При компиляции отчета, вылетает исключения о ненахождении библиотек
РЕШЕНИЕ: Необходимо в classpath добавить директорию в которой лежат библиотеки. Если компилируете ant'ом(не в runtime'e) можно указать директорию в флаге -lib.

Также jasperreports требует кучу библиотек, но всех их легко найти после NoClassFoundException из имени пакета.

Вот здесь лежит хорошая книжка по jasperreports.

Генерация предкомпилированного отчета выглядит совсем просто:
    public String generateReport() {
        try {
            //Коннектимя к БД.
            InitialContext ic = new InitialContext();
            DataSource ds = (DataSource) ic.lookup("jdbc/mysql/testdb");
            Connection con = ds.getConnection("login", "password");
            //Заполняем отчет.
            JasperPrint print = JasperFillManager.fillReport(
                "/tmp/jasper_test.jasper", 
                new HashMap(), con
            );
            //Экспортируем отчет в pdf файл.
            JasperExportManager.exportReportToPdfFile(print, 
                getServletContext().getRealPath("") + 
                       "/JasperTest/report.pdf"
            );
        } catch (Exception e) {
            return e.getMessage();
        }

        //Возвращаем линк на сгенерированный отчет
        return getServletContext().getRealPath("") 
             + "/JasperTest/report.pdf";
    }

Компиляция запроса в runtime'e также не вызывает проблем.


Вот файл который был создан для генерации отчета:
<?xml version="1.0"?>

<!DOCTYPE jasperReport PUBLIC "-//JasperReports//DTD Report Design//EN" 
           "http://jasperReports.sourceforge.net/dtds/jasperreport.dtd">


<jasperReport name="SimpleReport" columnCount="4" columnWidth="100">

	<style name="Arial_Normal" isDefault="true" fontName="Arial" 
           fontSize="8" isBold="false" isItalic="false"
           isUnderline="false" isStrikeThrough="false"
           pdfFontName="ArialBold.ttf" pdfEncoding="KOI8-R" 
           isPdfEmbedded="true"/>

<queryString>

<![CDATA[select Name,Street,Phone,E_Mail from Companys]]>

</queryString>

<field name="Name" class="java.lang.String"/>

<field name="Street" class="java.lang.String"/>

<field name="Phone" class="java.lang.String"/>

<field name="E_Mail" class="java.lang.String"/>

<background>
    <band height="745">
        <image scaleImage="FillFrame" hAlign="Left" vAlign="Bottom">
            <reportElement x="0" y="0" width="595" height="745"/>
            <imageExpression>"/tmp/image.gif"</imageExpression>
        </image>
    </band>
</background>

<columnHeader>
    <band height="25">
        <staticText>
            <reportElement x="0" y="0" height="20" width="84"/>
            <text>Name</text>
        </staticText>
        <staticText>
            <reportElement x="140" y="0" height="20" width="84"/>
            <text>Street</text>
        </staticText>
        <staticText>
            <reportElement x="280" y="0" height="20" width="84"/>
            <text>Phone</text>
        </staticText>
        <staticText>
            <reportElement x="420" y="0" height="20" width="84"/>
            <text>Email</text>
        </staticText>
        <line>
            <reportElement x="0" y="21" width="555" height="0"/>
        </line>
    </band>
</columnHeader>



<detail>

<band height="30">

<textField>

<reportElement x="0" y="0" width="69" height="24"/>

<textFieldExpression class="java.lang.String">

<![CDATA[$F{Name}]]>

</textFieldExpression>

</textField>

<textField>

<reportElement x="140" y="0" width="69" height="24"/>

<textFieldExpression class="java.lang.String">

<![CDATA[$F{Street}]]>

</textFieldExpression>

</textField>

<textField>

<reportElement x="280" y="0" width="69" height="24"/>

<textFieldExpression class="java.lang.String">

<![CDATA[$F{Phone}]]>

</textFieldExpression>

</textField>

<textField>

<reportElement x="420" y="0" width="69" height="24"/>

<textFieldExpression class="java.lang.String">

<![CDATA[$F{E_Mail}]]>

</textFieldExpression>

</textField>

</band>

</detail>

</jasperReport>


А вот что получилось в итоге после сохранения в xml: