logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  • Mobile
  Twitter   Feed-me! RSS!
Ago 31

CRUD com Flex e Java

Escrito por Edgard Davidson em CRUD, Flex, Glassfish, Hibernate, JAX-WS, Java, web services @ 08 31st, 2009 | via http://edgarddavidson.com | Sem comentários
Edgard Davidson
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

O objetivo deste post e demonstrar um CRUD (Create, Retrieve, Update e Delete) feito em Flex e Java. A tecnologia utilizada é a seguinte:  do lado do servidor temos:  JAVA EE, Hibernate, JAX-WS e Glassfish. Do lado do cliente temos o Flex consumindo o webservices Java.

Esse post é continuação do anterior onde falei sobre paginação com datagrid. Agora será demonstrado como inserir, alterar, excluir.

A figura 1 ilustra a interface principal do exemplo.

Tela 11

Figura 1

Para iniciar a criar a aplicação servidor, será mostrado passo a passo como criar a aplicação no Netbeans 6.5.1.

Abra o NetBeans clique em “Novo Projeto”, em seguida escolha a categoria “Java Web” em seguida o projeto “Aplicação Web” conforme ilustrado na figura 2.  O projeto está sendo criado dessa forma porque será uma aplicação web que publicará um serviço web.

tela 1

Figura 2

O próximo passo no Wizard do NetBeans é criar um nome para o projeto. No caso deste exemplo, o projeto foi nomeado como “CrudServidor”. O local do projeto poderá ser o caminho padrão do NetBeans ou outro que você indicar.

tela 2

Figura 3

Como estamos criando uma aplicação Web, então será necessário indicar qual servidor de aplicação web será utilizado pelo projeto que está sendo criado. Conforme a figura 4, o servidor escolhida foi o GlassFish v2, mas nada impede de você escolher outro como tomcat, jboss, etc. No mais deixe os outros campos como estão.

tela 3

Figura 4

Na próxima tela do wizard (Figura 5), será necessário indicar quais frameworks serão utilizados pelo novo projeto. Nesse caso, será utilizado apenas o Hibernate 3.2.5. Fazendo isso o Netbeans já adiciona todos os ponto jar’s necessários para o hibernate, evitando que você tenha que indicar manualmente.  Na figura 5 do wizard também é necessário indicar para qual banco de dados o Hibernate será configurado. Poderia ter criado um novo banco de dados. Se esse projeto fosse para construir uma aplicação real teríamos que criar um novo banco, mas como isso é um exemplo, foi utilizado o “banco sample” que vem junto com a IDE do Netbeans. Então configura conforme figura 5. Neste ponto o seu projeto está criado no Netbeans.

Tela 4

Figura 5

Agora,  configurado o banco, será necessário criar um novo arquivo de mapeamento do Hibernate e POJOS de banco de dados. Para isso clique com o botão direito do mouse sobre a pasta “Pacotes de código fonte” do seu projeto, em seguida clique em novo e encontre o termo “Novo arquivo de mapeamento do Hibernate e POJOS de banco de dados.” Será aberta a tela conforme figura 6. O próximo passo é criar o hibernate.cfg.xml. Esse arquivo contém as informações necessárias para que o Hibernate se conecte ao banco de dados. Nessa tela do wizard (Figura 6), será necessário escolher as tabelas para que o wizard crie um mapeamento por meio de engenharia reversa. Nesse exemplo será mapeado apenas a tabela “Customer”.

Tela 6

Figura 6

A figura 7 mostra a tela do wizard onde será configurado para onde as classes de entidade, ou seja, as classes que mapeiam as tabelas do banco de dados serão geradas. Neste ponto é possível informar se você que criar o mapeamento utilizando anotation ou xml. Nesse projeto foi escolhida a estratégia de criar um arquivo XML de mapeamento objeto relacional para cada classe de entidade. No mais as classes geradas e seus respectivos arquivos de mapeamento com a extensão “.hbm.xml” serão gerados dentro do pacote entidade que foi previamente criado dentro da pasta source do projeto.

