sexta-feira, 16 de dezembro de 2011

Primeiro post: um teste

Estou testando o novo blog!
Vamos ver se a inserção de script funciona.

Isso aí! Agora todos os posts que tiverem código fonte serão bonitos e bem formatados, graças às facilidades de compartilhamento via script do github:gist.
Pelo que vi é "só" muito melhor que o mecanismo lento e restrito do wordpress. Aqui posso até adicionar scripts no post, sem strip-tags. A interface de edição é fácil e rápida. Muito bom!
Vamos ver como é a inclusão de imagens.
Imagem RS

Beleza!
Acho que vou mudar pra cá. Aqui tenho a liberdade que preciso.
Portanto estou importando todos os posts interessantes para este provedor. Para isso, existe a aplicação wordpress2blogger que presta uma grande ajuda, e sabe fazer tudo direitinho.


Valeu!

Acessar parâmetros da JVM de dentro do programa

Existem alguams situação em que achamos que nunca cairemos. Ultimamente me ocorreu uma: precisei passar parâmetros para minha aplicação web, em sua inicialização, sem que os valores destes parâmetros ficassesm dentro do pacote ".war", e sem que fossem lidos de arquivo ou base de dados. Para isso foi adotada a estratégia de adicionar parâmetros na inicialização da JVM, e acessá-los a partir da aplicação.
A maior dúvida que tive foi, como acessar os parâmetros da JVM de dentro da aplicação.
Para isto a dica é simples: a classe RuntimeMXBean fornece o acesso a estes parâmetros.
Sua utilização é muito simples conforme a seguir:

RuntimeMXBean runtimemxBean = ManagementFactory.getRuntimeMXBean();
List arguments = runtimemxBean.getInputArguments();

Na lista "arguments" temos a lista de todos os parametros passados na inicialização da JVM junto com seus respectivos valores em cada linha. No meu caso, tive que passar parametros personalizados, que nao são da lista de parâmetros nativos da JVM. Fiz isto configurando o servidor de aplicação para adicionar aos parametros passados para a JVM a seguinte entrada:

-DismaelParametro="valor"

Com isto, na lista "arguments" procurei por uma linha que começasse com "-DismaelParametro" e lá estava!

Muito obrigado!


Referência:
RuntimeMXBean

terça-feira, 13 de dezembro de 2011

Manipulação de XSD no Eclipse

XML é um importante formato de marcação, utilizado para os mais diversos fins, e se tornou um padrão para troca de dados.
Neste post será vista a construção do XSD que é o elemento base para a composição do XML, pois é usado para efetuar sua validação. Para tanto, será utilizado o plugin XSD Editor da IDE Eclipse.
A seguir, um passo a passo, de como construir um XSD no eclipse:

Criar um diretorio META-INF dentro do diretorio src no projeto.

Clicar com o botão direito em cima do diretório e seguir: New->Other...->XML->XML Schema
Clicar em next e definir um nome para oa arquivo. Neste exemplo o nome é "pessoa.xsd".
Será aberto o editor XSD. Alterne entre as abas Design e Source para se ambientar. Iremos trabalhar na aba Design.
Iremos construir o objeto pessoa, que segue o seguinte esquema de atributos:
Pessoa
->nome
->endereco
-->>rua
-->>numero
-->>cidade
->telefones

Como percebemos dois atributos não são primitivos. É o caso de "endereco", que é um tipo composto e "telefones" que é uma lista. Precisamos definir estes tipos então.
Na seçao Types, na aba Design, clique com o botão direito e em Add Complex Type. Nomeie com endereço e clique duplo no item criado.
[caption id="attachment_142" align="aligncenter" width="640" caption="Adicionando Complex Type"]Adicionando Complex Type[/caption]

Na tela que se abre clique com o direito no quadro endereço e clique em add element, e nomeie o elemento criado como rua.
[caption id="attachment_143" align="aligncenter" width="640" caption="Adicionando item no tipo complexo"]Adicionando item no tipo complexo[/caption]

Repita o processo de forma a contemplar o esquema definido anteriormente. No esqueça de trocar o tipo do item numero para int.
[caption id="attachment_144" align="aligncenter" width="640" caption="Tipo complexo resultante"]Tipo complexo resultante[/caption]

Clique no botao superior, no XSD Editor, para voltar à tela principal.

Da mesma forma como ja criado, adicione um segundo complex type, chamado listaTelefones. Clique duplo no item criado. Clique com o direito no quadro listaTelefones, em seguida, Add Element.
Defina o nome do item como telefone, e na aba propriedades, defina os valores: Minimum Occurence=0 e Maximum Occurence=unbounded. Desta forma definimos uma lista com ocorrência minima de zero e sem limitação no número de itens.
[caption id="attachment_145" align="aligncenter" width="640" caption="Tipo Lista"]Tipo Lista[/caption]

Clique no botao superior, no XSD Editor, para voltar à tela principal.

Agora crie outro complex type chamado pessoaData. Clique duplo no item criado e adicione os atributos "nome", "endereco" e "telefones", conforme ja definido. Para selecionar o tipo do atributo "endereço", clique na caixa de seleção de tipo e selecione "Browse...".
[caption id="attachment_149" align="aligncenter" width="624" caption="Selecionando tipo complexo"]Selecionando tipo complexo[/caption]

Na caixa que se abre, selecione o tipo endereco e confirme. Logo após, repita o processo e selecione o tipo "listaTelefones" para o atributo "telefones".
[caption id="attachment_150" align="aligncenter" width="640" caption="Caixa de seleção de tipo complexo"]Caixa de seleção de tipo complexo[/caption]


O esquema de complex types deve ficar desta forma:
[caption id="attachment_148" align="aligncenter" width="640" caption="Esquema final"]Esquema final[/caption]

Clique no botao superior, no XSD Editor, para voltar à tela principal.

Na seção Elements, na aba Design, clique com o botão direito em Add Element, e defina o nome do elemento para "pessoa".
[caption id="attachment_146" align="aligncenter" width="640" caption="Adicionando Elemento raiz"]Adicionando Elemento raiz[/caption]

Clique duplo no elemento. No quadro pessoa, clique com o direito, em seguida Set Type->Browse...
Na caixa que aparece selecione o tipo pessoaData e clique em OK.
[caption id="attachment_151" align="aligncenter" width="640" caption="Seleção do tipo criado"]Seleção do tipo criado[/caption]


O esquema do elemento deve ficar desta forma.
[caption id="attachment_147" align="aligncenter" width="471" caption="Esquema do elemento"]Esquema do elemento[/caption]

Por fim, temos o documento XSD resultante de nossa configuração.
[caption id="attachment_155" align="aligncenter" width="640" caption="XSD Resultante"]XSD Resultante[/caption]