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


[Avatar]

Joined: 23/01/2006 02:17:14
Messages: 841
Location: Fortaleza-CE
Offline

Loopando cruds no ApplicationManager :
Antes....
Code:
 action(ProdutoAction.class)
 .fwdOk("produto.page")
 .filter(new InjectionFilter());
 
 action(ProdutoAction.class,"load")
 .fwdOk("produto.page")
 .fwdError("produto.page");
 
 action(ProdutoAction.class,"add")
 .fwdOk("produto.page")
 .fwdError("produto.page")
 .filter(new VOFilter("produto", Produto.class));
 
 action(ProdutoAction.class,"updt")
 .fwdOk("produto.page")
 .fwdError("produto.page")
 .filter(new VOFilter("produto", Produto.class));
 
 action(ProdutoAction.class,"del")
 .fwdOk("produto.page")
 .fwdError("produto.page");
 
 action(ItemAction.class)
 .fwdOk("item.page")
 .filter(new InjectionFilter());
 
 action(ItemAction.class,"load")
 .fwdOk("item.page")
 .fwdError("item.page");
 
 action(ItemAction.class,"add")
 .fwdOk("item.page")
 .fwdError("item.page")
 .filter(new VOFilter("item", Item.class));
 
 action(ItemAction.class,"updt")
 .fwdOk("item.page")
 .fwdError("item.page")
 .filter(new VOFilter("item", Item.class));
 
 action(ItemAction.class,"del")
 .fwdOk("item.page")
 .fwdError("item.page");
 
 action(VendedorAction.class)
 .fwdOk("vendedor.page")
 .filter(new InjectionFilter());
 
 action(VendedorAction.class,"load")
 .fwdOk("vendedor.page")
 .fwdError("vendedor.page");
 
 action(VendedorAction.class,"add")
 .fwdOk("vendedor.page")
 .fwdError("vendedor.page")
 .filter(new VOFilter("vendedor", Vendedor.class));
 
 action(VendedorAction.class,"updt")
 .fwdOk("vendedor.page")
 .fwdError("vendedor.page")
 .filter(new VOFilter("vendedor", Vendedor.class));
 
 action(VendedorAction.class,"del")
 .fwdOk("vendedor.page")
 .fwdError("vendedor.page");
 
 action(ClienteAction.class)
 .fwdOk("cliente.page")
 .filter(new InjectionFilter());
 
 action(ClienteAction.class,"load")
 .fwdOk("cliente.page")
 .fwdError("cliente.page");
 
 action(ClienteAction.class,"add")
 .fwdOk("cliente.page")
 .fwdError("cliente.page")
 .filter(new VOFilter("cliente", Cliente.class));
 
 action(ClienteAction.class,"updt")
 .fwdOk("cliente.page")
 .fwdError("cliente.page")
 .filter(new VOFilter("cliente", Cliente.class));
 
 action(ClienteAction.class,"del")
 .fwdOk("cliente.page")
 .fwdError("cliente.page");
 


o_0

Depois...

Code:
 
         String[] pages = {"/cadastros/produto.page", "/cadastros/item.page", 
         		 "/cadastros/vendedor.page", "/cadastros/cliente.page"};
         
         Class[] actions = {ProdutoAction.class, ItemAction.class, VendedorAction.class, ClienteAction.class};
         
         String[] vo = {"produto", "item", "vendedor", "cliente"};
         
         Class[] voClass = {Produto.class, Item.class, Vendedor.class, Cliente.class};
         
         int i = 0; //contador
         int cruds = 4; //quantidade de cruds
         while( i < cruds ) {
         	action(actions[i]).fwdOk(pages[i]).filter(new InjectionFilter());
         	action(actions[i],"load").fwdOk(pages[i]).fwdError(pages[i]);
         	action(actions[i],"add").fwdOk(pages[i]).fwdError(pages[i]).filter(new VOFilter(vo[i], voClass[i]));
         	action(actions[i],"updt").fwdOk(pages[i]).fwdError(pages[i]).filter(new VOFilter(vo[i], voClass[i]));
         	action(actions[i],"del").fwdOk(pages[i]).fwdError(pages[i]);
         	i++;
         }
 


:]]]]



Atenciosamente,
Hélio Frota

Helio Frota
10+ Java Programmer
heliofrota.com

Member
Mentawai Developer
velo


