| Author |
Message |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/05/2007 19:04:20
|
Lobo
![[Avatar]](/images/avatar/093f65e080a295f8076b1c5722a46aa2.jpg)
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
Mentawai Developer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/05/2007 05:58:53
|
velo
![[Avatar]](/images/avatar/7f39f8317fbdb1988ef4c628eba02591.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/05/2007 06:54:08
|
Lobo
![[Avatar]](/images/avatar/093f65e080a295f8076b1c5722a46aa2.jpg)
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
Mentawai Developer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/05/2007 06:56:25
|
velo
![[Avatar]](/images/avatar/7f39f8317fbdb1988ef4c628eba02591.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/05/2007 07:14:06
|
Lobo
![[Avatar]](/images/avatar/093f65e080a295f8076b1c5722a46aa2.jpg)
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
Mentawai Developer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/05/2007 09:34:33
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/05/2007 11:36:28
|
velo
![[Avatar]](/images/avatar/7f39f8317fbdb1988ef4c628eba02591.jpg)
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 |
|
|
 |
|
|