| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/02/2008 18:04:36
|
fcoury
JavaChild
![[Avatar]](/images/avatar/13da2193bcd455bb894871aec1815047.jpg)
Membro desde: 17/10/2006 16:24:36
Mensagens: 142
Localização: Campinas, SP - Brazil
Offline
|
Amigos do GUJ,
Tem algum tempo que estou escrevendo a biblioteca JFileHelpers, que abstrai a complexidade de trabalhar com arquivos-texto em java, fazendo uso de anotações para automatizar o trabalho.
Quem estiver interessado, dê uma lida no artigo que postei no meu Blog a respeito:
http://blog.felipecoury.com/jep/2008/02/java-text-import-export.html
Se gostarem do trabalho e tiverem interesse, estou precisando de contribuidores
Abraços a todos!
|
Felipe Gonçalves Coury
--
Arquivos texto em java: http://jfilehelpers.com
Visite meu blog: http://blogs.felipecoury.com |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/02/2008 22:41:22
|
andreban
JavaTeenager
Membro desde: 11/07/2006 10:41:57
Mensagens: 188
Localização: Rio de Janeiro
Offline
|
Achei interessante.
Fiquei curioso com duas coisas:
1a: Como ele trabalha com arquivos grandes, tipo... uns 2 gigas.
2a: Consegue trabalhar com registro variável, tipo... se o primeiro caracter for 1, o registro significa uma coisa, se for 2 significa outra... Isso é muito comum quando a gente integra com pessoal que gera arquivos em Cobol...
Estou querendo ajudar no projeto... Como fazer?
|
--== http://www.codemansion.com/ ==-- Blog de Desenvolvimento Android e Games
-== http://mobplug.com/ ==-- Simple products, powerful solutions!
SCJA | SJCP | SCJD | SCWCD |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/02/2008 22:59:26
|
fcoury
JavaChild
![[Avatar]](/images/avatar/13da2193bcd455bb894871aec1815047.jpg)
Membro desde: 17/10/2006 16:24:36
Mensagens: 142
Localização: Campinas, SP - Brazil
Offline
|
andreban,
Primeiro de tudo, me mande um e-mail ou uma mensagem privada que eu dou acesso de developer no projeto, daí vc baixa via SVN e pode começar a dar uma fuçada.
Agora respondendo:
1: Boa pergunta! Posso ser sincero? Não tenho a menor idéia... Aliás, seria uma ótima área para ser atacada!
2: Sim, há suporte para este cenário sim, além de layout de mestre-detalhe. Não tenho nenhum exemplo escrito ainda para registros condicionais, mas segue um enum que ilustra as possibilidades de registros condicionais:
Com isso você processa linhas diferentes com beans diferentes. Além disso, segue um trecho de MasterDetail, que implementa um Selector, que pode ser usado para também para registros condicionais:
Espero ter ilustrado, por alto, os cenários atendidos pela biblioteca.
Abraços!
This message was edited 1 time. Last update was at 12/02/2008 23:00:44
|
Felipe Gonçalves Coury
--
Arquivos texto em java: http://jfilehelpers.com
Visite meu blog: http://blogs.felipecoury.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/02/2008 23:02:45
|
gastaldi
Smalltalk
Membro desde: 29/01/2007 15:13:53
Mensagens: 4
Offline
|
Um projeto recente que manipula isso de uma forma interessante é o Spring - Batch : http://static.springframework.org/spring-batch/
De repente você poderia contribuir para este projeto.
Vlw.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/02/2008 23:05:35
|
fcoury
JavaChild
![[Avatar]](/images/avatar/13da2193bcd455bb894871aec1815047.jpg)
Membro desde: 17/10/2006 16:24:36
Mensagens: 142
Localização: Campinas, SP - Brazil
Offline
|
gastaldi,
Nossa, li por cima a descrição deste projeto e parece fantástico. Vou dar uma olhada sem dúvidas.
Obrigado pela dica!
Abraços.
|
Felipe Gonçalves Coury
--
Arquivos texto em java: http://jfilehelpers.com
Visite meu blog: http://blogs.felipecoury.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 09:49:50
|
kicolobo
Moderador
![[Avatar]](/images/avatar/445b6949ed8860ca6175e8c89464ba85.jpg)
Membro desde: 19/07/2006 14:11:09
Mensagens: 1188
Localização: Belo Horizonte
Offline
|
MUITO bacana o projeto.
Recentemente tive de fazer um trabalho de importação/exportação de dados para um dado ERP famoso e inacreditávelmente tosco que era inteiramente baseada em arquivos no formato texto tais como os que são manipulados pela sua biblioteca. E foi um processo incrívelmente trabalhoso, sua biblioteca me teria quebrado um tronco de sequóia. Parabéns.
Arquivos txt formatados são algo que infelizmente ou felizmente ainda são MUITO usados na indústria, e que estão completamente esquecidos atualmente.
NO entanto, fiquei com uma dúvida: você pode definir a ordem dos campos? Ou a ordem é definida de acordo com a ordem na qual os atributos das classes são declarados na classe?
Outra pergunta: qual a licença que você vai aplicar a esta biblioteca? E como devemos proceder para participar do seu projeto?
|
http://devkico.itexto.com.br
Twitter: http://www.twitter.com/loboweissmann
Vamos aprender Grails?
http://www.grailsbrasil.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 14:41:36
|
fcoury
JavaChild
![[Avatar]](/images/avatar/13da2193bcd455bb894871aec1815047.jpg)
Membro desde: 17/10/2006 16:24:36
Mensagens: 142
Localização: Campinas, SP - Brazil
Offline
|
kicolobo,
MUITO bacana o projeto.
(...)
Arquivos txt formatados são algo que infelizmente ou felizmente ainda são MUITO usados na indústria, e que estão completamente esquecidos atualmente.
Obrigado pelos comentários. Concordo plenamente: infelizmente o velho formato texto ainda é padrão para muita coisa. Prá ser bem sincero, eu não vejo tanta evolução em usar XML não. Veja bem: isso é uma opinião extremamente pessoal, não quero começar nenhum flame war com o pessoal que defende XML com unhas e dentes E também, isso são another five hundred
Meu maior desejo agora é arrumar um caso de uso para esta biblioteca, gostaria de colocá-la a prova. Então se você (ou qualquer outra pessoa que esteja lendo este tópico) precisar automatizar um import ou export de arquivo texto, manda uma MP, e-mail ou até mesmo mensagem nos fóruns que eu dou uma ajuda. Seria bem legal.
NO entanto, fiquei com uma dúvida: você pode definir a ordem dos campos? Ou a ordem é definida de acordo com a ordem na qual os atributos das classes são declarados na classe?
Hoje é usada a ordem natural que eles aparecem no bean (nunca tinha parado prá pensar nisso!), mas nada impede de implementar alguma anotação - ou até um parâmetro de uma anotação - para manipular isso.
Outra pergunta: qual a licença que você vai aplicar a esta biblioteca? E como devemos proceder para participar do seu projeto?
Ela está com a licença GPL hoje, com aquele disclaimer nos cabeçalhos do Código Fonte. Editado: Pô, esqueci de responder a mais importante: para contribuir fale comigo que eu libero seu usuário do SourceForge no projeto. Beleza? Pode ser por MP ou e-mail. Possíveis pessoas que possam contribuir são MUITO bem vindas.
Abraços!
This message was edited 2 times. Last update was at 13/02/2008 14:55:25
|
Felipe Gonçalves Coury
--
Arquivos texto em java: http://jfilehelpers.com
Visite meu blog: http://blogs.felipecoury.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 15:29:54
|
loquaz
What is classpath?
Membro desde: 31/07/2006 09:41:06
Mensagens: 7
Offline
|
Existe algum "user guide"?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 15:37:38
|
fcoury
JavaChild
![[Avatar]](/images/avatar/13da2193bcd455bb894871aec1815047.jpg)
Membro desde: 17/10/2006 16:24:36
Mensagens: 142
Localização: Campinas, SP - Brazil
Offline
|
loquaz,
Existe algum "user guide"?
Como todo projeto que se preza em seu início: documentação zero Existe uma vasta documentação do projeto inspirador, em C#: http://www.filehelpers.com. Portar a documentação para Java é uma coisa que tenho muita vontade que aconteça também, mas se vc estiver com pressa, acredito que usar o link que mandei como referência é simples. C# e Java tem suas diferenças mas quase sempre dá pra entender e portar intuitivamente.
Abraços!
|
Felipe Gonçalves Coury
--
Arquivos texto em java: http://jfilehelpers.com
Visite meu blog: http://blogs.felipecoury.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 19:20:41
|
loquaz
What is classpath?
Membro desde: 31/07/2006 09:41:06
Mensagens: 7
Offline
|
Fala irmão,
Primeiro lugar, parabenizar pela iniciativa e pedir desculpas por não ter felicitado-te no post anterior...rs
seguinte, ainda não baixei o source pra verificar a API, mas queria saber se existe como configurar a engine no momento da instanciação indicando meu bean deve ter seus campos mapeados para posições no layout que constam em linhas diferentes.
Exemplo (fictio e bobo por questões de simplicidade) :
Tenho o bean Celular com os campos: id, modelo, marca, agenda, fabricante.
Fabricante é um tipo de referencia definido por mim, então as informações dos seus campos constaram em uma linha após as informações basicas do celular (id, modelo, marca, agenda)
1, V50, motorola, 100 ---> info basica do bean Celular
1, Motorola, 0000151 ---> info basica do bean Fabricante
existe a possibilidade de ler um arquivo neste formato? onde as informações para cada registro constam em mais de uma linha?
Desde já agradecido,
Abração!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 19:31:02
|
fcoury
JavaChild
![[Avatar]](/images/avatar/13da2193bcd455bb894871aec1815047.jpg)
Membro desde: 17/10/2006 16:24:36
Mensagens: 142
Localização: Campinas, SP - Brazil
Offline
|
loquaz,
Obrigado mesmo pelas felicitações Eu considero que só o fato de a pessoa ter tirado um tempo para responder já é em si uma felicitação, então sem problemas!
... queria saber se existe como configurar a engine no momento da instanciação indicando meu bean deve ter seus campos mapeados para posições no layout que constam em linhas diferentes.
É possível sim, mas você vai ter que fazer uma diferenciação entre as linhas (por exemplo, linhas pares mapeiam para o bean do tipo A e linhas ímpares para o bean do tipo B -- ou usar algum tipo de identificador único que caracterize as linhas, como um caractere ou expressão que elas contenham).
No exemplo que vc citou, uma das possibilidades que me vêm à cabeça agora é de existirem dois beans, um Celular e outro Fabricante. Na hora de definir o Engine, vc passa prá ele um Selector, dizendo qual registro é mapeado para qual bean. Se as regras pré existentes não lhe atenderem, vc pode sempre implementar um delegate para definir como é feito o mapeamento...
Se quiser saber mais, baixe o código fonte e dê uma olhada nas classes JUnit que vêm junto. Existem vários casos abordados por lá.
Abração!
Editado: BBCode quote e URL estavam errados...
This message was edited 1 time. Last update was at 13/02/2008 19:33:04
|
Felipe Gonçalves Coury
--
Arquivos texto em java: http://jfilehelpers.com
Visite meu blog: http://blogs.felipecoury.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/06/2008 10:30:53
|
danieldestro
Moderador
![[Avatar]](/images/avatar/a5bfc9e07964f8dddeb95fc584cd965d.png)
Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline
|
Felipe, tudo bem?
Vi seu projeto e parece legal. Mas um de nossos fornecedores sugeriu usarmos sua biblioteca para leitura de flat files.
Entrei no site do projeto e, como arquiteto do projeto, fiquei preocupado com algumas coisas:
1) Falta de documentação e exemplos
2) Versão atual (qual é)? É alhpa, beta, final estável?
3) Qual o status do projeto? Parado, em pleno vapor, morto?
4) Há mais desenvolvedores trabalhando, uma comunidade, ou só você?
São considerações que devo levar ao escolher uma solução para um projeto corporativo grande.
Abraços
|
gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/06/2008 10:41:58
|
fcoury
JavaChild
![[Avatar]](/images/avatar/13da2193bcd455bb894871aec1815047.jpg)
Membro desde: 17/10/2006 16:24:36
Mensagens: 142
Localização: Campinas, SP - Brazil
Offline
|
Oi Daniel,
Vamos lá:
danieldestro wrote:
1) Falta de documentação e exemplos
A falta principal não é de nenhum dos dois, e sim de tempo mesmo
No próprio projeto existem exemplos e JUnit tests que ajudam a ver as possibilidades do projeto. Além disso, ele é um port do FileHelpers (veja em http://www.filehelpers.com).
danieldestro wrote:
2) Versão atual (qual é)? É alhpa, beta, final estável?
Ele deve ser considerado como alpha, nunca foi testado em um projeto em produção. Seria algo muito interessante, mas também não ocorreu por falta de oportunidade.
danieldestro wrote:
3) Qual o status do projeto? Parado, em pleno vapor, morto?
Por enquanto, parado, quase morto Eu tenho planos de fazer um site com detalhes sobre a biblioteca, mas voltamos ao ponto 1)
danieldestro wrote:
4) Há mais desenvolvedores trabalhando, uma comunidade, ou só você?
Tem mais um desenvolvedor na Inglaterra que implementou algumas melhorias. Fora isso, é Felipe Futebol Clube mesmo
danieldestro wrote:
São considerações que devo levar ao escolher uma solução para um projeto corporativo grande.
E faz muito bem! Eu acredito que esta biblioteca esteja em um ponto onde possa começar a ser utilizada para coisas não-críticas, porém em um projeto em produção, acho muito arriscado, embora tenho maior interesse em amadurecer a biblioteca.
É isso.
Abraços e boa sorte!
|
Felipe Gonçalves Coury
--
Arquivos texto em java: http://jfilehelpers.com
Visite meu blog: http://blogs.felipecoury.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/06/2008 10:47:33
|
danieldestro
Moderador
![[Avatar]](/images/avatar/a5bfc9e07964f8dddeb95fc584cd965d.png)
Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline
|
Se fosse eu o responsável pela implementação do módulo do sistema, eu até apostaria. Mas como sou eu o responsável pela escolha da tecnologia corporativamente, fico receoso.
Tecnicamente parece muito bom, mas todos sabem que não são apenas questões técnicas que levam às escolhas tecnológicas num projeto.
Mesmo assim, obrigado.
|
gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/06/2008 12:57:33
|
faq
JavaChild
![[Avatar]](/images/avatar/89db09d856d45d361982edc10ce738a2.jpg)
Membro desde: 03/08/2005 15:06:13
Mensagens: 147
Offline
|
danieldestro wrote:Se fosse eu o responsável pela implementação do módulo do sistema, eu até apostaria. Mas como sou eu o responsável pela escolha da tecnologia corporativamente, fico receoso.
Tecnicamente parece muito bom, mas todos sabem que não são apenas questões técnicas que levam às escolhas tecnológicas num projeto.
Mesmo assim, obrigado.
Se o mesmo projeto (idêntico) fosse IBM-SUN-MS-WTF o seu "fico receoso" ainda seria fato? Se o projeto parece bom, gaste algumas horas num estudo de caso.
|
"There are worse things than being alone" Charles Bukowski |
|
|
 |
|
|