Tela 7

Figura 7

Em seguida (Figura 8), será necessário adicionar ao seu projeto um novo serviço web. Esse serviço web será a sua classe de fachada que irá publicar um web services com uma lista de métodos disponíveis para ser consumidos por qualquer aplicação cliente. Nesse projeto o nome do serviço Web é ControleCustomer. Entenda a classe de fachada com um classe que implementa as regras de negócio de um caso de uso, então se tivéssemos um caso de uso chamado “Getão de Customer”, então a classe ControleCustomer implementaria as suas regras. Note que a classe ControleCustomer  será gerada dentro do pacote chamado “controle” que foi previamente criado.

Tela 8

Figura 8

Bem, seguido todos os passos acima, espera-se que o seu projeto tenha a estrutura como ilustrado na figura 9.

Tela 9

Figura 9

A primeira classe gerada foi a classe de entidade Customer. Essa classe foi gerada automaticamente por engenharia reversa com descrito acima.
Segue o código da classe

package entidade;
// Generated 27/08/2009 21:14:32 by Hibernate Tools 3.2.1.GA

/**
 * Customer generated by hbm2java
 */
public class Customer  implements java.io.Serializable {
    private static final long serialVersionUID = 1L;

     private int customerId;
          private String zip;
     private String name;
     private String addressline1;
     private String addressline2;
     private String city;
     private String state;
     private String phone;
     private String fax;
     private String email;
     private Integer creditLimit;

    public Customer() {
    }

    public Customer(int customerId, String zip) {
        this.customerId = customerId;
        this.zip = zip;
    }
    public Customer(int customerId, String zip, String name, String addressline1, String addressline2, String city, String state, String phone, String fax, String email, Integer creditLimit) {
       this.customerId = customerId;
       this.zip = zip;
       this.name = name;
       this.addressline1 = addressline1;
       this.addressline2 = addressline2;
       this.city = city;
       this.state = state;
       this.phone = phone;
       this.fax = fax;
       this.email = email;
       this.creditLimit = creditLimit;
    }

    public int getCustomerId() {
        return this.customerId;
    }

    public void setCustomerId(int customerId) {
        this.customerId = customerId;
    }

    public String getZip() {
        return this.zip;
    }

