Tabela de conteúdos

Padrões Futurepages2

Dentro dos módulos entraremos pacotes que denotam uma das camadas do MVC. A seguir apresentamos os padrões de projetoexistentes nos pacotes que podem ser encontrados dentro dos módulos de uma aplicação futurepages.

actions

actions/ajax

actions/core

actions/dyn

Aqui encontramos as actions dinâmicas (que herdam DynAction). Estas possuem em seu nome o prefixo “Dyn”. Ex.: DynAtualizaAluno, DynLogin, DynLogout, etc.

actions/global

beans

beans/core

Neste pacote encontram-se as classes mapeadas com as seguintes anotações:

core

dao

enums

errors

exceptions

filters

formatters

install

jobs

package modules.carteiro.jobs;
 
import modules.carteiro.services.EmailMensagemServices;
import org.futurepages.core.quartz.CronTrigger;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
 
@CronTrigger(expression = "0/30 * * ? * *")
public class EnviaEmailsPendentes implements Job {
 
	@Override
	public void execute(JobExecutionContext jec) throws JobExecutionException {
		EmailMensagemServices.enviaPendentes();
	}
 
}

listeners

package modules.portal.listeners;
 
import java.util.Date;
import javax.servlet.http.HttpSession;
import modules.portal.beans.MembroPortal;
import modules.portal.core.MembrosLogadosManager;
import org.futurepages.core.persistence.Dao;
import org.futurepages.core.session.SessionEventListener;
import org.futurepages.util.DateUtil;
 
public class MembrosLogadosListener implements SessionEventListener {
 
	public void onCreate(HttpSession session) {
             //Realiza ação na 'session' assim que é criada.
	}
 
	public void onDestroy(HttpSession session) {
		MembroPortal membroLogado = MembrosLogadosManager.getInstance().getBySession(session);
		if(membroLogado!=null){
			Dao.updateTransaction(membroLogado.getUltimoAcesso());
			MembrosLogadosManager.getInstance().remove(membroLogado);
		}
	}
}

services

tags

validators

package modules.escola.validators;
 
import modules.escola.beans.Aluno;
import org.futurepages.core.persistence.Dao;
import org.futurepages.core.validation.Validator;
import org.futurepages.util.Is;
 
public class AlunoValidator extends Validator {
 
	public void create(Aluno aluno) {
 
		// Validação do nome
		if (Is.empty(aluno.getNomeCompleto())) {
			error("Preencha o nome do aluno.");
		}
 
		// Validação da matrícula
		if (Is.empty(aluno.getMatricula())) { //verifica se matrícula vazia
			error("Especifique a matrícula do aluno.");
		} else {
			// Caso matrícula não seja vazia, verifica se a matrícula já existe
			if (Dao.uniqueResult(Aluno.class, "matricula='" + aluno.getMatricula() + "'") != null) {
				error("Já existe um aluno com esta matrícula.");
			}
		}
	}
}