Estamos começando um novo conceito para o Mentawai: criando plugins que estendem o potencial do framework apenas adicionando um pacote jar na sua aplicação.
O Andre Penteado da Unesp implementou as anotações no Mentawai e gentilmente nos forneceu os fontes de sua aplicação para utilizarmos.
Eu adaptei os seus fontes e criei um projeto para generalizar a sua implementação, podem ser usados por todos.
Os fontes estão aqui.
baixar o jar do mentawai-annotations-1.0.jar
baixar o HelloMentawaiAnnotations.war
Vejam como ficou a action HelloMentai :
Code:
package examples.helloworld.actions;
import org.mentawai.annotations.core.ActionClass;
import org.mentawai.annotations.core.ConsequenceOutput;
import org.mentawai.annotations.type.ConsequenceType;
import org.mentawai.core.BaseAction;
@ActionClass( prefix = "/HelloWorld" ,
outputs={
@ConsequenceOutput(result=BaseAction.SUCCESS, page="hello.jsp",type=ConsequenceType.FORWARD),
@ConsequenceOutput(result=BaseAction.ERROR, page="username.jsp",type=ConsequenceType.FORWARD)
}
)
public class HelloMentawai extends BaseAction {
public String execute() throws Exception {
String username = input.getString("username");
if (username == null || username.trim().equals("")) {
return ERROR;
}
output.setValue("username", username.toUpperCase());
return SUCCESS;
}
}
E vejam como ficou o ApplicationManager, quase vazio!
Code:
import org.mentawai.annotations.ApplicationManagerWithAnnotations;
import org.mentawai.core.Context;
public class ApplicationManager extends ApplicationManagerWithAnnotations {
public void init(Context application) {
// busca classes com anottation no pacote examples
setResources("examples");
}
}
Bom proveito!