    public void setZip(String zip) {
        this.zip = zip;
    }
    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }
    public String getAddressline1() {
        return this.addressline1;
    }

    public void setAddressline1(String addressline1) {
        this.addressline1 = addressline1;
    }
    public String getAddressline2() {
        return this.addressline2;
    }

    public void setAddressline2(String addressline2) {
        this.addressline2 = addressline2;
    }
    public String getCity() {
        return this.city;
    }

    public void setCity(String city) {
        this.city = city;
    }
    public String getState() {
        return this.state;
    }

    public void setState(String state) {
        this.state = state;
    }
    public String getPhone() {
        return this.phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getFax() {
        return this.fax;
    }

    public void setFax(String fax) {
        this.fax = fax;
    }
    public String getEmail() {
        return this.email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
    public Integer getCreditLimit() {
        return this.creditLimit;
    }

    public void setCreditLimit(Integer creditLimit) {
        this.creditLimit = creditLimit;
    }
}

Agora a classe de fachada ControleCustomer que também é o webservices.

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controle;

import entidade.Customer;
import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebService;
import persistente.GenericDAO;
import persistente.GenericException;

/**
 *
 * @author Edgard Davidson
 */
@WebService()
public class ControleCustomer {

    private GenericDAO dao = new GenericDAO();

    @WebMethod
    public void inserirCustomer(Customer customer) throws GenericException {
        // Tratar aqui alguma regra de negócio
        dao.save(customer);
    }

    @WebMethod
    public void alterarCustomer(Customer customer) throws GenericException {
        // Tratar aqui alguma regra de negócio
        dao.update(customer);
    }

    @WebMethod
    public void exlcuirCustomer(Customer customer) throws GenericException {
        // Tratar aqui alguma regra de negócio
        dao.delete(customer);
    }

    @WebMethod
    @SuppressWarnings("unchecked")
    public List obterObjetosCustomer(String campo, String pesquisa, int indice, int maximo) throws GenericException {
        // Tratar aqui alguma regra de negócio
        Customer customer = new Customer();
        return  dao.loadObjects(campo, pesquisa, customer, indice, maximo);
    }

    @WebMethod
    public long obterQuantidadeObjetosCustomer(String campo, String pesquisa) throws GenericException {
        // Tratar aqui alguma regra de negócio
        Customer customer = new Customer();
        return dao.getCountObjects(campo, pesquisa, customer);
    }
}

As demais classes e arquivos XML de configuração estão empacotados para download no final do post.

Agora segue o código fonte Flex:
Primeiro a código fonte da aplicação principal.




	
		 0)
					var temp1:int=this.indice + 1;
				var temp2:int=this.indice + this.maximo;
				if (temp2 > this.qtdeObjetos)
					temp2=this.qtdeObjetos;
				lbPag.text=temp1.toString() + " - " + temp2.toString() + " de " + this.qtdeObjetos.toString();
			}

			private function onResultObterObjetosCustomer(event:ResultEvent):void
			{
				var acTemp:ArrayCollection=new ArrayCollection();
				var i:int;
				acTemp=event.result as ArrayCollection;
				AC.removeAll();
				var customer:Customer;

				if (event.result != null)
				{
					if (acTemp == null)
					{
						this.controleBotoesPaginacao(1);
						customer=new Customer();
						customer.customerId=event.result.customerId;
						customer.name=event.result.name;
						customer.city=event.result.city;
						customer.state=event.result.state;
						customer.zip=event.result.zip;
						customer.email=event.result.email;

						AC.addItem(customer);
					}

					if (acTemp != null)
					{
						this.controleBotoesPaginacao(acTemp.length);
						for (i=0; i < acTemp.length; i++)
						{
							customer=new Customer();

							customer.customerId=acTemp.getItemAt(i).customerId;
							customer.name=acTemp.getItemAt(i).name;
							customer.city=acTemp.getItemAt(i).city;
							customer.state=acTemp.getItemAt(i).state;
							customer.zip=acTemp.getItemAt(i).zip;
							customer.email=acTemp.getItemAt(i).email;

							AC.addItem(customer);
						}
					}
				}
				else
					this.controleBotoesPaginacao(0);
			}

			private function onResultExcluirCustomer(event:ResultEvent):void
			{
				AC.removeItemAt(gridCustomer.selectedIndex);
				AC.refresh();
				Alert.show('Excluido com sucesso!', "Mensagem");
			}

			private function onResultObterQuantidadeObjetosCustomer(event:ResultEvent):void
			{
				this.qtdeObjetos=event.result as int;
				srv.obterObjetosCustomer(comboBoxFiltro.selectedItem, campoBusca.text, indice, maximo);
			}

			private function onFault(event:FaultEvent):void
			{
				if (event.fault.rootCause == null)
					Alert.show("MOTIVO:\n" + event.fault.faultString + " \n\nDESCRIÇÃO:\n" + event.fault.faultDetail, "ERRO: " + event.fault.faultCode);
				else
					Alert.show("MOTIVO:\n" + event.fault.message + " \n\nDESCRIÇÃO:\n" + event.fault.faultDetail, "ERRO: " + event.fault.faultCode);
			}

			private function inicio_Click():void
			{
				this.indice=0;
				this.maximo=nsMaximo.value;
				obterObjetosCustomer_Click();
			}

			private function retroceder_Click():void
			{
				if ((this.indice - nsMaximo.value) <= 0)
					this.indice=0;
				else
					this.indice=this.indice - nsMaximo.value;
				this.maximo=nsMaximo.value;
				obterObjetosCustomer_Click();
			}

			private function avancar_Click():void
			{
				this.indice=this.indice + nsMaximo.value;
				this.maximo=nsMaximo.value;
				obterObjetosCustomer_Click();
			}

			private function fim_Click():void
			{
				this.indice=this.qtdeObjetos - nsMaximo.value;
				this.maximo=nsMaximo.value;
				obterObjetosCustomer_Click();
			}
		]]>
	
	
		
		
		
		
		
		
		
		
	
	

		
			
				
					
					
					
					
					
					
				
			
			
				
				
				
				
				
				
				
				
			
			
				
					name
					cyte
					state
					zip
					email
				
			
			
			
		
		
			
			
			
			
			
		
	