[Avatar]

Joined: 16/02/2006 13:33:54
Messages: 1197
Location: Jaraguá do Sul - SC
Offline

Clareza por linhas de codigo...

Velha briga.... realmente fica menor...

Mas....

Dava pra organizar melhor esse codigo e usar as ineraction dentro da propria action....

Code:
 filter(new InjectionFilter())
 
 action(ClienteAction.class)
  .fwdOk("cliente.page")
  .fwdOk("cliente.page","load")
  .fwdError("cliente.page","load");
 


Juntei a load na primeira....

Agora fiquei com uma duvida.... se eu colocar um fwdError na action mas não na inner action:
Code:
 action(ClienteAction.class)
  .fwdOk("cliente.page")
  .fwdOk("cliente.page","load")
  .fwdError("cliente.page");
 


Caso a minha innerAction seja assim:
Code:
 public String load() {
   return ERROR:
 }
 


Não tenho a consequencia fwdError declarada pra innerAction. Mas tenho pra action. O mentawai vai se ligar disso e usar a consequencia da action ou vai dar erro simplesmente??

Não testei, mas tenho quase certeza que vai dar aquele erro de consequence não declarada.

Agora, pensa comigo, se eu fizer isso:
Code:
 fwdError("cliente.page"); //addConsequence(ERROR, fwd("cliente.page"));
 
 action(ClienteAction.class)
  .fwdOk("cliente.page")
  .fwdOk("cliente.page","load");
 

Toda vez que a action não tiver a consequencia ERROR declarada o menta vai seguir a consequencia global.

Agora, o menta usar a consequencia da action ou vai dar erro simplesmente pq na innerAction não tem??

Seguindo a mesma logica de consequencia global deveria subir um nivel.


VELO

_____________________________________
Mentawai Developer
"When the only tool you have is a hammer, everything looks like a nail"
http://en.wikipedia.org/wiki/Golden_hammer
[Email] [MSN]
Lobo


[Avatar]

Joined: 23/01/2006 02:17:14
Messages: 841
Location: Fortaleza-CE
Offline

Entendi. Mas.. como dar uma resumida dessas usando XML ?

Isso para apenas 4 CRUDS ...

Atenciosamente,
Hélio Frota

Helio Frota
10+ Java Programmer
heliofrota.com

Member
Mentawai Developer
velo


[Avatar]

Joined: 16/02/2006 13:33:54
Messages: 1197
Location: Jaraguá do Sul - SC
Offline

Lobo wrote:
Entendi. Mas.. como dar uma resumida dessas usando XML ? 


"Facil", é só vc implementar um parse/configurador personalizado usando como base a parte mais undocumented de qualquer framework =D


VELO

_____________________________________
Mentawai Developer
"When the only tool you have is a hammer, everything looks like a nail"
http://en.wikipedia.org/wiki/Golden_hammer
[Email] [MSN]
Lobo


[Avatar]

Joined: 23/01/2006 02:17:14
Messages: 841
Location: Fortaleza-CE
Offline

hehheeh Essa daí eu não entendi :p

Atenciosamente,
Hélio Frota

Helio Frota
10+ Java Programmer
heliofrota.com

Member
Mentawai Developer
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline



"Facil", é só vc implementar um parse/configurador personalizado usando como base a parte mais undocumented de qualquer framework =D
 


Cara, isso não tem como. Só se vc fizer o XML da configuração aceitar JSTL ou algo assim, e mesmo assim vai ficar horrível.


Sergio Oliveira

velo


[Avatar]

Joined: 16/02/2006 13:33:54
Messages: 1197
Location: Jaraguá do Sul - SC
Offline

saoj wrote:


"Facil", é só vc implementar um parse/configurador personalizado usando como base a parte mais undocumented de qualquer framework =D
 


Cara, isso não tem como. Só se vc fizer o XML da configuração aceitar JSTL ou algo assim, e mesmo assim vai ficar horrível.

 


Sim, total inviável...

Agora como fica aquela questão das consequences no caso da action/inner action?

VELO

_____________________________________
Mentawai Developer
"When the only tool you have is a hammer, everything looks like a nail"
http://en.wikipedia.org/wiki/Golden_hammer
[Email] [MSN]
 
Forum Index -> Comentários Gerais
Go to:   
Powered by JForum 2.1.6 © JForum Team