Pretty Code Blog

Just another weblog about development

11 2009

Jogos com Adobe Flex3: Choochoo Like A Hobo

O  jogo abaixo foi feito em três dias, por iniciantes em Adobe Flex3. O interessante é ver o que dá para fazer em tão pouco tempo e um tutorial. O Flex é uma ferramenta poderosa para desenvolvedores que não entendem muito de arte. Mas o jogo contou com um desenvolvedor e um artista. Paulo e Marquetto, parabéns meninos. :-)

O joguinho foi feito para a competição Minimal do Gamejolt. Eu já perdi um mouse, e minha tendinite já está gritando… Mas marquei pontos no score ;-)


Tags: ,
25  08 2009

Carregar selectOneMenu ao escolher um outro selectOneMenu?

Em JSF, como carregar um combo de cidades ao escolher um estado em um combo?

A solução que mais gosto é o ValueChangeListener. O ValueChangeListener faz uma requisição a um bean no momento que um determinado valor for alterado, no caso o estado.


Um exemplo:

Combo de estado:

<h:selectOneMenu id="tipo" value="#{meuController.endereco.estado}" valueChangeListener="#{meuController.trocaCidadesEstado}" >
<f:selectItems value="#{meuController.listaEstados}" />
</h:selectOneMenu>

Combo de cidades:

<h:selectOneMenu id="tipo" value="#{meuController.endereco.cidade}" >
<f:selectItems value="#{meuController.listaCidades}" />
</h:selectOneMenu>

MeuBean.java

/**
* Listener que atualiza o combo de cidades dependendo do estado escolhido
*
* @param event
*/
public void trocaCidadesEstado(ValueChangeEvent event) {
// garantindo que o valor do combo de estados mudou
if (event.getNewValue() != event.getOldValue()) {
List<Cidade> lista = new ArrayList<Cidade>();
try {
lista = cidadesService.findCidadesByEstado(event.getNewValue().toString());
} catch (Exception e) {
...
}
this.listaCidades = MeuUtil.montaSelectItems(lista);
}
}

Tags: , ,
24  08 2009

Adicionando ICEFaces a um projeto pelo Maven

Utilizar bibliotecas integradas pelo Maven pode ser bem complicado se você não conhecer os repositórios.

Hoje penei um pouquinho para encontrar a definição correta para colocar icefaces no pom.xml:

<dependency>
<groupId>org.icefaces</groupId>
<artifactId>icefaces</artifactId>
<version>1.7.0</version>
<exclusions>
<exclusion>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.icefaces</groupId>
<artifactId>icefaces-comps</artifactId>
<version>1.7.0</version>
<exclusions>
<exclusion>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<repository>
<id>jboss</id>
<url>http://repository.jboss.com/maven2</url>
</repository>

12  08 2009

m2eclipse: plugin do maven para Eclipse

As tarefas de criar projetos Maven, editar POMs e atualizar ambientes podem ficar mais fáceis utilizando o plugin do Maven para Eclipse.

Para instalá-lo pelo Eclipse, no menu vá em Help -> Install New Software

help_eclipse

Clique em Add para adicionar um novo repositório e então insira:

Volte ao campo “Work with” adicione o m2eclipse. Selecione a instalação, aceite a licença e pronto.

Depois de recarregar o workspace (o Eclipse necessita disso para que as mudanças surtam efeito) vá em New -> Maven Project e voilá.


22  07 2009

NoClassDefFoundError: edu/emory/mathcs/backport/java/util/concurrent/ThreadFactory

SEVERE: StandardWrapper.Throwable java.lang.NoClassDefFoundError: edu/emory/mathcs/backport/java/util/concurrent/ThreadFactory

Solução: adicionar backport-util-concurrent.jar às libs


17  07 2009

Eclipse GALILEO

Eclipse Java EE IDE for Web Developers.
Build id: 20090621-0832
(c) Copyright Eclipse contributors and others 2005, 2009.  All rights reserved.
Visit http://www.eclipse.org/webtools

galileo

Aê! Faz uma semana que estou usando o novo Eclipse para Web Development. Estou muito feliz com ele, rápido, prático… E tem TUDO!

Esse está caprichado, eu recomendo! Have fun :-)


Tags: , ,
17  07 2009

Just in Time: Instalando o maven

Estou instalando o Apache Maven. Vamos a um passo a passo do que estou fazendo.