Agora o fonte da tela de cadstro.




	
		
	
		
		
		
		
	

	
		
			
		
		
			
		
		
			
		
		
			
		
		
			
		
			
	
		
		
		
		
	

A figura 11 é print da tela de cadastro de usuário

Tela 12

Figura 11

Segue o código fonte do lado servidor feito em Java. CrudServidor

Segue o código fonte do lado cliente feito em Flex. CrudCliente

Ago 31

Configurando o FB3 como plugin no Eclipse 3.5

Escrito por Elvis Fernandes em Desenvolvimento, Eclipse, Flex, Flex Builder, Galileo, Plugin, erro, instalação @ 08 31st, 2009 | via http://www.elvis.eti.br | Sem comentários
Elvis Fernandes
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Se você tentar instalar o Flex Builder 3 como plugin no Eclipse 3.5 (Galileo), você irá se deparar com uma mensagem de erro dizendo que o plugin não pôde ser instalado. Mas o FB3 pode sim rodar no Eclipse 3.5.

Ignore as mensagens de erro que aparecerem e termine a instalação do plugin. Depois, vá até o diretório onde está o arquivo executável do eclipse, entre na pasta links e edite o arquivo com.adobe.flexbuilder.feature.core.link. Dentro deste arquivo haverá uma única linha mais ou menos assim:

C:/Arquivos de programas/Adobe/Flex Builder 3 Plug-in

Altere essa linha, adicionando “path=” no começo dela. O seu arquivo ficará assim:

path=C:/Arquivos de programas/Adobe/Flex Builder 3 Plug-in

Pronto, o plugin do FB está funcionando!

Bons códigos!

path=C:/Arquivos de programas/Adobe/Flex Builder 3 Plug-i

Posts relacionados

  • Instalação “avançada” do RestfulX no seu projeto Rails“Advanced” installation of RestfulX into your Rails app“>Instalação “avançada” do RestfulX no seu projeto Rails“Advanced” installation of RestfulX into your Rails app (0)
  • Você precisa do arquivo pro11.msi? Acho que não …Do you need the pro11.msi file? I don’t think so …“>Você precisa do arquivo pro11.msi? Acho que não …Do you need the pro11.msi file? I don’t think so … (112)
  • Erro “bad line length character” no Git“>Erro “bad line length character” no Git (1)
  • Na web como os chineses“>Na web como os chineses (1)
  • Instalando o Rails 2 no Debian“>Instalando o Rails 2 no Debian (2)
  • Error #2032: Stream Error.“>Error #2032: Stream Error. (5)

© Elvis for Elvis Fernandes, 2009. |
Permalink |
7 comentários |
Adicione ao
del.icio.us


Tags: eclipse, erro, flex builder, galileo, instalação, plugin

Ago 31

Ruby Object Model: Uma obrigação

