<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Ranophoenix's Weblog</title>
	<atom:link href="http://ranophoenix.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ranophoenix.wordpress.com</link>
	<description>Um blog sobre a vida e seu conteúdo</description>
	<lastBuildDate>Thu, 28 Apr 2011 11:01:56 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='ranophoenix.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Ranophoenix's Weblog</title>
		<link>http://ranophoenix.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://ranophoenix.wordpress.com/osd.xml" title="Ranophoenix&#039;s Weblog" />
	<atom:link rel='hub' href='http://ranophoenix.wordpress.com/?pushpress=hub'/>
		<item>
		<title>OL4JSF: Eventos Ajax</title>
		<link>http://ranophoenix.wordpress.com/2010/12/27/ol4jsf-eventos-ajax/</link>
		<comments>http://ranophoenix.wordpress.com/2010/12/27/ol4jsf-eventos-ajax/#comments</comments>
		<pubDate>Mon, 27 Dec 2010 12:42:14 +0000</pubDate>
		<dc:creator>ranophoenix</dc:creator>
				<category><![CDATA[Geo]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://ranophoenix.wordpress.com/?p=76</guid>
		<description><![CDATA[O que acham de utilizamos eventos de nosso mapa para disparar métodos nas nossas classes server-side? A página principal exibe o código de um exemplo: https://ol4jsf.dev.java.net Muito simples e poderoso! Além da simplicidade, as possibilidades são incríveis. Download: https://ol4jsf.dev.java.net/downloads/ol4jsf-core-2.0-SNAPSHOT.jar Usuários Maven: Infelizmente, o repositório Maven do Java.net está somente leitura porque eles estão migrando a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ranophoenix.wordpress.com&amp;blog=2547634&amp;post=76&amp;subd=ranophoenix&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>O que acham de utilizamos eventos de nosso mapa para disparar métodos nas nossas classes server-side?</p>
<p>A página principal exibe o código de um exemplo:</p>
<p><a href="https://ol4jsf.dev.java.net">https://ol4jsf.dev.java.net</a></p>
<p>Muito simples e poderoso! Além da simplicidade, as possibilidades são incríveis.</p>
<p>Download:</p>
<p><a href="https://ol4jsf.dev.java.net/downloads/ol4jsf-core-2.0-SNAPSHOT.jar">https://ol4jsf.dev.java.net/downloads/ol4jsf-core-2.0-SNAPSHOT.jar</a></p>
<p>Usuários Maven:</p>
<p>Infelizmente, o repositório Maven do Java.net está somente leitura porque eles estão migrando a infraestrutura. O jeito então é atualizar o jar &#8220;na unha&#8221;. <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Obs: Essa funcionalidade encontra-se disponível somente na versão 2.0-snapshot.</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ranophoenix.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ranophoenix.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ranophoenix.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ranophoenix.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ranophoenix.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ranophoenix.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ranophoenix.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ranophoenix.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ranophoenix.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ranophoenix.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ranophoenix.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ranophoenix.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ranophoenix.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ranophoenix.wordpress.com/76/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ranophoenix.wordpress.com&amp;blog=2547634&amp;post=76&amp;subd=ranophoenix&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ranophoenix.wordpress.com/2010/12/27/ol4jsf-eventos-ajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6104d7bae8b16958edd24343c8677204?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ranophoenix</media:title>
		</media:content>
	</item>
		<item>
		<title>InheritanceType.SINGLETABLE + PostgreSQL 8.4.1 JDBC Driver</title>
		<link>http://ranophoenix.wordpress.com/2010/02/04/inheritancetype-singletable-postgresql-8-4-1-jdbc-driver/</link>
		<comments>http://ranophoenix.wordpress.com/2010/02/04/inheritancetype-singletable-postgresql-8-4-1-jdbc-driver/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 15:11:45 +0000</pubDate>
		<dc:creator>ranophoenix</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://ranophoenix.wordpress.com/?p=68</guid>
		<description><![CDATA[No post anterior eu comentei sobre o estranho bug que encontrei ao utilizar JPA com PostgreSQL. Como o projeto que estou desenvolvendo está sendo feito do zero, tinha adotado uma abordagem top-down, ou seja, deixei o próprio JPA gerar o meu esquema no SGBD. Bingo! Aí está o problema. O JPA, pelo menos na implementação [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ranophoenix.wordpress.com&amp;blog=2547634&amp;post=68&amp;subd=ranophoenix&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>No post <a href="http://ranophoenix.wordpress.com/2009/12/27/mais-uma-da-serie-nao-perca-tempo-parte-ii/">anterior</a> eu comentei sobre o estranho <a href="http://opensource.atlassian.com/projects/hibernate/browse/HHH-4739">bug</a> que encontrei ao utilizar JPA com PostgreSQL. Como o projeto que estou desenvolvendo está sendo feito do zero, tinha adotado uma abordagem <em>top-down</em>, ou seja, deixei o próprio JPA gerar o meu esquema no SGBD. Bingo! Aí está o problema. O JPA, pelo menos na implementação do Hibernate, ao persistir uma entidade sempre espera que a <em>primary key</em> seja a primeira coluna a ser retornada na obtenção do id devolvido por um insert. No entanto, observe o que acontece ao deixar o JPA criar a tabela:</p>
<p>@Entity</p>
<p>@Inheritance(strategy = InheritanceType.SINGLE_TABLE</p>
<p>public abstract class P {</p>
<p>@Id @GeneratedValue(strategy = GenerationType.IDENTITY)</p>
<p>private int id;</p>
<p>//Get e Set</p>
<p>}</p>
<p>@Entity</p>
<p>public abstract class P1 extends P {</p>
<p>private String p1Atributo;</p>
<p>//Get e Set</p>
<p>}</p>
<p>@Entity</p>
<p>public abstract class P2 extends P {</p>
<p>private String p2Atributo;</p>
<p>//Get e Set</p>
<p>}</p>
<p>Tabela gerada:</p>
<p>create table p (</p>
<p><strong>dtype character varrying(31) NOT NULL,</strong></p>
<p>id serial NOT NULL,</p>
<p>p1atributo character varrying(255),</p>
<p>p2atributo character varrying(255) ,</p>
<p>constraint p_pkey PRIMARY KEY (id)</p>
<p>)</p>
<p>Observe que o atributo que o JPA utiliza por padrão para fazer a distinção das classes pertinentes à herança é criado antes dos demais campos. Ao chamar o método persist() no entity manager o seguinte insert é enviado ao SGBD:</p>
<p>INSERT INTO P1 (p1atributo) VALUES (&#8216;Teste&#8217;) RETURING *;</p>
<p>Na versão 8.3 do driver, o insert acima retornaria um resultset contendo uma única linha com a chave primária sendo a primeira coluna e as demais colunas em seguida. Porém, a versão 8.4 do driver retorna a ordem física dos campos na tabela, ou seja, na ordem que eles foram criados. Dessa forma, o JPA não consegue fazer a persistência do registro. Mas uma coisa pior ainda pode acontecer! Se você tivesse mudado o tipo padrão através da anotação @DiscriminatorColumn para o mesmo tipo da chave primária, o JPA não lançaria nenhum erro e você poderia estar com um valor no ID da sua entidade que não foi o efetivamente inserido no SGBD! Como o tipo padrão é String, um erro de conversão de tipos é disparado e o registro não é inserido.</p>
<p>Como resolvi o problema?</p>
<p>Adotei uma abordagem <em>middle-out</em>, mudando o meu atributo &#8220;hibernate.hbm2ddl.auto&#8221; (persistence.xml) para &#8220;update&#8221; ao invés de &#8220;create-drop&#8221;. Depois disso, alterei a tabela que havia sido gerada efetuando um drop na coluna dtype e fazendo a adição dela novamente, dessa forma o id passa a ser a primeira coluna e, obviamente, a questão é resolvida. Voltei a utilizar a versão 8.4.1 do driver! <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Espero ter ajudado.</p>
<p>Até a próxima!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ranophoenix.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ranophoenix.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ranophoenix.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ranophoenix.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ranophoenix.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ranophoenix.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ranophoenix.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ranophoenix.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ranophoenix.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ranophoenix.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ranophoenix.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ranophoenix.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ranophoenix.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ranophoenix.wordpress.com/68/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ranophoenix.wordpress.com&amp;blog=2547634&amp;post=68&amp;subd=ranophoenix&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ranophoenix.wordpress.com/2010/02/04/inheritancetype-singletable-postgresql-8-4-1-jdbc-driver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6104d7bae8b16958edd24343c8677204?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ranophoenix</media:title>
		</media:content>
	</item>
		<item>
		<title>Profecia Maia e números capicua</title>
		<link>http://ranophoenix.wordpress.com/2010/01/06/profecia-maia-e-numeros-capicua/</link>
		<comments>http://ranophoenix.wordpress.com/2010/01/06/profecia-maia-e-numeros-capicua/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 16:32:30 +0000</pubDate>
		<dc:creator>ranophoenix</dc:creator>
				<category><![CDATA[Reflexão]]></category>

		<guid isPermaLink="false">http://ranophoenix.wordpress.com/?p=63</guid>
		<description><![CDATA[Olá pessoal! Para começar 2010 com o pé direito nada como uma boa curiosidade para estimular a nossa imaginação. Com o lançamento do filme 2012, muitas pessoas passaram a conhecer a famosa profecia Maia sobre o possível fim dos tempos ou início de uma nova era. O fato é que o mundo tem passado por [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ranophoenix.wordpress.com&amp;blog=2547634&amp;post=63&amp;subd=ranophoenix&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal!</p>
<p>Para começar 2010 com o pé direito nada como uma boa curiosidade para estimular a nossa imaginação. <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Com o lançamento do filme 2012, muitas pessoas passaram a conhecer a famosa profecia Maia sobre o possível fim dos tempos ou início de uma nova era.</p>
<p>O fato é que o mundo tem passado por grandes mudanças climáticas. Revistas e noticiários gastam quase 1/3 de seu tempo falando sobre tais acontecimentos. Será que realmente é possível o mundo ter um fim? Talvez imaginar o planeta Terra virando pó é meio complicado. Mas a coisa muda de figura se pensarmos que não vemos nenhum Tiranossauro andando por aí atualmente. <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Será que estamos sujeitos a mesma extinção que deu fim a criaturas tão enormes? Será que num futuro não muito distante não passaremos de fósseis?</p>
<p>Muitos podem dizer &#8220;O homem tem tecnologia para dominar ou pelo menos prever o comportamento da natureza e os dinossauros não tinham&#8221;. Será?</p>
<p>Toda vez que vejo a previsão do tempo dizer: &#8220;sol, com tempo nublado a parcialmente nublado com possibilidade de chuva no decorrer do período&#8221;, vejo que nossos modelos matemáticos não estão tão avançados assim. Pior ainda, o que mais vejo é gente explicando catástrofes depois que elas acontecem. Por que não conseguiram prever e salvar dezenas, centenas ou até mesmo milhares de vidas? É muito fácil criar uma pseudo lógica que serve nada mais nada menos para dar uma falsa sensação de segurança para a população que, em sua absoluta maioria, nunca vai ter interesse, ou condições, de provar tais proposições.</p>
<p>Certo, sobre a profecia Maia todo mundo já ouviu falar, mas o que são esses números capicua?</p>
<p>Números capicua são números que podem ser lidos tanto da esquerda para direita quando da direta para esquerda sem mudarem seu valor.</p>
<p>Exemplos: 232, 141, 15151, etc.</p>
<p>Mas qual a ligação dos números capicua com a profecia Maia?</p>
<p>Segundo a profecia, no dia 21 de dezembro de 2012 termina o grande ciclo. Em outras palavras, essa seria a última data do calendário Maia. Por coincidência, ou não,  cem anos depois, será a última vez na história da humanidade que uma data representará um número capicua. Exatamente às 21h12 21/12/2112.</p>
<p>Será que cometemos um erro na interpretação da última data do calendário Maia?</p>
<p>Será que a civilização Maia utilizou os números capicua na elaboração de seu calendário e, dessa forma, encontrou um possível fim pelo fato do modelo matemático não possuir mais números na sequência? Ou será que realmente todas essas mudanças climáticas fazem parte da profecia e o raríssimo alinhamento com o centro da via láctea que ocorrerá nessa data culminarão no fim de uma era?</p>
<p>Como diz aquela propaganda: &#8220;Não são as respostas que movem o mundo mas sim as perguntas&#8221;.</p>
<p>Até mais!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ranophoenix.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ranophoenix.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ranophoenix.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ranophoenix.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ranophoenix.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ranophoenix.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ranophoenix.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ranophoenix.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ranophoenix.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ranophoenix.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ranophoenix.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ranophoenix.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ranophoenix.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ranophoenix.wordpress.com/63/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ranophoenix.wordpress.com&amp;blog=2547634&amp;post=63&amp;subd=ranophoenix&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ranophoenix.wordpress.com/2010/01/06/profecia-maia-e-numeros-capicua/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6104d7bae8b16958edd24343c8677204?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ranophoenix</media:title>
		</media:content>
	</item>
		<item>
		<title>Mais uma da série: não perca tempo (parte II)</title>
		<link>http://ranophoenix.wordpress.com/2009/12/27/mais-uma-da-serie-nao-perca-tempo-parte-ii/</link>
		<comments>http://ranophoenix.wordpress.com/2009/12/27/mais-uma-da-serie-nao-perca-tempo-parte-ii/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 04:41:32 +0000</pubDate>
		<dc:creator>ranophoenix</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://ranophoenix.wordpress.com/?p=60</guid>
		<description><![CDATA[Opa pessoal! Vou ser bastante objetivo pois já são 1:31 AM e estou com sono. Como vocês sabem o JPA permite 3 tipos de mapeamento de herança. Pois se você está tentando utilizar o Hibernate 3.3.1 (bibliotecas que acompanham o Seam 2.2.0-GA) com o Postgresql 8.4.1 e seu respectivo driver jdbc (postgresql-8.4-701.jdbc3.jar), baseando-se no mapeamento  [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ranophoenix.wordpress.com&amp;blog=2547634&amp;post=60&amp;subd=ranophoenix&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Opa pessoal!</p>
<p>Vou ser bastante objetivo pois já são 1:31 AM e estou com sono. <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Como vocês sabem o JPA permite 3 tipos de mapeamento de herança. Pois se você está tentando utilizar o Hibernate 3.3.1 (bibliotecas que acompanham o Seam 2.2.0-GA) com o Postgresql 8.4.1 e seu respectivo driver jdbc (postgresql-8.4-701.jdbc3.jar), baseando-se no mapeamento  InheritanceType.SINGLE_TABLE então&#8230; simplesmente esqueça! Não vai funcionar.</p>
<p>Acabei de abrir um ticket no JIRA do hibernate:</p>
<p>http://opensource.atlassian.com/projects/hibernate/browse/HHH-4739</p>
<p>Workaround:</p>
<p>Utilize a versão anterior do driver (postgresql-8.3-605.jdbc3).</p>
<p>Isso é perigoso?</p>
<p>Particularmente não gosto de utilizar versões de drivers diferentes da versão do database que estou utilizando, pois podem acontecer erros muito difíceis de depurar. Estou cobrindo minha aplicação com o maior número de testes possíveis para minimizar a probabilidade de ocorrerem comportamentos indesejados. Aconselho vocês a fazerem o mesmo.</p>
<p>Até mais!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ranophoenix.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ranophoenix.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ranophoenix.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ranophoenix.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ranophoenix.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ranophoenix.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ranophoenix.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ranophoenix.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ranophoenix.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ranophoenix.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ranophoenix.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ranophoenix.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ranophoenix.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ranophoenix.wordpress.com/60/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ranophoenix.wordpress.com&amp;blog=2547634&amp;post=60&amp;subd=ranophoenix&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ranophoenix.wordpress.com/2009/12/27/mais-uma-da-serie-nao-perca-tempo-parte-ii/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6104d7bae8b16958edd24343c8677204?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ranophoenix</media:title>
		</media:content>
	</item>
		<item>
		<title>JBoss Seam + DTO + EntityQuery</title>
		<link>http://ranophoenix.wordpress.com/2009/10/16/jboss-seam-dto-entityquery/</link>
		<comments>http://ranophoenix.wordpress.com/2009/10/16/jboss-seam-dto-entityquery/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 10:52:58 +0000</pubDate>
		<dc:creator>ranophoenix</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://ranophoenix.wordpress.com/?p=52</guid>
		<description><![CDATA[Fazer um consulta na base de dados, retornar alguns registros e criar uma tela para pesquisa contendo ordenação e paginação é uma tarefa repetitiva no desenvolvimento de aplicações. Pensando nisso, o framework JBoss Seam fornece uma classe chamada EntityQuery que, ao ser herdada, fornece todos os métodos necessários para execução e retorno da consulta, ordenação [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ranophoenix.wordpress.com&amp;blog=2547634&amp;post=52&amp;subd=ranophoenix&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Fazer um consulta na base de dados, retornar alguns registros e criar uma tela para pesquisa contendo ordenação e paginação é uma tarefa repetitiva no desenvolvimento de aplicações.</p>
<p>Pensando nisso, o framework JBoss Seam fornece uma classe chamada EntityQuery que, ao ser herdada, fornece todos os métodos necessários para execução e retorno da consulta, ordenação e paginação dos registros. Por exemplo, suponha uma classe persistente chamada EntidadeA, o código abaixo já é mais do que o suficiente para construção de uma tela de exibição e pesquisa:</p>
<p>@Name(&#8220;entidadeAList&#8221;)</p>
<p>public class EntidadeAList extends EntityQuery&lt;EntidadeA&gt; {</p>
<p>private static final String EJBQL = &#8220;select a from EntidadeA a&#8221;</p>
<p>private static final String[] RESTRICTIONS = { &#8220;lower(a.campoA) like lower(concat(#{entidadeAList.entidade.campoA},&#8217;%'))&#8221;,}</p>
<p>public EntidadeAList() {</p>
<p>setEjbql(EJBQL);</p>
<p>setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));</p>
<p>setMaxResults(10);</p>
<p>}</p>
<p>private EntidadeA entidade A;</p>
<p>//Get e Set para entidadeA</p>
<p>}</p>
<p>Prontinho!!! É só criar sua página de exibição e chamar os métodos disponíveis na classe.</p>
<p>Infelizmente (ou felizmente!?), nem todas as aplicações são tão simples asssim. Desenvolvimento uma dessas aplicações não tão simples, precisei de um DTO para encapsular joins espaciais e outras operações geométricas sobre as entidades persistentes. Segue abaixo o pseudo-código:</p>
<p>@Name(&#8220;entidadeDTOList&#8221;)</p>
<p>public class EntidadeDTOList extends EntityQuery&lt;EntidadeDTO&gt; {</p>
<p>private static final String EJBQL = &#8220;select new meupacote.EntidadeDTO(a.nome, intersection(a.theGeom, b.theGeom))  from EntidadeA a, EntidadeB b&#8221;</p>
<p>private static final String[] RESTRICTIONS = {&#8220;intersects(a.theGeom, b.theGeom) = #{true}&#8221;, &#8220;lower(a.campoA) like lower(concat(#{entidadeDTOList.entidade.campoA},&#8217;%'))&#8221;,}</p>
<p>public EntidadeAList() {</p>
<p>setEjbql(EJBQL);</p>
<p>setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));</p>
<p>setMaxResults(10);</p>
<p>}</p>
<p>private EntidadeA entidade A;</p>
<p>//Get e Set para entidadeA</p>
<p>}</p>
<p>Nesse caso, simplesmente herdar de EntityQuery não funcionou. O método de navegação &#8220;lastFirstResult&#8221; dispara a exceção &#8220;invalid select clause for query&#8221;.</p>
<p>Investigando mais de perto, abri o código-fonte da super classe Query e observei que o erro estava acontecendo dentro do método getCountEjbql(). O grande problema é que a seguinte expressão regular usada pelo Seam não abrange casos um pouco mais complexos:</p>
<p>SUBJECT_PATTERN = &#8220;Pattern.compile(&#8220;^select(\\w+((\\s+|\\.)\\w+)*\\s+from&#8221;, Pattern.CASE_INSENTIVE)</p>
<p>Como não queria criar um fork do Seam &#8220;corrigindo&#8221; o pattern, preferi sobrescrever o método na minha classe, que no final ficou parecida com o código abaixo:</p>
<p>@Name(&#8220;entidadeDTOList&#8221;)</p>
<p>public class EntidadeDTOList extends EntityQuery&lt;EntidadeDTO&gt; {</p>
<p>private static final String EJBQL = &#8220;select %s from EntidadeA a, EntidadeB b where intersects(a.theGeom, b.theGeom) = true&#8221;</p>
<p>private static final String EJBQL_PROJ = &#8220;new meupacote.EntidadeDTO(a.nome, intersection(a.theGeom, b.theGeom))&#8221;</p>
<p>private static final String[] RESTRICTIONS = { &#8220;lower(a.campoA) like lower(concat(#{entidadeDTOList.entidade.campoA},&#8217;%'))&#8221;,}</p>
<p>public EntidadeAList() {</p>
<p>setEjbql(String.format(EJBQL, EJBQL_PROJ);</p>
<p>setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));</p>
<p>setMaxResults(10);</p>
<p>}</p>
<p>@Override</p>
<p>protected String getCountEjbql() {</p>
<p>String query = getRenderedEjbql();</p>
<p>query = query.replace(EJBQL_PROJ, &#8220;count(c)&#8221;);</p>
<p>return query;</p>
<p>}</p>
<p>private EntidadeA entidade A;</p>
<p>//Get e Set para entidadeA</p>
<p>}</p>
<p>Agora sim! Funcionando de forma satisfatória, porém não ideal. Acho que o Seam já poderia ter feito uma expressão regular que contemplasse esses casos.</p>
<p>Até a próxima!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ranophoenix.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ranophoenix.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ranophoenix.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ranophoenix.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ranophoenix.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ranophoenix.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ranophoenix.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ranophoenix.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ranophoenix.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ranophoenix.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ranophoenix.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ranophoenix.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ranophoenix.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ranophoenix.wordpress.com/52/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ranophoenix.wordpress.com&amp;blog=2547634&amp;post=52&amp;subd=ranophoenix&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ranophoenix.wordpress.com/2009/10/16/jboss-seam-dto-entityquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6104d7bae8b16958edd24343c8677204?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ranophoenix</media:title>
		</media:content>
	</item>
		<item>
		<title>Mais uma da série: não perca tempo</title>
		<link>http://ranophoenix.wordpress.com/2009/10/09/mais-uma-da-serie-nao-perca-tempo/</link>
		<comments>http://ranophoenix.wordpress.com/2009/10/09/mais-uma-da-serie-nao-perca-tempo/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 19:53:03 +0000</pubDate>
		<dc:creator>ranophoenix</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://ranophoenix.wordpress.com/?p=47</guid>
		<description><![CDATA[Opa pessoal, Vou relatar mais uma experiência que pode poupar muito o tempo de vocês quando tiverem trabalhando com a combinação Seam + Eclipse (com JBoss Developer Tools) + JBoss 5.1. Hoje precisei fazer uma pequena alteração no faces-config.xml de meu projeto e quando dei um seam explode, sem mais nem menos, o JBoss ficava [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ranophoenix.wordpress.com&amp;blog=2547634&amp;post=47&amp;subd=ranophoenix&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Opa pessoal,</p>
<p>Vou relatar mais uma experiência que pode poupar muito o tempo de vocês quando tiverem trabalhando com a combinação Seam + Eclipse (com JBoss Developer Tools) + JBoss 5.1.</p>
<p>Hoje precisei fazer uma pequena alteração no faces-config.xml de meu projeto e quando dei um seam explode, sem mais nem menos, o JBoss ficava em loop ao tentar fazer o deploy do projeto. Eu fazia um unexplode e quando, para testar, executava um seam deploy, ele conseguia fazer o deploy normalmente. Resolvi investigar e percebi, pela utilização de um controle de versões (Mercurial), que quando eu salvei o projeto utilizando o JBoss Tools XML Editor ele criou outros arquivos:</p>
<p>&gt;hg status<br />
M exploded-archives\sispetroleogas.war\WEB-INF\faces-config.xml<br />
M resources\WEB-INF\faces-config.xml<br />
M test-build\WEB-INF\faces-config.xml<br />
? exploded-archives\sispetroleogas.war\WEB-INF\.faces-config.xml.jsfdia<br />
? resources\WEB-INF\.faces-config.xml.jsfdia<br />
? test-build\WEB-INF\.faces-config.xml.jsfdia</p>
<p>Bingo! Por alguma razão, o arquivo .faces-config.xml.jsfdia criado no WEB-INF do projeto e copiado pelo &#8220;seam explode&#8221; no processo de build, faz o JBoss se perder e ele fica em loop infinito. Para resolver o problema bastou apagar esses arquivos e para ele não se repetir utilizo agora o XML Editor padrão do Eclipse que não cria nenhum arquivo adicional.</p>
<p>Até a próxima,</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ranophoenix.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ranophoenix.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ranophoenix.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ranophoenix.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ranophoenix.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ranophoenix.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ranophoenix.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ranophoenix.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ranophoenix.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ranophoenix.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ranophoenix.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ranophoenix.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ranophoenix.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ranophoenix.wordpress.com/47/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ranophoenix.wordpress.com&amp;blog=2547634&amp;post=47&amp;subd=ranophoenix&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ranophoenix.wordpress.com/2009/10/09/mais-uma-da-serie-nao-perca-tempo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6104d7bae8b16958edd24343c8677204?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ranophoenix</media:title>
		</media:content>
	</item>
		<item>
		<title>Get Feature Info &#8211; Novo componente OL4JSF</title>
		<link>http://ranophoenix.wordpress.com/2009/10/01/get-feature-info-novo-componente-ol4jsf/</link>
		<comments>http://ranophoenix.wordpress.com/2009/10/01/get-feature-info-novo-componente-ol4jsf/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 23:34:03 +0000</pubDate>
		<dc:creator>ranophoenix</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://ranophoenix.wordpress.com/?p=45</guid>
		<description><![CDATA[Uma típica chamada getfeatureinfo utilizando puramente o OpenLayers é assim: map.events.register(&#8216;click&#8217;, map, function (e) { document.getElementById(&#8216;nodelist&#8217;).innerHTML = &#8220;Carregando&#8230; aguarde&#8230;&#8221;; var params = { REQUEST: &#8220;GetFeatureInfo&#8221;, EXCEPTIONS: &#8220;application/vnd.ogc.se_xml&#8221;, BBOX: map.getExtent().toBBOX(), X: e.xy.x, Y: e.xy.y, INFO_FORMAT: &#8216;text/html&#8217;, QUERY_LAYERS: map.layers[1].params.LAYERS, FEATURE_COUNT: 50, Srs: &#8216;EPSG:4291&#8242;, Layers: &#8216;topp:campos&#8217;, Styles: &#8221;, WIDTH: map.size.w, HEIGHT: map.size.h, format: &#8216;image/png&#8217;}; OpenLayers.loadURL(&#8220;http://localhost:8080/geoserver/wms&#8221;, params, this, setHTML, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ranophoenix.wordpress.com&amp;blog=2547634&amp;post=45&amp;subd=ranophoenix&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Uma típica chamada getfeatureinfo utilizando puramente o OpenLayers é assim:</p>
<p>map.events.register(&#8216;click&#8217;, map, function (e) {<br />
document.getElementById(&#8216;nodelist&#8217;).innerHTML = &#8220;Carregando&#8230; aguarde&#8230;&#8221;;<br />
var params = {<br />
REQUEST: &#8220;GetFeatureInfo&#8221;,<br />
EXCEPTIONS: &#8220;application/vnd.ogc.se_xml&#8221;,<br />
BBOX: map.getExtent().toBBOX(),<br />
X: e.xy.x,<br />
Y: e.xy.y,<br />
INFO_FORMAT: &#8216;text/html&#8217;,<br />
QUERY_LAYERS: map.layers[1].params.LAYERS,<br />
FEATURE_COUNT: 50,<br />
Srs: &#8216;EPSG:4291&#8242;,<br />
Layers: &#8216;topp:campos&#8217;,<br />
Styles: &#8221;,<br />
WIDTH: map.size.w,<br />
HEIGHT: map.size.h,<br />
format: &#8216;image/png&#8217;};<br />
OpenLayers.loadURL(&#8220;http://localhost:8080/geoserver/wms&#8221;, params, this, setHTML, setHTML);<br />
OpenLayers.Event.stop(e);<br />
});</p>
<p>Achou muito código? Que tal utlizar o OL4JSF e deixar o código assim:</p>
<p>&lt;m:getFeatureInfo url=&#8221;#{request.contextPath}/JGSProxy/wms&#8221; layers=&#8221;topp:campos&#8221; onCompleteJsFunc=&#8221;setHTML&#8221; queryLayers=&#8221;map.layers[1].params.LAYERS&#8221; /&gt;</p>
<p>Um código muito mais legível e fácil de manter. <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Até a próxima!</p>
<p>Link do projeto: <a href="https://ol4jsf.dev.java.net/"> https://ol4jsf.dev.java.net/</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ranophoenix.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ranophoenix.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ranophoenix.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ranophoenix.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ranophoenix.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ranophoenix.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ranophoenix.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ranophoenix.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ranophoenix.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ranophoenix.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ranophoenix.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ranophoenix.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ranophoenix.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ranophoenix.wordpress.com/45/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ranophoenix.wordpress.com&amp;blog=2547634&amp;post=45&amp;subd=ranophoenix&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ranophoenix.wordpress.com/2009/10/01/get-feature-info-novo-componente-ol4jsf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6104d7bae8b16958edd24343c8677204?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ranophoenix</media:title>
		</media:content>
	</item>
		<item>
		<title>Projeto OL4JSF &#8211; Open Layers For JSF</title>
		<link>http://ranophoenix.wordpress.com/2009/09/08/projeto-ol4jsf-open-layers-for-jsf/</link>
		<comments>http://ranophoenix.wordpress.com/2009/09/08/projeto-ol4jsf-open-layers-for-jsf/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 10:20:32 +0000</pubDate>
		<dc:creator>ranophoenix</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://ranophoenix.wordpress.com/?p=42</guid>
		<description><![CDATA[Olá pessoal, Tenho o prazer de anunciar a versão inicial do projeto que tem por objetivo criar um conjunto de componentes JSF sobre a biblioteca OpenLayers. Dessa forma, o desenvolvimento da camada de visualização torna-se mais produtivo e menos propício a erros, tendo em vista que é necessário muito menos código javascript na construção das [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ranophoenix.wordpress.com&amp;blog=2547634&amp;post=42&amp;subd=ranophoenix&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal,</p>
<p>Tenho o prazer de anunciar a versão inicial do projeto que tem por objetivo criar um conjunto de componentes JSF sobre a biblioteca <a href="http://www.openlayers.org">OpenLayers</a>. Dessa forma, o desenvolvimento da camada de visualização torna-se mais produtivo e menos propício a erros, tendo em vista que é necessário muito menos código javascript na construção das páginas. Além disso, tem um plugin inicial para o Netbeans e o plugin do Eclipse está a caminho.</p>
<p>Site do projeto: <a href="https://ol4jsf.dev.java.net/">https://ol4jsf.dev.java.net/</a></p>
<p>Abraços,</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ranophoenix.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ranophoenix.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ranophoenix.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ranophoenix.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ranophoenix.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ranophoenix.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ranophoenix.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ranophoenix.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ranophoenix.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ranophoenix.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ranophoenix.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ranophoenix.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ranophoenix.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ranophoenix.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ranophoenix.wordpress.com&amp;blog=2547634&amp;post=42&amp;subd=ranophoenix&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ranophoenix.wordpress.com/2009/09/08/projeto-ol4jsf-open-layers-for-jsf/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6104d7bae8b16958edd24343c8677204?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ranophoenix</media:title>
		</media:content>
	</item>
		<item>
		<title>Pesquisa mostra perfil dos executivos brasileiros</title>
		<link>http://ranophoenix.wordpress.com/2009/06/10/pesquisa-mostra-perfil-dos-executivos-brasileiros/</link>
		<comments>http://ranophoenix.wordpress.com/2009/06/10/pesquisa-mostra-perfil-dos-executivos-brasileiros/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 10:18:26 +0000</pubDate>
		<dc:creator>ranophoenix</dc:creator>
				<category><![CDATA[Geral]]></category>

		<guid isPermaLink="false">http://ranophoenix.wordpress.com/2009/06/10/pesquisa-mostra-perfil-dos-executivos-brasileiros/</guid>
		<description><![CDATA[Talvez essa pesquisa seja o reflexo de nosso modelo educacional que é muito mais informativo do que criativo. Em outras palavras, desde pequenos somos muito mais motivados a &#8220;decorar&#8221; do que realmente pensar e dar a nossa opinião sobre os assuntos, acredito que isso reflita diretamente na nossa capacidade criativa na vida adulta. Isso se [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ranophoenix.wordpress.com&amp;blog=2547634&amp;post=39&amp;subd=ranophoenix&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Talvez essa pesquisa seja o reflexo de nosso modelo educacional que é muito mais informativo do que criativo. Em outras palavras, desde pequenos somos muito mais motivados a &#8220;decorar&#8221; do que realmente pensar e dar a nossa opinião sobre os assuntos, acredito que isso reflita diretamente na nossa capacidade criativa na vida adulta. Isso se confirma até mesmo na universidade, onde percebo que muitos alunos acham as disciplinas onde precisam emitir uma opinião pessoal sobre determinados assuntos muito difíceis. Realmente é uma pena, espero que esse quadro se reverta e que possamos ter profissionais (e pessoas) cada vez mais criativas e com uma maior capacidade de comunicar as suas idéias.</p>
<p>Até mais,</p>
<p>Link para pesquisa: clique <a href="http://vilamulher.terra.com.br/dinheiro/materia/carreira/298-pesquisa-mostra-perfil-dos-executivos-brasileiros.html"> aqui </a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ranophoenix.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ranophoenix.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ranophoenix.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ranophoenix.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ranophoenix.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ranophoenix.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ranophoenix.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ranophoenix.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ranophoenix.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ranophoenix.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ranophoenix.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ranophoenix.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ranophoenix.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ranophoenix.wordpress.com/39/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ranophoenix.wordpress.com&amp;blog=2547634&amp;post=39&amp;subd=ranophoenix&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ranophoenix.wordpress.com/2009/06/10/pesquisa-mostra-perfil-dos-executivos-brasileiros/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6104d7bae8b16958edd24343c8677204?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ranophoenix</media:title>
		</media:content>
	</item>
		<item>
		<title>Lançado Grails 1.1</title>
		<link>http://ranophoenix.wordpress.com/2009/03/10/lancado-grails-11/</link>
		<comments>http://ranophoenix.wordpress.com/2009/03/10/lancado-grails-11/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 12:56:36 +0000</pubDate>
		<dc:creator>ranophoenix</dc:creator>
				<category><![CDATA[Grails]]></category>

		<guid isPermaLink="false">http://ranophoenix.wordpress.com/?p=37</guid>
		<description><![CDATA[Depois de muita expectativa, acaba de ser lançada a nova versão do framework web Grails! Abaixo seguem os links contendo documentação, changelog, etc: * Changelog: http://jira.codehaus.org/browse/GRAILS?report=com.atlassian.jira.plugin.system.project:changelog-panel * Download: http://grails.org/Download . * Documentação: http://grails.org/doc/1.1 * Notas da versão: http://grails.org/1.1+Release+Notes Principais características da nova versão: * Standalone GORM &#8211; Use GORM em projetos não Grails * Suporte [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ranophoenix.wordpress.com&amp;blog=2547634&amp;post=37&amp;subd=ranophoenix&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Depois de muita expectativa, acaba de ser lançada a nova versão do framework web Grails! Abaixo seguem os links contendo documentação, changelog, etc:</p>
<p>   * Changelog:</p>
<p>http://jira.codehaus.org/browse/GRAILS?report=com.atlassian.jira.plugin.system.project:changelog-panel</p>
<p>   * Download: http://grails.org/Download .<br />
   * Documentação: http://grails.org/doc/1.1<br />
   * Notas da versão: http://grails.org/1.1+Release+Notes</p>
<p>Principais características da nova versão:</p>
<p>* Standalone GORM &#8211; Use GORM em projetos não Grails<br />
* Suporte ao Ant+Ivy e Maven<br />
* O novo framework de Test (disponível na versão anterior na forma de plugin)<br />
* Plugins melhorados &#8211; resolução transitiva de plugin, plugins globais,<br />
plugins locais e mais.<br />
* suporte à JSP Tag Library &#8211; GSPs agora podem usar JSP taglibs<br />
* Melhoras no Controller &#8211; Controle para evitar submissões repetidas, forwards e<br />
includes e tratamento exceções de forma declarativa<br />
* Suporte Spring Namespace  &#8211; Use Spring namespaces dentro do BeanBuilder</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ranophoenix.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ranophoenix.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ranophoenix.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ranophoenix.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ranophoenix.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ranophoenix.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ranophoenix.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ranophoenix.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ranophoenix.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ranophoenix.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ranophoenix.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ranophoenix.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ranophoenix.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ranophoenix.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ranophoenix.wordpress.com&amp;blog=2547634&amp;post=37&amp;subd=ranophoenix&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ranophoenix.wordpress.com/2009/03/10/lancado-grails-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6104d7bae8b16958edd24343c8677204?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ranophoenix</media:title>
		</media:content>
	</item>
	</channel>
</rss>
