<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Roberto Furutani &#187; Tutoriais</title>
	<atom:link href="http://www.furutani.com.br/category/tutoriais/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.furutani.com.br</link>
	<description>O site de um computólogo curioso!</description>
	<lastBuildDate>Sat, 04 Sep 2010 13:41:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
		<item>
		<title>NullPointerException ou FileNotFoundException ao executar relatórios com Jasper Reports</title>
		<link>http://www.furutani.com.br/2010/02/nullpointerexception-ou-filenotfoundexception-ao-executar-relatorios-com-jasper-reports/</link>
		<comments>http://www.furutani.com.br/2010/02/nullpointerexception-ou-filenotfoundexception-ao-executar-relatorios-com-jasper-reports/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 18:35:03 +0000</pubDate>
		<dc:creator>Roberto Furutani</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[ireport]]></category>
		<category><![CDATA[jasperreports]]></category>

		<guid isPermaLink="false">http://www.furutani.com.br/?p=617</guid>
		<description><![CDATA[Olá! Muitas pessoas tem dificuldade em utilizar os relatórios feitos no iReport em suas aplicações, especialmente as webs, por não saberem onde colocar os arquivos .jasper em sua aplicação para que o Servlet ou o ManagedBean consiga lê-los. Então é bem comum ver  erros como esses: net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException java.lang.NullPointerException at net.sf.jasperreports.engine.JRPropertiesMap.readObject(JRPropertiesMap.java:185) Recomendo colocar os arquivos [...]]]></description>
			<content:encoded><![CDATA[<p>Olá!</p>
<p>Muitas pessoas tem dificuldade em utilizar os relatórios feitos no <a href="http://jasperreports.sourceforge.net/">iReport </a>em suas aplicações, especialmente as webs, por não saberem onde colocar os arquivos <strong>.jasper</strong> em sua aplicação para que o <strong>Servlet </strong>ou o <strong>ManagedBean </strong>consiga lê-los. Então é bem comum ver  erros como esses:</p>
<pre class="brush: java">net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException</pre>
<pre class="brush: java">java.lang.NullPointerException
at net.sf.jasperreports.engine.JRPropertiesMap.readObject(JRPropertiesMap.java:185)
</pre>
<p>Recomendo colocar os arquivos jasper e/ou jrxml juntos as classes Java e <span style="text-decoration: underline;"><strong>não</strong></span> nos diretórios abaixo de <strong>Páginas Web </strong>no Netbeans ou <strong>Web Content</strong> no Eclipse, pois eles podem fica expostos. Não é desejado que os usuários possam baixa os arquivos jasper e/ou jrxml e ficarem fuçando neles.</p>
<p>A figura abaixo mostra o local correto para copiar o arquivo jasper e/ou jrxml no Netbeans. No Eclipse a lógica é a mesma, no lugar de Pacotes de código fontes coloque em Java Resorces: src.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2010/02/img-jasper.png"><img class="aligncenter size-medium wp-image-616" title="Netbeans" src="http://www.furutani.com.br/wp-content/uploads/2010/02/img-jasper-300x225.png" alt="" width="300" height="225" /></a>Note que o arquivo jasper e/ou jrxml está no mesmo pacote do GerarRelatorioServlet.java e para obter o <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html">InputStream</a> no Servlet eufaço assim getResourceAsStream(&#8220;Rel_Precipitacoes.jasper&#8221;).</p>
<p>Para ser mais organizado é possível colocar em outro pacote, nesse caso é preciso ajustar o caminho ao jasper com relação ao local do GerarRelatorioServlet.java. No exemplo abaixo o jasper ficou no pacote br.com.furutani.relatorios logo obtemos o <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html">InputStream</a> passando esse caminho &#8220;../relatorios/Rel_Precipitacoes.jasper&#8221; no GerarRelatorioServlet.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2010/02/img-jasper-01.png"><img class="aligncenter size-medium wp-image-620" title="Jasper Netbeans" src="http://www.furutani.com.br/wp-content/uploads/2010/02/img-jasper-01-300x225.png" alt="" width="300" height="225" /></a></p>
<p>O projeto do netbeans com os fontes e bibliotecas do JasperReports podem ser baixados no link:  <a href="http://www.furutani.com.br/a/Jasper.war" title="Baixado: 468 vezes. Tamanho: 32.61 MB">Projeto Jasper</a> Projeto Jasper Netbeans 6.8</p>
<p>Espero ter ajudado.</p>
<p>Até mais,<br />
Roberto</p>
]]></content:encoded>
			<wfw:commentRss>http://www.furutani.com.br/2010/02/nullpointerexception-ou-filenotfoundexception-ao-executar-relatorios-com-jasper-reports/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JasperReports em Flash</title>
		<link>http://www.furutani.com.br/2010/02/jasperreports-em-flash/</link>
		<comments>http://www.furutani.com.br/2010/02/jasperreports-em-flash/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 02:14:04 +0000</pubDate>
		<dc:creator>Roberto Furutani</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[adobe flex 3]]></category>
		<category><![CDATA[ireport]]></category>
		<category><![CDATA[jasperreports]]></category>

		<guid isPermaLink="false">http://www.furutani.com.br/?p=604</guid>
		<description><![CDATA[Olá! Faz muito tempo que não publico nada no blog, mas ele não está abandonado.  Neste post vou deixar mais uma dica sobre JasperReports e Flas, na verdade é só um exemplo de que é possivel usar o mesmo .jasper para criar relatórios em PDF e em Flash também. Neste exemplo eu usei um outro [...]]]></description>
			<content:encoded><![CDATA[<p>Olá!</p>
<p>Faz muito tempo que não publico nada no blog, mas ele não está abandonado.  <img src='http://www.furutani.com.br/wp-includes/images/smilies/icon_redface.gif' alt=':oops:' class='wp-smiley' /> </p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2010/02/jasper-flash.jpg"><img class="alignleft size-full wp-image-605" title="jasper-flash" src="http://www.furutani.com.br/wp-content/uploads/2010/02/jasper-flash.jpg" alt="" width="228" height="81" /></a>Neste post vou deixar mais uma dica sobre JasperReports e Flas, na verdade é só um exemplo de que é possivel usar o mesmo .jasper para criar relatórios em PDF e em Flash também.</p>
<p>Neste exemplo eu usei um outro exemplo que acompanha o <a href="http://sourceforge.net/projects/jasperreports/files/archive/jasperreports-flash/JasperReports%20Flash%20Viewer%203.0.0/" target="_blank">JasperReports Flash Viewer 3.0.0</a>.</p>
<p>» <a href="http://www.furutani.com.br:4894/jasperreports-flash/servlets/show">Clique aqui</a> para ver o exemplo funcionando.</p>
<p>» Download dos fontes: <a href="http://www.furutani.com.br/a/reports.zip" title="Baixado: 322 vezes. Tamanho: 135.73 MB">Relatório em JasperReports e Flash</a> Exemplo de relatório em JasperReports e Flash</p>
<p>Outra opção para exibir relatórios em flash é utilizar o xViewer mostrado neste post <a href="http://www.furutani.com.br/2009/07/exibindo-relatorios-gerados-pelo-jasper-report-em-flex/">Exibindo relatórios gerados pelo Jasper Report em Flex</a>. O exemplo precisa do <a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex3sdk" target="_blank">Adobe Flex</a> e do ant para compilar, mas voce pode importar os fontes para sua IDE favorita sem problemas é só adicionar os jars no classpath.</p>
<p>Até mais,<br />
Roberto</p>
]]></content:encoded>
			<wfw:commentRss>http://www.furutani.com.br/2010/02/jasperreports-em-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exibindo relatórios gerados pelo Jasper Report em Flex</title>
		<link>http://www.furutani.com.br/2009/07/exibindo-relatorios-gerados-pelo-jasper-report-em-flex/</link>
		<comments>http://www.furutani.com.br/2009/07/exibindo-relatorios-gerados-pelo-jasper-report-em-flex/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 03:24:35 +0000</pubDate>
		<dc:creator>Roberto Furutani</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[ireport]]></category>
		<category><![CDATA[jasperreports]]></category>

		<guid isPermaLink="false">http://www.furutani.com.br/?p=495</guid>
		<description><![CDATA[Olá Este post é para deixar registrado um tutorial relacionado ao JasperReports feito por Roberto Lourenço de Oliveira Júnior da UFLA. De acordo com ele, o tutorial ensina como mostrar os relatórios em aplicativos feitos em Adobe Flex. Neste artigo, mostrarei como integrar os relatórios gerados pelo Jasper Report com uma aplicação Flex, utilizando para [...]]]></description>
			<content:encoded><![CDATA[<p>Olá</p>
<p>Este post é para deixar registrado um tutorial relacionado ao JasperReports feito por <span><span>Roberto Lourenço de Oliveira Júnior da UFLA.<br />
De acordo com ele, o tutorial ensina como mostrar os relatórios em aplicativos feitos em Adobe Flex.<br />
</span></span></p>
<blockquote><p>Neste artigo, mostrarei como integrar os relatórios gerados pelo Jasper Report com uma aplicação Flex,<br />
utilizando para isso o xViewer, que nada mais é que um Flex Viewer para Jasper Report.</p></blockquote>
<a href="http://www.furutani.com.br/a/JasperReportFlex.pdf" title="Baixado: 2453 vezes. Tamanho: 155.8 KB">JasperReportFlex.pdf</a> 
<p>Até mais,<br />
Roberto</p>
]]></content:encoded>
			<wfw:commentRss>http://www.furutani.com.br/2009/07/exibindo-relatorios-gerados-pelo-jasper-report-em-flex/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introdução a relatórios crosstab com iReport/JasperReports</title>
		<link>http://www.furutani.com.br/2009/07/introducao-a-relatorios-crosstab-com-ireportjasperreports/</link>
		<comments>http://www.furutani.com.br/2009/07/introducao-a-relatorios-crosstab-com-ireportjasperreports/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 03:06:20 +0000</pubDate>
		<dc:creator>Roberto Furutani</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[crosstab]]></category>
		<category><![CDATA[ireport]]></category>
		<category><![CDATA[jasperreports]]></category>

		<guid isPermaLink="false">http://www.furutani.com.br/?p=492</guid>
		<description><![CDATA[Olá! Escrevi mais um tutorial sobre iReport, dessa vez explorei os relatórios crosstab ou relatórios de tabela cruzada. Introdução a relatórios Crosstab com iReport/JasperReports No exemplo foi usado uma fonte de dados ODBC, mas nada impede usar uma Collection de beans para alimentar o relatório. Espero ter ajudado. Abaixo mais links sobre como fazer relatórios [...]]]></description>
			<content:encoded><![CDATA[<p>Olá!</p>
<p>Escrevi mais um tutorial sobre iReport, dessa vez explorei os relatórios crosstab ou relatórios de tabela cruzada.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2009/07/crosstab.jpg"><img class="aligncenter size-full wp-image-493" title="relatório crosstab" src="http://www.furutani.com.br/wp-content/uploads/2009/07/crosstab.jpg" alt="relatório crosstab" width="636" height="271" /></a></p>
<p><a title="Download" href="http://www.furutani.com.br/a/tutorial_crosstab.pdf">Introdução a relatórios Crosstab com iReport/JasperReports</a></p>
<p>No exemplo foi usado uma fonte de dados ODBC, mas nada impede usar uma <a href="http://www.furutani.com.br/2009/02/usando-o-jrbeancollectiondatasource">Collection de beans</a> para alimentar o relatório.</p>
<p>Espero ter ajudado.  <img src='http://www.furutani.com.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>Abaixo mais links sobre como fazer relatórios em Java com iReport.</p>
<ul>
<li><a href="http://www.furutani.com.br/2009/02/usando-o-jrbeancollectiondatasource/">http://www.furutani.com.br/2009/02/usando-o-jrbeancollectiondatasource/</a></li>
<li><a href="http://www.furutani.com.br/2009/02/tutorial-de-jasperreports-usando-arraylist-de-vo/">http://www.furutani.com.br/2009/02/tutorial-de-jasperreports-usando-arraylist-de-vo/</a></li>
<li><a href="http://www.furutani.com.br/2009/07/gerando-relatorios-com-jasperreports-e-ireports-no-netbeans/">http://www.furutani.com.br/2009/07/gerando-relatorios-com-jasperreports-e-ireports-no-netbeans/</a></li>
</ul>
<p>Até mais,<br />
Roberto</p>
]]></content:encoded>
			<wfw:commentRss>http://www.furutani.com.br/2009/07/introducao-a-relatorios-crosstab-com-ireportjasperreports/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Gerando Relatórios Com JasperReports e iReports no Netbeans</title>
		<link>http://www.furutani.com.br/2009/07/gerando-relatorios-com-jasperreports-e-ireports-no-netbeans/</link>
		<comments>http://www.furutani.com.br/2009/07/gerando-relatorios-com-jasperreports-e-ireports-no-netbeans/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 14:06:52 +0000</pubDate>
		<dc:creator>Roberto Furutani</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[ireport]]></category>
		<category><![CDATA[jasperreports]]></category>
		<category><![CDATA[netbeans]]></category>

		<guid isPermaLink="false">http://www.furutani.com.br/?p=475</guid>
		<description><![CDATA[Olá! Abaixo uma dica de tutorial sobre JasperReports feito pelo Flávio Araújo. Hoje trago um tutorial que acabei de elaborar sobre o JasperReports e iReports – plugins para geração de relatórios em Java. Neste tutorial, a IDE usada foi o NetBeans. Tutorial: Gerando Relatórios Com JasperReports e iReports no Netbeans View more presentations from flaviowd.]]></description>
			<content:encoded><![CDATA[<p>Olá!</p>
<p>Abaixo uma dica de tutorial sobre JasperReports feito pelo <a href="http://flaviowd.wordpress.com/">Flávio Araújo</a>.</p>
<blockquote><p><a href="http://flaviowd.wordpress.com/2009/04/26/tutorial-gerando-relatorios-com-jasperreports-e-ireports-no-netbeans/">Hoje trago um tutorial que acabei de elaborar sobre o JasperReports e iReports – plugins para geração de relatórios em Java.</a></p>
<p><a href="http://flaviowd.wordpress.com/2009/04/26/tutorial-gerando-relatorios-com-jasperreports-e-ireports-no-netbeans/">Neste tutorial, a IDE usada foi o NetBeans.</a></p></blockquote>
<p><img style="visibility: hidden; width: 0px; height: 0px;" src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEyNDY1NDM*Nzk1MDAmcHQ9MTI*NjU*MzUzNTE*MCZwPTEwMTkxJmQ9c3NfZW1iZWQmZz*yJnQ9Jm89OTBlOWY1YTQyM2IzNDA2NmE3MDc2YTliMTM2YTE5ZmEmb2Y9MA==.gif" border="0" alt="" width="0" height="0" /></p>
<div id="__ss_1344906" style="width: 425px; text-align: center;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="Tutorial: Gerando Relatórios Com JasperReports e iReports no Netbeans" href="http://www.slideshare.net/flaviowd/tutorial-gerando-relatrios-com-jasperreports-e-ireports-no-netbeans">Tutorial: Gerando Relatórios Com JasperReports e iReports no Netbeans</a><object style="margin:0px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=gerandorelatorioscomjasperreports-090426173843-phpapp01&amp;stripped_title=tutorial-gerando-relatrios-com-jasperreports-e-ireports-no-netbeans" /><param name="allowfullscreen" value="true" /><embed style="margin:0px" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=gerandorelatorioscomjasperreports-090426173843-phpapp01&amp;stripped_title=tutorial-gerando-relatrios-com-jasperreports-e-ireports-no-netbeans" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/flaviowd">flaviowd</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.furutani.com.br/2009/07/gerando-relatorios-com-jasperreports-e-ireports-no-netbeans/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Introdução ao BPEL utilizando o Oracle SOA Suíte 10g</title>
		<link>http://www.furutani.com.br/2009/06/introducao-ao-bpel-utilizando-o-oracle-soa-suite-10g/</link>
		<comments>http://www.furutani.com.br/2009/06/introducao-ao-bpel-utilizando-o-oracle-soa-suite-10g/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 01:29:14 +0000</pubDate>
		<dc:creator>Roberto Furutani</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.furutani.com.br/?p=471</guid>
		<description><![CDATA[Olá! Para quem quer saber um pouco mais sobre BPEL e a ferramenta Oracle SOA Suite escrevi um artigo sobre eles. Disponibilizei o web service utilizado no artigo nesse endereço http://www.furutani.com.br/CalculadoraServices/services/Calculadora?wsdl Os fontes podem ser baixados clicando em e aqui. Espero que ajude. Até mais, Roberto]]></description>
			<content:encoded><![CDATA[<p>Olá!</p>
<p>Para quem quer saber um pouco mais sobre BPEL e a ferramenta Oracle SOA Suite escrevi um artigo sobre eles.</p>
<p><strong><span style="font-size: small;"><a href="http://www.furutani.com.br/a/Introducao-ao-BPEL-utilizando-o-Oracle-SOA-Suite-10g.pdf" title="Baixado: 1534 vezes. Tamanho: 4.53 MB">Introdução ao BPEL utilizando o Oracle SOA Suíte 10g</a> </span></strong><strong><span style="font-size: medium;"><a href="http://www.furutani.com.br/tutoriais/bpel/Introducao-ao-BPEL-utilizando-o-Oracle-SOA-Suite-10g.pdf"><em></em></a></span></strong></p>
<p>Disponibilizei o web service utilizado no artigo nesse endereço <a href="http://www.furutani.com.br/CalculadoraServices/services/Calculadora?wsdl" target="_blank">http://www.furutani.com.br/CalculadoraServices/services/Calculadora?wsdl</a></p>
<p>Os fontes podem ser baixados clicando em <a href="http://www.furutani.com.br/a/CalculadoraServices.war" title="Baixado: 294 vezes. Tamanho: 1.73 MB">CalculadoraServices.war</a>  e <a href="http://www.furutani.com.br/tutoriais/bpel/CalculadoraBPEL.zip" target="_blank">aqui</a>.</p>
<p>Espero que ajude.</p>
<p>Até mais,<br />
Roberto</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;"><a href="http://www.furutani.com.br/a/CalculadoraServices.war" title="Baixado: 294 vezes. Tamanho: 1.73 MB">CalculadoraServices.war</a> </div>
]]></content:encoded>
			<wfw:commentRss>http://www.furutani.com.br/2009/06/introducao-ao-bpel-utilizando-o-oracle-soa-suite-10g/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Usando o JRBeanCollectionDataSource</title>
		<link>http://www.furutani.com.br/2009/02/usando-o-jrbeancollectiondatasource/</link>
		<comments>http://www.furutani.com.br/2009/02/usando-o-jrbeancollectiondatasource/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 01:12:25 +0000</pubDate>
		<dc:creator>Roberto Furutani</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[jasperreports]]></category>

		<guid isPermaLink="false">http://www.furutani.com.br/?p=359</guid>
		<description><![CDATA[Usando o JRBeanCollectionDataSource Recebi v&#225;rios emails perguntando sobre o Jasper/iReport. Recentemente fui questionado com rela&#231;&#227;o ao JRBeanCollectionDataSource e o seu uso para gerar um relat&#243;rio utilizando beans. Mostrarei com um exemplo bem simples (sem sub-relat&#243;rios) como gerar um relat&#243;rio com o Jasper usando o JRBeanCollectionDataSource como fonte de dados, irei fazer um relat&#243;rio de livros. [...]]]></description>
			<content:encoded><![CDATA[<p>Usando o JRBeanCollectionDataSource</p>
<p>Recebi v&aacute;rios emails perguntando sobre o Jasper/iReport. Recentemente fui questionado com rela&ccedil;&atilde;o ao JRBeanCollectionDataSource e o seu uso para gerar um relat&oacute;rio utilizando beans.</p>
<p>Mostrarei com um exemplo bem simples (sem sub-relat&oacute;rios) como gerar um relat&oacute;rio com o <a href="http://jasperreports.sourceforge.net">Jasper</a> usando o JRBeanCollectionDataSource como fonte de dados, irei  fazer um relat&oacute;rio de livros. </p>
<p align="center"><img src="/tutoriais/imagens/figura1.jpg" width="500" height="478"></p>
<p>  OBS: <br />
  <em>Em um <a href="http://www.furutani.com.br/2009/02/tutorial-de-jasperreports-usando-arraylist-de-vo/">outro tutorial</a> eu tive o trabalho de criar um DataSource customizado, mas creio que &eacute; facilmente adaptado para usar somente o JRBeanCollectionDataSource, dispensando o DataSource customizado. </em></p>
<p><em> Na express&atilde;o para o sub-relat&oacute;rio teria que usar new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource(${ListaDisciplinas})<br />
  O F&aacute;bio Miranda foi quem me questionou sobre esse uso do JRBeanCollectionDataSource, quando tiver mais tempo vou adaptar o tutorial com essas dicas. Me cobrem <img src='http://www.furutani.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  </em></p>
<p>Foi utilizado o iReport 0.5.3, jdk1.5.0_03 e Windows XP</p>
<p>Primeiro vamos ao bean Livro</p>
<pre class="brush: java">package exemplo;
public class Livro {
   private String titulo;
   private String autor;
   private String isbn;
   private String editora;
   private String descricao;

public Livro(){}&lt;br&gt;
// todos getters e setters omitidos} </pre>
<div align="center">
<p align="left">O relat&oacute;rio &eacute; bem simples de ser desenhado, crie um novo relat&oacute;rio (menu File &gt; new document) e insira os <strong>static text</strong> para os textos fixos (&quot;Minha Biblioteca&quot;, &quot;Titulo&quot;, &quot;Autor&quot;, &quot;ISBN&quot;, &quot; Editora&quot; e &quot;Descricao&quot;) e 5<strong> text fields</strong> que ficar&atilde;o em frente aos static text &quot;Titulo&quot;, &quot;Autor&quot;, etc&#8230;.</p>
<p><img src="/tutoriais/imagens/figura2.jpg" width="500" height="382"></p>
<p align="left">Quando voc&ecirc; insere o text field o texto que aparece &eacute; <strong>$F{Field}</strong>, para mudar de um duplo clique sobre ele. Vai ser mostrado uma janela como essa:</p>
<p align="center">    <img src="/tutoriais/imagens/figura3.jpg" width="370" height="380"></p>
<p align="left">    Altere <strong>$F{Field}</strong> para <strong>$F{titulo} </strong>e fa&ccedil;a isso com os outros 4 campos. Note que o texto <strong>$F{titulo} </strong>vai continuar em azul, isso ocorre porque n&atilde;o foi declarado o field titulo. O pr&oacute;ximo passo &eacute; deixar <strong>$F{titulo} </strong>na cor verde. No menu View, selecione Report Fields. Na janela que ser&aacute; mostrada clique em New, preencha Field Name titulo, no Field Class Type selecione java.lang.String e no Field Description n&atilde;o coloque nada, clique em Ok. Repita a opera&ccedil;&atilde;o para autor, isbn, editora e descri&ccedil;&atilde;o, como mostra a figura abaixo.</p>
<p align="center"><img src="/tutoriais/imagens/figura4.jpg" width="379" height="166"> </p>
<p align="left">Uma rela&ccedil;&atilde;o importante a ser ressaltada &eacute; a dos atributos do bean &lt;&gt; Fields &lt;&gt; Text Fields, os nomes devem iguais como mostrado na figura abaixo. </p>
<p align="center"><img src="/tutoriais/imagens/figura5.jpg" width="332" height="465"> </p>
<p align="left">No iReport como no Java mai&uacute;scula e min&uacute;scula fazem toda a diferen&ccedil;a. </p>
<p>    Compile o relat&oacute;rio, menu Build &gt; Compile. Se aparecer algo parecido com isso no console o relat&oacute;rio est&aacute; sem nenhum erro. </p>
<div align="left">
<pre class="brush: java"> Compiling to file... .Livros.jasper -&gt; C:iReport-0.5.3Livros.java
  it.businesslogic.ireport.ReportClassLoader@1a73d30
  Compilation running time : 260</pre>
</p></div>
</p>
<p align="left">Um dos erros mais comuns é esse</p>
<div align="left">
<pre class="brush: java">
  Errors compiling .Livros.jasper!
  it.businesslogic.ireport.ReportClassLoader@e05ad6
  net.sf.jasperreports.engine.JRException:
  Report design not valid : 1. Field not found : Titulo
</pre>
<p>    Nesse caso o erro foi causado pelo &#8220;T&#8221; maiusculo, o certo é &#8220;t&#8221; min&uacute;sculo no TextField expression.
    </p>
<p></p>
<p>    Ou se o &quot;t&quot; est&aacute; min&uacute;sculo mas o erro continua, deve ser porque n&atilde;o foi declarado no Report Fields.<br />
    Agora iremos ver a classe que exibi o relat&oacute;rio. O diferencial est&aacute; em azul, ao inv&eacute;s de utilizarmos uma </p>
<p> Connection vamos usar o JRBeanCollectionDataSource.</p></div>
</div>
<pre class="brush: java">package exemplo;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.view.JasperViewer;

public class Inicio {

	public void exibirRelatorio() {
		// Caminho do .jasper do relatorio
		String caminhoRelJasper = &quot;Livros.jasper&quot;;

		// Lista com beans
		List listaLivros = getLivros();

		// Stream com o .jasper
		InputStream relJasper = getClass()
				.getResourceAsStream(caminhoRelJasper);

		&lt;font color=&quot;#0000FF&quot;&gt;// O datasource
		JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(
				listaLivros);&lt;/font&gt;

		// Parametros do relatorios
		Map parametros = new HashMap();

		JasperPrint impressao = null;
		try {

			impressao = JasperFillManager.fillReport(relJasper, parametros, ds);
			JasperViewer viewer = new JasperViewer(impressao, true);
			viewer.setVisible(true);

		} catch (JRException e) {
			System.out.println(e.getMessage());
		}

	}

	public List getLivros() {
		List listaLivros = new ArrayList();
		Livro livro = new Livro();

		livro.setTitulo(&quot;Use a cabeça! Padrões de Projeto - Design Patterns&quot;);
		livro.setAutor(&quot;Freeman, Eric / Freeman, Elisabeth&quot;);
		livro.setIsbn(&quot;8576080869&quot;);
		livro.setEditora(&quot;Alta Books&quot;);
		livro
				.setDescricao(&quot;Como você sabe que não quer reinventar a roda (ou, &quot;
						+ &quot;pior, um pneu furado), &quot;
						+ &quot;então você busca padrões de projetos&quot;);
		listaLivros.add(livro);

		livro = new Livro();
		livro.setTitulo(&quot;Entendendo e Dominando o Linux&quot;);
		livro.setAutor(&quot;Morimoto, Carlos&quot;);
		livro.setIsbn(&quot;8589535339&quot;);
		livro.setEditora(&quot;Digerati&quot;);
		livro
				.setDescricao(&quot;Como o nome diz, este livro é uma obra destinada a &quot;
						+ &quot;todos aqueles que &quot;
						+ &quot;pretendem conhecer na prática e em detalhes os &quot;
						+ &quot;principais recursos oferecidos pelo Linux&quot;);
		listaLivros.add(livro);

		livro = new Livro();
		livro.setTitulo(&quot;Guia de Certificação em Java - Exame CX-310-035&quot;);
		livro.setAutor(&quot;Pereira, Rafael&quot;);
		livro.setIsbn(&quot;8573934263&quot;);
		livro.setEditora(&quot;Ciência Moderna&quot;);
		livro.setDescricao(&quot;Este Guia de Certificação em Java é um livro &quot;
				+ &quot;fundamental para preparar os&quot;
				+ &quot; candidatos ao exame de programador Java da Sun, &quot;
				+ &quot;a primeira e mais &quot;
				+ &quot;requisitada certificação desta tecnologia.&quot;);
		listaLivros.add(livro);

		return listaLivros;
	}

	public static void main(String[] args) {
		new Inicio().exibirRelatorio();
	}
}
</pre>
<p>&Eacute; isso que eu queria passar&#8230; em caso de d&uacute;vida me mande um email, assim vou poder melhorar esse tutorial. <br />
<a href="http://www.furutani.com.br/tutoriais/Fontes_Usando_o_JRBeanCollectionDataSource.rar">Donwload do c&oacute;digo fonte</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.furutani.com.br/2009/02/usando-o-jrbeancollectiondatasource/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Tutorial de JasperReports usando ArrayList de VO</title>
		<link>http://www.furutani.com.br/2009/02/tutorial-de-jasperreports-usando-arraylist-de-vo/</link>
		<comments>http://www.furutani.com.br/2009/02/tutorial-de-jasperreports-usando-arraylist-de-vo/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 01:08:51 +0000</pubDate>
		<dc:creator>Roberto Furutani</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[jasperreports]]></category>

		<guid isPermaLink="false">http://www.furutani.com.br/?p=361</guid>
		<description><![CDATA[Olá Javeiros! Eu estava com uma dificuldade enorme para trabalhar com ArrayList de VOs (Value Objects ) com um atributo ArrayList para alimentar um relatório. O problema era o seguinte: montar um relatório através de um ArrayList de VOs de Aluno (ver listagem 1) que tem um ArrayList de VOs de Disciplina (ver listagem 2), [...]]]></description>
			<content:encoded><![CDATA[<p class="style2">Olá Javeiros!</p>
<p>Eu estava com uma dificuldade enorme para trabalhar com ArrayList de VOs (Value Objects ) com um atributo ArrayList para alimentar um relatório.<br />
O problema era o seguinte: montar um relatório através de um ArrayList de VOs de Aluno (ver listagem 1) que tem um ArrayList de VOs de Disciplina (ver listagem 2), sendo um aluno por página.</p>
<p>Listagem 1:</p>
<pre lang="java">package vo;
import java.io.Serializable;
import java.util.ArrayList;
/**
* @author RJFurutani
* @04/05/2005
*/
public class Aluno implements Serializable{
private String nome;
private String curso;
private ArrayList disciplinas;
/**
* @param nome
* @param curso
* @param disciplinas
*/
public Aluno(String nome, String curso, ArrayList
					disciplinas) {
super();
this.nome = nome;
this.curso = curso;
this.disciplinas = disciplinas;
}
/**
* @return Returns the curso.
*/
public String getCurso() {
return curso;
}
/**
* @param curso The curso to set.
*/
public void setCurso(String curso) {
this.curso = curso;
}
/**
* @return Returns the disciplinas.
*/
public ArrayList getDisciplinas() {
return disciplinas;
}
/**
* @param disciplinas The disciplinas to set.
*/
public void setDisciplinas(ArrayList
			disciplinas) {
this.disciplinas = disciplinas;
}
/**
* @return Returns the nome.
*/
public String getNome() {
return nome;
}
/**
* @param nome The nome to set.
*/
public void setNome(String nome) {
this.nome = nome;
}
}
</pre>
<p>Listagem 2</p>
<pre lang="java">	package vo;
import java.io.Serializable;
/**
* @author RJFurutani
* @04/05/2005
*/
public class Disciplina implements Serializable{

/**
* @param nome
* @param cargaHoraria
*/
public Disciplina(String nome,String cargaHoraria){
super();
this.nome = nome;
this.cargaHoraria = cargaHoraria;
}
/**
* @return Returns the cargaHoraria.
*/
public String getCargaHoraria() {
return cargaHoraria;
}
/**
* @param cargaHoraria The cargaHoraria to set.
*/
public void setCargaHoraria(String cargaHoraria){
this.cargaHoraria = cargaHoraria;
}
/**
* @return Returns the nome.
*/
public String getNome() {
return nome;
}
/**
* @param nome The nome to set.
*/
public void setNome(String nome) {
this.nome = nome;
}
private String nome;
private String cargaHoraria;
}</pre>
<p class="style2">Depois de um tempão pesquisando e perguntando no GUJ, JavaFree, na lista<br />
<strong>enterprise-list@soujava.dev.java.net </strong> e usando o Google achei esse video<a href=" http://ireport.sourceforge.net/swf/Subreport_viewlet_swf.htm"> http://ireport.sourceforge.net/swf/Subreport_viewlet_swf.htm</a> que me deu uma luz e vou tentar passar de forma mais objetiva a solução que eu encontrei.</p>
<p class="style2">Eu vou considerar que o leitor já tenha alguma experiência com o iReports e o JasperReports. Não vou entrar em muitos detalhes de design.</p>
<p>Primeiro vamos criar o relatório principal, nele vamos por os fields nome do aluno e o curso que ele faz e abaixo vai ficar o subrelatório.<br />
<img src="http://www.furutani.com.br/tutoriais/Tutorial_JasperReports/fig1.jpg" alt="" /><br />
A ferramenta para adicionar o subrelatório está na barra de ferramentas:</p>
<p class="style2"><img src="http://www.furutani.com.br/tutoriais/Tutorial_JasperReports/fig2.JPG" alt="" /></p>
<p>Clique no icone destacado e desenhe ele como na figura anterior.</p>
<p>Agora vamos criar o subrelatório, esse é bem mais simples.<br />
<img src="http://www.furutani.com.br/tutoriais/Tutorial_JasperReports/fig3.jpg" alt="" /></p>
<p class="style2">no subrelatório os fields são esses:</p>
<p><img src="http://www.furutani.com.br/tutoriais/Tutorial_JasperReports/fig4.jpg" alt="" /><br />
Não tem nada de mais.<br />
Agora vamos aos fields do relatório principal.</p>
<p><img src="http://www.furutani.com.br/tutoriais/Tutorial_JasperReports/fig5.jpg" alt="" /><br />
O field nome e curso são para o próprio relatório principal, o field ListaDisciplinas é o que vai ser passado para o subrelatório, reparem que ele é do tipo Object.</p>
<p>E como parâmetro o relatório principal recebe o caminho do subrelatório <strong>compilado</strong> (.jasper).<br />
<img src="http://www.furutani.com.br/tutoriais/Tutorial_JasperReports/fig6.jpg" alt="" /></p>
<p class="style2">Agora vamos nas propriedades do subrelatório que foi adicionado no relatório principal. Dê um duplo clique nele e vamos as configurações.</p>
<p><img src="http://www.furutani.com.br/tutoriais/Tutorial_JasperReports/fig.jpg" alt="" /><br />
Na aba Subreport selecione Use datasource expression e digite $F{ListaDisciplinas} , esse nome deve ser igual ao informado no field.</p>
<p class="style2"><img src="http://www.furutani.com.br/tutoriais/Tutorial_JasperReports/fig8.jpg" alt="" /></p>
<p>Clique na aba subreport (other) e configure conforme mostra a figura.<br />
<img src="http://www.furutani.com.br/tutoriais/Tutorial_JasperReports/fig9.jpg" alt="" /></p>
<p>Como estamos trabalhando com VO o nome dos fields deve <strong>coincidir</strong> com o nome dos <strong>atributos</strong> das <strong>classes VO (Aluno e Disciplina) </strong>.<br />
<img src="http://www.furutani.com.br/tutoriais/Tutorial_JasperReports/fig10.jpg" alt="" /></p>
<p>Com layout feito podemos ir para o desenvolvimento da classe DataSource. Eu vou chamar aqui de relatórioAlunosDataSource.<br />
É uma classe que implementa a interface JRDataSource, então devemos implementar obrigatoriamente dois métodos o next() e getFieldValue().<br />
O método next() retorna um boolean, true se houver mais Aluno na ArrayList ou false se não tiver mais.</p>
<pre lang="java"> valorAtual = itrAlunos.hasNext() ? itrAlunos.next() : null;
 irParaProximoAluno = (valorAtual != null);
 return irParaProximoAluno;</pre>
<p>O método getFieldValue() recebe um parâmetro JRField, através desse parâmetro nós podemos saber qual field o JasperReports está pedindo pra por no relatório.</p>
<pre lang="java">  Object valor = null;
  Aluno aluno = (Aluno) valorAtual;</pre>
<pre class="style3"> if ("nome".equals(campo.getName())) {
   valor = aluno.getNome();
 } else if ("ListaDisciplinas".equals(campo.getName())) {
   valor = new JRBeanCollectionDataSource(
   			aluno.getDisciplinas());
 } else if ("curso".equals(campo.getName())) {
   valor = aluno.getCurso();
 }</pre>
<p>Observer que quando é solicitado o field <span class="style3">ListaDisciplinas</span> nós devolvemos um <span class="style2">JRBeanCollectionDataSource instanciado com a ArrayList de Disciplina do Aluno. Lembra que na configuração dos fields do relatório principal nós colocamos ListaDisciplinas do tipo Object, foi justamente por esse motivo.</span></p>
<p>Chegou a hora de criar a classe principal</p>
<pre lang="java">package jasper;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;

public class Gerarelatório {
private static final String rel1 = "RelAlunos.jasper";

private static final String rel2 =
"jasper/RelAlunosDisciplinas.jasper";

public Gerarelatório() throws Exception {
// Lista dos alunos
ArrayList listaAlunos = GerarDadosFicticios.getListaAlunos();
// Cria o data source para o relatório
relatórioAlunosDataSource ds =
	new relatórioAlunosDataSource(
		listaAlunos);

// parâmetros do relatório
Map parâmetros = new HashMap();
parâmetros.put("pathSubRel",rel2);

JasperPrint impressao = JasperFillManager.fillReport(
getClass().getResourceAsStream(rel1), parâmetros, ds);
//exibe o relatório
JasperViewer viewer = new JasperViewer(impressao, true);
viewer.show();
}
public static void main(String[] args) throws Exception {
new Gerarelatório();
}
}</pre>
<p><span class="style2">Para criar dados ficticios usados para testar o relatório foi criado a classe GerarDadosFicticios</span></p>
<pre lang="java">package jasper;
import java.util.ArrayList;
import vo.Aluno;
import vo.Disciplina;

/**
* @author RJFurutani
* @04/05/2005
*/
public class GerarDadosFicticios {
public static ArrayList getListaAlunos() {

ArrayList listaAlunos = new ArrayList();
ArrayList disciplinas = null;

Disciplina disciplina1 = null;
Disciplina disciplina2 = null;
Disciplina disciplina3 = null;
Disciplina disciplina4 = null;
/*
* Aluno Roberto
*/
disciplina1 =
   new Disciplina("Banco de Dados I", "45Hs");
disciplina2 =
   new Disciplina("Equações Diferenciais I", "50Hs");
disciplina3 =
   new Disciplina("Algoritmos e Estrutura de Dados I",

"60Hs");
disciplinas = new ArrayList();
disciplinas.add(disciplina1);
disciplinas.add(disciplina2);
disciplinas.add(disciplina3);
Aluno roberto =
   new Aluno("Roberto Furutani", "Ciencia da Computacao",
disciplinas);
listaAlunos.add(roberto);
/*
* Aluna Fernanda
*/
disciplina1 = new Disciplina("Biologia", "45Hs");
disciplina2 = new Disciplina("Matematica Elementar II",
"30Hs");
disciplina3 = new Disciplina(
"Instrumentação Cirurgica", "70Hs");
disciplinas = new ArrayList();
disciplinas.add(disciplina1);
disciplinas.add(disciplina2);
disciplinas.add(disciplina3);
Aluno fernanda = new Aluno("Fernanda Fernandes",

"Enfermagem", disciplinas);
listaAlunos.add(fernanda);
/*
* Aluna Silvia
*/
disciplina1 = new Disciplina("Fisica", "45Hs");
disciplina4 = new Disciplina("Quimica", "45Hs");
disciplina2 = new Disciplina("Equações Diferenciais II",
"50Hs");
disciplina3 = new Disciplina(
"Inglês", "60Hs");
disciplinas = new ArrayList();
disciplinas.add(disciplina1);
disciplinas.add(disciplina2);
disciplinas.add(disciplina3);
disciplinas.add(disciplina4);

Aluno silvia = new Aluno("Silvia da Silva", "Matemática",
disciplinas);
listaAlunos.add(silvia);
/*
* Aluno André

*/
disciplina1 = new Disciplina("Banco de Dados II", "65Hs");
disciplina2 = new Disciplina("Calculo Numerico I",
"50Hs");
disciplina3 = new Disciplina(
"Eletronica I", "60Hs");
disciplinas = new ArrayList();
disciplinas.add(disciplina1);
disciplinas.add(disciplina2);
disciplinas.add(disciplina3);
Aluno andre =
   new Aluno("André Oliveira Lima", "Engenharia da Computacao",
disciplinas);
listaAlunos.add(andre);
return listaAlunos;
}}</pre>
<p><span class="style2">O relatório vai ficar assim:</span></p>
<p><span class="style2"><img src="http://www.furutani.com.br/tutoriais/Tutorial_JasperReports/fig11.jpg" alt="" /> </span></p>
<p>É isso ai!!! Espero ter ajudado alguém com esse humilde tutorial.</p>
<p><strong>Referências:</strong></p>
<p><span class="style2"><a href="http://www.furutani.com.br/tutoriais/Tutorial_JasperReports/Tutorial.zip">Download dos fontes</a><br />
GUJ &#8211; www.guj.com.br (<a href="http://www.guj.com.br/posts/list/23830.java">http://www.guj.com.br/posts/list/23830.java</a>)<br />
JavaFree &#8211; www.javafree.com.br<br />
Lista Enterprise &#8211; enterprise-list@soujava.dev.java.net<br />
Docs iReport &#8211; http://ireport.sourceforge.net/docs.html</span></p>
<p>Videos iReport &#8211; http://ireport.sourceforge.net/swf/<br />
Relatórios com Hibernate &#8211; http://www.hibernate.org/79.html</p>
<p>Tutorial Relatórios com JasperReports e iReports &#8211; www.furutani.com.br</p>
<p>Atualizado em 24/06/2009</p>
]]></content:encoded>
			<wfw:commentRss>http://www.furutani.com.br/2009/02/tutorial-de-jasperreports-usando-arraylist-de-vo/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Exemplo de aplicação JPA (Hibernate)</title>
		<link>http://www.furutani.com.br/2009/02/exemplo-de-aplicacao-jpa-hibernate/</link>
		<comments>http://www.furutani.com.br/2009/02/exemplo-de-aplicacao-jpa-hibernate/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 10:45:45 +0000</pubDate>
		<dc:creator>Roberto Furutani</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[hibernate]]></category>
		<category><![CDATA[jpa]]></category>

		<guid isPermaLink="false">http://www.furutani.com.br/?p=338</guid>
		<description><![CDATA[Olá! Desenvolvi uma aplicação simples com Hibernate Core, Hibernate Annotations e Hibernate EntityManager para passar o tempo. A aplicação é um leitor de RSS, ele simplismente faz a leitura de URLs cadastradas no banco de tempos em tempos e atualiza os feeds devolvidos pela URL. O zip é a exportação do projeto feito no Eclipse [...]]]></description>
			<content:encoded><![CDATA[<p>Olá!</p>
<p>Desenvolvi uma aplicação simples com <a href="http://www.hibernate.org/344.html">Hibernate Core</a>, <a href="http://hibernate.org/397.html">Hibernate Annotations</a> e <a href="http://hibernate.org/397.html">Hibernate EntityManager</a> para passar o tempo.<br />
A aplicação é um leitor de RSS, ele simplismente faz a leitura de URLs cadastradas no banco de tempos em tempos e atualiza os feeds devolvidos pela URL.</p>
<p>O zip é a exportação do projeto feito no Eclipse usando MySQL e Tomcat 6.x, para importar utilize o menu <b>File, Import</b>. Selecione a opção <b>General, Archive File</b> no tree view.</p>
<p>Abra o arquivo persistence.xml para alterar os dados de seu banco de dados e edite as linhas abaixo.</p>
<pre class="brush: xml">
&lt;property name=&quot;hibernate.connection.username&quot; value=&quot;usuario&quot;/&gt;
&lt;property name=&quot;hibernate.connection.password&quot; value=&quot;senha&quot;/&gt;
&lt;property name=&quot;hibernate.connection.url&quot; value=&quot;jdbc:mysql://172.198.74.91/banco_dados&quot;/&gt;
</pre>
<p>Para criar as tabelas no banco o valor da propriedade <b>hibernate.hbm2ddl.auto</b> deve ser <b>create</b>.</p>
<pre class="brush: xml">
&lt;property name=&quot;hibernate.hbm2ddl.auto&quot; value=&quot;create&quot; /&gt;
</pre>
<p>Saiba mais sobre as propriedades de configuração neste <a href="http://www.hibernate.org/hib_docs/reference/en/html/configuration-optional.html">link</a>.</p>
<p>Como estamos falando de Hibernate nada impede de testarmos com <a href="http://www.postgresql.org/">PostgreSQl</a>, <a href="http://www.oracle.com/">Oracle</a>, <a href="http://www.microsoft.com/brasil/servidores/sql/default.mspx">SQL Server</a> e etc. alterando as linhas abaixo.</p>
<pre class="brush: xml">
&lt;property name=&quot;hibernate.dialect&quot; value=&quot;org.hibernate.dialect.MySQLDialect&quot;/&gt;
&lt;property name=&quot;hibernate.connection.driver_class&quot; value=&quot;com.mysql.jdbc.Driver&quot;/&gt;
</pre>
<p>Confira a <a href="http://www.redhat.com/docs/en-US/JBoss_Hibernate/3.2.4.sp01.cp03/html/Reference_Guide/Optional_configuration_properties-SQL_Dialects.html">lista de banco de dados suportado</a> pelo Hibernate.</p>
<p>Para fazer o <a href="http://www.furutani.com.br/a/leitorrss.zip">download do Leitor RSS clique aqui.</a></p>
<p>Até mais,<br />
Roberto Furutani</p>
]]></content:encoded>
			<wfw:commentRss>http://www.furutani.com.br/2009/02/exemplo-de-aplicacao-jpa-hibernate/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tratamento de imagens com Java com anti-aliasing</title>
		<link>http://www.furutani.com.br/2009/02/tratamento-de-imagens-com-java-com-anti-aliasing/</link>
		<comments>http://www.furutani.com.br/2009/02/tratamento-de-imagens-com-java-com-anti-aliasing/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 10:43:20 +0000</pubDate>
		<dc:creator>Roberto Furutani</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[anti-aliasing]]></category>
		<category><![CDATA[imagens]]></category>

		<guid isPermaLink="false">http://www.furutani.com.br/?p=335</guid>
		<description><![CDATA[Olá! Se você, assim como eu estava procurando com criar imagens dinâmicas com Java com a API 2D e com anti-aliasing encontrou. As linhas abaixo ativam esse recurso. A variavel g é do tipo Graphics2D. g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, // Define o Anti-alias RenderingHints.VALUE_ANTIALIAS_ON); Encrementando mais um pouco o nosso código, as linhas abaixo modificam a qualidade da [...]]]></description>
			<content:encoded><![CDATA[<p>Olá!</p>
<p>Se você, assim como eu estava procurando com criar imagens dinâmicas com Java com a API 2D e com <strong>anti-aliasing</strong> encontrou.<br />
As linhas abaixo ativam esse recurso. A variavel <strong>g</strong> é do tipo Graphics2D.</p>
<pre class="brush: java">g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, // Define o Anti-alias
	               RenderingHints.VALUE_ANTIALIAS_ON);</pre>
<p>Encrementando mais um pouco o nosso código, as linhas abaixo modificam a qualidade da figura no formato JPG.</p>
<pre class="brush: java">JPEGEncodeParam p = encoder.getDefaultJPEGEncodeParam(imagem);
/*   Qualidades: 0.75 high quality
                 0.5  medium quality
                 0.25 low quality
*/
p.setQuality(0.75f, true);
encoder.setJPEGEncodeParam(p);</pre>
<p><strong>Para experimentar clique no link abaixo:</strong><br />
1. Baixa qualidade e com anti-aliasing<br />
<a href="http://www.furutani.com.br/site/gerarimagem_antialiasing.jsp?aa=S&amp;qty=30&amp;texto=Roberto%20Jundi%20Furutani">http://www.furutani.com.br/site/gerarimagem_antialiasing.jsp?aa=S&amp;qty=30&amp;texto=Roberto%20Jundi%20Furutani</a></p>
<p>2. Baixa qualidade e sem anti-aliasing<br />
<a href="http://www.furutani.com.br/site/gerarimagem_antialiasing.jsp?aa=N&amp;qty=30&amp;texto=Roberto%20Jundi%20Furutani">http://www.furutani.com.br/site/gerarimagem_antialiasing.jsp?aa=N&amp;qty=30&amp;texto=Roberto%20Jundi%20Furutani</a></p>
<p>3. Alta qualidade e com anti-aliasing<br />
<a href="http://www.furutani.com.br/site/gerarimagem_antialiasing.jsp?aa=S&amp;qty=100&amp;texto=Roberto%20Jundi%20Furutani">http://www.furutani.com.br/site/gerarimagem_antialiasing.jsp?aa=S&amp;qty=100&amp;texto=Roberto%20Jundi%20Furutani</a></p>
<p>4. Alta qualidade e sem anti-aliasing<br />
<a href="http://www.furutani.com.br/site/gerarimagem_antialiasing.jsp?aa=N&amp;qty=100&amp;texto=Roberto%20Jundi%20Furutani">http://www.furutani.com.br/site/gerarimagem_antialiasing.jsp?aa=N&amp;qty=100&amp;texto=Roberto%20Jundi%20Furutani</a></p>
<p>Parâmetros da URL:<br />
<strong>aa </strong>-&gt; <span style="color: #ff0000;">S</span> ativa o anti-aliasing, <span style="color: #ff0000;">N </span>desativa o anti-aliasing<br />
<strong>texto </strong>-&gt; texto a ser desenhado na figura<br />
<strong>qty </strong>-&gt; Fator de qualidade, informe um número de 10 a 100 no código esse número é dividido por 100.</p>
<p>Espero ter ajudado alguém.<br />
Até mais,<br />
Roberto</p>
]]></content:encoded>
			<wfw:commentRss>http://www.furutani.com.br/2009/02/tratamento-de-imagens-com-java-com-anti-aliasing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