Escrito por Daniel Lopes em Ruby e Rails, oop, orientação objetos, ruby @ 08 31st, 2009 | via http://blog.areacriacoes.com.br/ | Sem comentários
Daniel Lopes
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Muito se fala sobre eu trabalho com uma linguagem Orientado a Objeto, ou Java é Orientado a Objetos ou PHP tem classes, mas qualquer um que diz não sabe realmente o que é orientação a objetos.

Digo isto porque aprendi OOP inicialmente em Delphi e depois em Java e em nenhumas das vezes me foi ensinado da forma correta.

Então se você é programador de qualquer linguagem aconselho que veja os dois videos abaixo, porém se você é desenvolvedor Ruby então é mais do que obrigatório que você entende completamente estes videos.

Sou realmente um fã da forma como Dave Thomas ensina as coisas, então divirtam-se com os ensinamentos:

1º Object Model: Scotland on Rails

Uma explicativa e detalhada apresentação sobre o que é OOP e como as coisas devem ser.

Scotland On Rails

2º Object Model: Pragmatic programmers

Object Model do Ruby ilustrado com dezenas de exemplos práticos e como isto influi no dia a dia geral em Ruby e principalmente como se encaixa quando se utiliza metaprogramação

http://www.pragprog.com/screencasts

Ago 31

Treinamento Online Concluído

Escrito por Vinícius Sandim em C#.net, Flex, FluorineFx, Serviços, Treinamento, Visual Studio @ 08 31st, 2009 | via http://www.viniciussandim.com | Sem comentários
Vinícius Sandim
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Ontem, dia 29/08 foi o último dia do treinamento online que preparei: Desenvolvendo com Adobe Flex e Microsoft .Net.

Os encontros foram muito produtivos, gosto bastante de treinamentos porque não são apenas os participantes que aprendem, pelo contrário, eu também aprendo muito com as trocas de experiências durante as conversas no chat.

Quero agradecer ao pessoal que participou, espero ter atendido todas as expectativas.

Gostaria também de aproveitar o post e dizer que em breve abrirei uma nova turma do treinamento, caso você tenha interesse, entre em contato através do email treinamento@viniciussandim.com que informo mais detalhes.

Ago 31

CFTwitterLib – TweetDiff – Aplicação de exemplo em ColdFusion para Twitter

Escrito por Pedro Claudio em CFTwitterLib, ColdFusion, Twitter @ 08 31st, 2009 | via http://blog.pcsilva.com/index.cfm | Sem comentários
Pedro Claudio
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Mais um exemplo de uso da biblioteca ColdFusion para acesso ao Twitter, esta aplicação não será continuada, é um mero exemplo. Ficou tão boa que resolvi incrementar o layout.

Ago 29

Off-Topic: Transformando textos em mp3

Escrito por Daniel Lopes em Mac @ 08 29th, 2009 | via http://blog.areacriacoes.com.br/ | Sem comentários
Daniel Lopes
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Bem, passei duas semanas sem postar nada porque ando muito apertado de serviço ultimamente. Então segue uma dica que ando usando para ler alguns textos quando não estou na frente do computador ou com um livro acessível.

Bem, passei duas semanas sem postar nada porque ando muito apertado de serviço ultimamente. Então segue uma dica que ando usando para ler alguns textos quando não estou na frente do computador ou com um livro acessível.

Para quem usa MacOsX temos uma ferramenta chamada speech, que inicialmente foi desenvolvido para fins de acessibilidade mas que tem uma outra utilidade muito bacana :) .

O speech funciona muito bem com textos em inglês, então o que ando fazendo é coloca-lo para ler meus textos e gravar o resultado em MP3 para poder carregar os texto em meu Mp3 Player. Para ativar o speech para leitura de textos selecionados faça o seguinte:

Acesse System Preferences/Speech e escolha a tecla (eu utilizo CTRL+S)

Agora vc pode selecionar um texto e apertar a tecla para que ele comece a falar. Agora instale o Audio Hijack e selecione a opção System Audio e depois é só apertar a RECORD que você tera os seus textos em MP3.

