[Logo] Mentawai Forum - Mentawai Web Framework
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
futuro bug - dyntag  XML
Forum Index -> Comentários Gerais
Author Message
bruno.braga



Joined: 01/12/2006 09:37:16
Messages: 226
Offline

Uma coisa antes q eu esqueça: tem um "bug" na questão dos arquivos q são gerados pela dyntags.

Suponha que eu estou usando o menta 1.7 no meu projeto.
Dai amanha vc lança o menta 1.8 com atualização de alguma dyntag.
Nessa atualização houve alteração dos js, css, etc...

Eu vou feliz atualizar o jar do menta 1.8.
Porém não vai funcionar.

Por causa desse código (dyntag listenners):

boolean exists = (new File(fileDestination)).exists();
if(!exists){
writeFile(fileOrigin,fileDestination,servletContext);
}
 

Ou seja, os arquivos só vão ser gerados se não existirem. Então não vai atualizar o js, css e imagens, a menos que o programador apague essas pastas quando for atualizar o jar (algo que com certeza não vai fazer)...

Então isso vai dar problema algum dia =)

http://www.brunobraga.com.br
http://www.j2eespider.org
[WWW]
g4j


[Avatar]

Joined: 20/11/2006 18:30:17
Messages: 101
Location: Campo Largo/PR
Offline

Interessante seria usar o método lastModified() da classe File pra comparar... será que funciona?

Code:
 
 boolean exists = (new File(fileDestination)).exists();
 if(!exists || fileOrigin.lastModified() != fileDestination.lastModified()){
 writeFile(fileOrigin,fileDestination,servletContext);
 } 
 
 

Gerson
[Email] [MSN]
fortunao


[Avatar]
Joined: 17/03/2006 05:49:22
Messages: 186
Offline

Se alguem poder baixar os fontes e alterar isso e me mandar a solução eu agradesço, pois essa semana pra mim esta sendo o bicho, estou totalmente sem tempo.

Alex Fortuna
Desenvolvedor Mentawai


[Email] [MSN]
bruno.braga



Joined: 01/12/2006 09:37:16
Messages: 226
Offline

O problema é o que alterar...

Acho que isso não resolve, porque a data do jar vai ser sempre diferente da data do arquivo no HD. Então vai ficar gerando o arquivo sempre.
A data do HD é a data de geração, a data do jar é uma data fixa. Então não dá para comparar.

Uma opção era pelo tamanho do arquivo, mas não é 100% preciso. Você pode alterar um arquivo e ele ficar coincidentemente com o mesmo tamanho.

Na minha opinião para fazer isso você vai ter que fazer algo um pouquinho mais complicado ou diferente. Tipo:
- Gerar um arquivo na raiz do dyntag contendo a versão de onde aqueles arquivos foram extraidos.
- Na taglib, antes de gerar o arquivo, sempre comparar a versão dessa arquivo com a versão do jar. Se for diferente, ai pode gerar os arquivos das dyntags, mesmo que existam. Se não for não faz nda.

Ou então pensar em outra coisa.

http://www.brunobraga.com.br
http://www.j2eespider.org
[WWW]
g4j


[Avatar]

Joined: 20/11/2006 18:30:17
Messages: 101
Location: Campo Largo/PR
Offline

bruno.braga wrote:
O problema é o que alterar...

Acho que isso não resolve, porque a data do jar vai ser sempre diferente da data do arquivo no HD. Então vai ficar gerando o arquivo sempre.
A data do HD é a data de geração, a data do jar é uma data fixa. Então não dá para comparar.

 


Mas a data de criação não tem nada a ver com a data de modificação... A data de modificação é que interessa...

Gerson
[Email] [MSN]
bruno.braga



Joined: 01/12/2006 09:37:16
Messages: 226
Offline

hmmm, é tem razao, pode funcionar =)

http://www.brunobraga.com.br
http://www.j2eespider.org
[WWW]
RubemAzenha


[Avatar]
Joined: 30/06/2005 23:12:02
Messages: 472
Location: São Paulo, SP
Offline

Fica a orientação da pessoa apagar a pasta dyntags quando ela migrar de versão.


Mentawai Developer
[WWW] [MSN]
bruno.braga



Joined: 01/12/2006 09:37:16
Messages: 226
Offline

usuário le orientação?
ele faz o q já está acostumado, q é só atualizar o jar...
e tb acho q o fw deveria ser "inteligente" para cuidar dos próprios arquivos q gerou.

http://www.brunobraga.com.br
http://www.j2eespider.org
[WWW]
fortunao


[Avatar]
Joined: 17/03/2006 05:49:22
Messages: 186
Offline

Isso vai ser facio de resolver, basta somente criar um arquivo para verificar a versão do jar que criou os arquivos, caso seja versão diferente, todos os arquivos são excluidos e atualizados novamente, dai eu atulizo o arquivo onde mostra a versão que criou dai o fluxo segue normalmente.

Alex

Alex Fortuna
Desenvolvedor Mentawai


[Email] [MSN]
bruno.braga



Joined: 01/12/2006 09:37:16
Messages: 226
Offline

fortunao wrote:
Isso vai ser facio de resolver, basta somente criar um arquivo para verificar a versão do jar que criou os arquivos, caso seja versão diferente, todos os arquivos são excluidos e atualizados novamente, dai eu atulizo o arquivo onde mostra a versão que criou dai o fluxo segue normalmente.

Alex 


Alex, foi exatamente o que eu falei no meu post.
Mas o g4j deu idéia de testar com a data de modificação do arquivo, que seria mais simples.

http://www.brunobraga.com.br
http://www.j2eespider.org
[WWW]
fortunao


[Avatar]
Joined: 17/03/2006 05:49:22
Messages: 186
Offline

Vou resolver isso, obrigado pela colaboração de vcs galera..

Alex Fortuna
Desenvolvedor Mentawai


[Email] [MSN]
 
Forum Index -> Comentários Gerais
Go to:   
Powered by JForum 2.1.6 © JForum Team