Vamos considerar que você já tem seu “JAVA_HOME” definido, com o valor do diretório onde foi instalado o seu Java Developer Kit (JDK), ok?

  • Baixe o zip da versão mais recente do site do apache (hoje é a 2.2.0):
  • Descompacte em um local de sua preferência. Sugestão: colocar junto com a família apache:
    • C:\Arquivos de programas\Apache Software Foundation\apache-maven-2.2.0
  • Coloque a pasta “/bin” do diretório onde o arquivo foi descompactado no PATH do seu sistema operacional:
    • C:\Arquivos de programas\Apache Software Foundation\apache-maven-2.2.0\bin
  • Esta pronto. Vá até o seu console e digite o comando “maven -version”. A resposta deverá ser algo do tipo:
    • C:\>mvn -version
      Apache Maven 2.2.0 (r788681; 2009-06-26 10:04:01-0300)
      Java version: 1.6.0_04
      Java home: C:\Arquivos de programas\Java\jdk1.6.0_04\jre
      Default locale: pt_BR, platform encoding: Cp1252
      OS name: “windows xp” version: “5.1″ arch: “x86″ Family: “windows”

Fonte: http://www.guj.com.br/content/articles/maven/maven_2_guj.pdf


16  07 2009

The method getELContext() is undefined for the type FacesContext

Em um projeto JSF estava encontrando a todo momento os erros

The method getELContext() is undefined for the type FacesContext

e

The method getELResolver() is undefined for the type Application

Ainda não encontrei a causa disso, mas consegui resolver.

Eu tinha o código

FacesContext context = FacesContext.getCurrentInstance();
Object relatedController = context.getApplication().getELResolver().getValue(context.getELContext(), null, relatedControllerString);

e troquei por

FacesContext context = FacesContext.getCurrentInstance();
Object relatedController =  context.getApplication().getVariableResolver().resolveVariable(facesContext, "relatedControllerVariable");

Assim que eu entender a causa edito e posto aqui.


27  06 2009

Desenvolvendo um plugin para o Wordpress: o ambiente

Table of contents for UltimateTagSuggestor

  1. Desenvolvendo um plugin para o Wordpress: o ambiente

Tenho utilizado o wordpress e seus plugins há algum tempo e estou bastante satisfeita. Uma coisa que gosto muito quando visito blogs são as tags. Com elas podemos saber os assuntos gerais do blog e ler conteúdo relacionado. Também é mais fácil encontrar o post pelos mecanismos de busca.

Mas não é fácil taguear, decidir quais termos definem o texto que estamos postando… Existem plugins que sugerem tags, mas ainda não encontrei nenhum eficiente, especialmente porque a maioria é feita paraa língua Inglesa.

Então decidi tentar fazer o meu… Vamos ver no que dá…

Vou colocar as etapas de desenvolvimento por aqui.

Bom a primeira coisa a fazer é montar o ambiente de desenvolvimento. Vou utilizar:

Mas vale lembrar que você pode utilizar qualquer editor de textos para programar em PHP, qualquer servidor de páginas para PHP 5 e outras versões do Wordpress. Mas oq ue vou descrever a partir daqui é levando em consideração o ambiente acima.

Bom, instalar e configurar Apache + PHP em Windows foi um parto. Em casa não costumo utilizar Linux, não estava a fim de configurar um só para desenvolver PHP… Então me aventurei a fazer isso no Windows XP mesmo. Acho que a experiência até vale outro tutorial! [;)]

Depois de Apache, PHP e MySQL devidamente configurados, instalei o wordpress localmente, em C:/renoir/wordpress

Pronto, posso partir para o desenvolvimento do plugin.

Vou utilizar um tutorial da IBM como referência:

Criei um novo projeto PHP no eclipse e escolhi “Criar projeto a partir de origem existente”, setando para C:/renoir/wordpress/wp-content/plugins/ultimateTagSugestor

Pronto, agora já posso começar a criar os arquivos.

O primeiro deve ter o nome do plugin e deve começar com um bloco de comentário padrão do wordpress. Então temos ultimateTagSuggestor.php:

/*
Plugin Name: ultimateTagSuggester
Plugin URI: http://www.prettycode.com.br/plugin/ultimateTagSuggester
Description: This is new plugin to suggest tags to WordPress.
Version: 1.0.0
Author: Giselle Cantador
Author URI: http://www.prettycode.com.br/
*/

E voilá!! É só salvar, acessar o wordpress instalado localmente, logar como administrador e já posso ver o plugin na administração do blog!

Primeira imagem do novo plugin para wordpress


20  06 2009

ZStatic Charge – A Freeware Platformer Game | Game Jolt

ZStatic Charge – A Freeware Platformer Game | Game Jolt

Esse ‘e um joguinho muito interessante, que utiliza bem a f’isica. Foi feito para o Game Jolt, e o tema era “Choque”. Visite tamb’em o blog do desenvolvedor.


Tags:
Next Page »