O único problema é que o speech não lê muito bem textos em português, então se alguém conhecer alguma solução será bem vindo :)

Ago 28

Operador Lógico ||= em AS3

Escrito por DClick Team em Actionscript, Flex, Otimização, programação @ 08 28th, 2009 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Bom, poucas pessoas sabem para que serve o operador lógico “||=”. Vou tentar explicar um pouco sobre ele.

Na documentação da adobe este operador é descrito da seguinte forma: “Assigns expression1 the value of expression1 || expression2.”, traduzindo seria: “Atribui para expressão1 o valor de expressão1 ou da expressão2″. Lembrando que para o operador lógico usamos com sintaxe “expressão1 operador expressão2“.

Vou mostrar em exemplos mais claros como isso funciona.

Exemplo1:

PLAIN TEXT
ACTIONSCRIPT:

  1. var array:Array; // Variável arr tem o valor nulo.
  2. array ||= [“Bruno Sales”]; // Caso array seja nulo, atribua o valor ["Bruno Sales"]
  3. trace(array.toString()); // Resultado: Novo valor atribuido, trace imprime "Bruno Sales"

Exemplo2:

PLAIN TEXT
ACTIONSCRIPT:

  1. var array:Array = [“DClick”]; // Variável arr tem o valor ["DClick"].
  2. array ||= [“Bruno Sales”]; // Caso array seja nulo, atribua o valor ["Bruno Sales"]
  3. trace(array.toString()); // Resultado: Váriavel não foi alterada, trace imprime "DClick"

Logo, visualizando a diferença dos 2 exemplos, concluímos que o operador lógico “||=” faz o mesmo que o código abaixo, porém de uma maneira mais “elegante”.

PLAIN TEXT
ACTIONSCRIPT:

  1. var array:Array = [“DClick”];
  2. if (array == null)
  3. {
  4. array = [“Bruno Sales”];
  5. }

Espero que tenham gostado. :)

Ago 28

Source code formatter for MXML/AS3

Escrito por Fabio da Silva em utils @ 08 28th, 2009 | via http://fabiophx.blogspot.com | Sem comentários
Fabio da Silva
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Tenho usado este plug-in já faz algum tempo e recomendo.

Fonte: http://www.newsight.de/2009/02/09/source-code-formatter-for-mxmlas3/

Outro plug-in é o sugerido pelo Eduardo Kraus no seu post: Ctrl+Shift+F no Flex Builder.

Ago 28

Os erros na aplicação Flex

Escrito por Eduardo Kraus em Erro Flex, Flash player debugger, Flex @ 08 28th, 2009 | via http://blog.mxml.com.br | Sem comentários
Eduardo Kraus
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Todos sabem que eros são ruim para a aplicação, e todos devem ver o quanto aperto a tecla de concertar erros quando pedem sujestões. Mais o que alguns não sabem é que muitas falhas de funcionalidade são decorrente destas falhas.
/* Você que vive triste, cansado, não sabe porque não funciona?
Não se desespere, seus [...]

Ago 27

Tecinfor-wave plugin para wordpress

Escrito por Tecinfor em Adobe, Notícias, Plugin, Wordpress, adobewave @ 08 27th, 2009 | via http://tecinfor.net | Sem comentários
Tecinfor
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Pra quem usa o adobewave no blog ai esta o plugin para agilizar o processo de notificar seus seguidores, que voce postou um novo artigo no seu blog.
O plugin é bem simples de usar basta acessa o site  o site http://wordpress.org/extend/plugins/tecinfor-wave/
vou prepara um artigo esplicando como usar o plugin. Bom por hoje é só.
Retweet this [...]

« Entradas anteriores |

pussytube
scat orgy tube 8
Spankingtube
japanese tits tube
http://freerepresentationunit.org.uk/intranet/skins/p141x.php
classic tube porn
http://freerepresentationunit.org.uk/intranet/skins/p227x.php
home made movies tube
rude tube
porn tube list
http://freerepresentationunit.org.uk/intranet/skins/p17x.php
3d porn movie
grand tunica casino andmw
Rawtube365
http://freerepresentationunit.org.uk/intranet/skins/p13x.php
free gay tube porn
you tube red tube
zootube.co.uk
panty pissing xtube
xxnxxx
http://freerepresentationunit.org.uk/intranet/skins/p125x.php
Poohtube
pantypissing xtube
japan porn tube
free sex tubes
http://freerepresentationunit.org.uk/intranet/skins/p73x.php
Http://freerepresentationunit.org.uk/intranet/skins/p206x.php
5 MPIX TUBE
Tube8.com
treetubes
hot tub cover lifters
red tube .com
Zoosex tube 365
Beach tube
redtube porn
zootube365 shockingtube
Milf cunt tubes
http://freerepresentationunit.org.uk/intranet/skins/p186x.php
tuberculosis bacterium
http://freerepresentationunit.org.uk/intranet/skins/p220x.php
3d porn tube
Http://freerepresentationunit.org.uk/intranet/skins/p77x.php
mammothtubes
Http://freerepresentationunit.org.uk/intranet/skins/p45x.php
uporntube
toutube porn
animaal sex tube
Http://freerepresentationunit.org.uk/intranet/skins/p46x.php
lubeyourtube.net
porn tube sites
xxx teen tube movies
bisexual blue tube
sex tube
http://freerepresentationunit.org.uk/intranet/skins/p1x.php
Hq.tube
porn search tube
porn utube8
Anonymous red tube
porn tube8
http://freerepresentationunit.org.uk/intranet/skins/p149x.php
Http://freerepresentationunit.org.uk/intranet/skins/p95x.php
piratebay porn porn
zoosex tube
x tube wanking cumming
asian porn tube
http://freerepresentationunit.org.uk/intranet/skins/p166x.php
tube works blue tube
adult tube online tv ksex m90 porn tube
pornotubes
Free beast tube horse cum pussy
SHOCKINGTUBE.COM
Http://freerepresentationunit.org.uk/intranet/skins/p190x.php
http://freerepresentationunit.org.uk/intranet/skins/p192x.php
http://freerepresentationunit.org.uk/intranet/skins/p42x.php
http://freerepresentationunit.org.uk/intranet/skins/p135x.php
my mature tubes
tubes first
animal tube porn
www.bootytube247.com
lesbian porn tubes
Studded tubes
http://freerepresentationunit.org.uk/intranet/skins/p19x.php
teen lesbian tube video free
lobster tube porn
redt ube
25v clamping gas tube
free porn tube8
Fun fun fun games
the boob tube
peg tube feeding
http://freerepresentationunit.org.uk/intranet/skins/p194x.php
pornhub.net
gexo xtube
Tubegals
http://freerepresentationunit.org.uk/intranet/skins/p7x.php
teens redtube
http://freerepresentationunit.org.uk/intranet/skins/p109x.php
8tube porn
pinktube.com
http://freerepresentationunit.org.uk/intranet/skins/p177x.php
http://freerepresentationunit.org.uk/intranet/skins/p75x.php
wwwredtubecom
Tube teens
gay beastiality tube
free web tube porn
tubeyou
zuh zuh pets
shush tube.com
Sextube videos
animals bestiality tube
bbw porn tube videos
sex tube
TEEN TUBES
hq tube videos
poh tube
xtube
huge boob tube
dog sex tube
Bang tube.com
hand stand mixers
college porn tube
http://freerepresentationunit.org.uk/intranet/skins/p152x.php
big boob tube
Http://freerepresentationunit.org.uk/intranet/skins/p102x.php
Http://freerepresentationunit.org.uk/intranet/skins/p196x.php
petittube
filthtube.com
Gaytubevideos.com
inner tube
footfetishtube.com
beach sex tube
Twinksxtubeporn
http://freerepresentationunit.org.uk/intranet/skins/p200x.php
bbw porn tube
crazymaturetube
porn zoo
amateur porn tubes
fucktube.com
mature xxx tube
beasttube
mature redtube
porn tube
Http://freerepresentationunit.org.uk/intranet/skins/p231x.php
xtube berlin toilette
pornotube.com acount
Free driver education videos
Dudetubeonline
Http://freerepresentationunit.org.uk/intranet/skins/p76x.php
utube sex
Redtube.eu
yutube glasba
kick boxing
Http://freerepresentationunit.org.uk/intranet/skins/p26x.php
Http://freerepresentationunit.org.uk/intranet/skins/p172x.php
tubesfirst red tubecom
http://freerepresentationunit.org.uk/intranet/skins/p179x.php
http://freerepresentationunit.org.uk/intranet/skins/p136x.php
www.tube8
feels good tony toni tone
nudetubes
Yoytube
Hot tubes
PORN TUBE
tiavas tubes
Dirtyporn tube
file tube
http://freerepresentationunit.org.uk/intranet/skins/p246x.php
rockettube doctor
nudisten tube
College girl tube
sextube.com
all porn tubes
ssbbw tube movies
Tube teen
gas detection tube
lubetube com
tube365.com
redtubes
http://freerepresentationunit.org.uk/intranet/skins/p38x.php
dance xtube
hqtube.com
xtube comming soon
yotube com
fk tube
crocotube category
http://freerepresentationunit.org.uk/intranet/skins/p199x.php
zhu zhu pet accessories
rapetube
zoo tube 365 password
http://freerepresentationunit.org.uk/intranet/skins/p74x.php
zoo tube 365.com
hamsters free porn videos
sexy youtube
Yuvu tube
Crush fetish tube
Hot blonde having sex
psp sexy tubes
free extreme sex movies
Rtube
http://freerepresentationunit.org.uk/intranet/skins/p162x.php
Red tube videos
mom boy tube
porn bloopers tube
4tube.com
big natural tube
black lesbian tubes
redtube.co.uk
Bangtubecom
gay men sex videos
Xxx tube videos
beast tube
xxx sex tube 365
tubed porn
Free tube porn
hardcore porn tube
http://freerepresentationunit.org.uk/intranet/skins/p165x.php
pornoytube
Http://freerepresentationunit.org.uk/intranet/skins/p167x.php
jiss tube
retro porn tube search
sexy sex
yu tube sexs
http://freerepresentationunit.org.uk/intranet/skins/p78x.php
brazzerstube.com
sexytubesite
free porn tube red hub
animal sex tube video
solar bubble tube
http://freerepresentationunit.org.uk/intranet/skins/p50x.php
One tube oscillators
japanesetube
BEACH TUBE
nudetube
NUDETUBES
tubered.com
Incest redtube
free psp tubes adult
best free porn tubes
http://freerepresentationunit.org.uk/intranet/skins/p49x.php
FETISHTUBE
lolita tubes
Tube tops
youtube morrocan videos
Bestiality zootube 365
dog cum tube
xxx tube
Red tube4
best vacuum tubes
eskimotube.com
free gay sex tube
swanktube
redtube.comm

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 1415 entradas vindas de 40 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos
Versão Mobile: aceda aqui

GOOGLE

Votação


Deveria o redeRIA organizar algum evento sobre RIA's ?? Sobre quais plataformas?
Ver Resultados

AUTORES


Eduardo KrausAlexandreBindableDaniel LopesDClick TeamEbercomEdgard DavidsonElvis FernandesFabiel PrestesFábio Batista da SilvaFabio da SilvaFlavia MoreiraGabriela T. PerryIgor MusardoJanderson CardosoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalMario JuniorMário SantosMauro MartinsPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com