use of org.aspectj.lang.ProceedingJoinPoint in project trainning by fernandotomasio.
the class AtividadesEnsinoCacheAdvice method findAllTurmasEfetivasMethodInterceptor.
@Around("findAllTurmasEfetivas()")
public Object findAllTurmasEfetivasMethodInterceptor(ProceedingJoinPoint joinPoint) throws Throwable {
Object result = null;
CacheManager cacheManager = CacheManager.create(new ClassPathResource("echache.xml").getInputStream());
Cache cache = cacheManager.getCache("turmas-efetivas-cache");
Object[] args = joinPoint.getArgs();
if (args[0] == null || args[4] == null) {
result = joinPoint.proceed();
return result;
}
SimpleDateFormat df = new SimpleDateFormat("yyyy");
String exercicio = df.format((Date) args[0]);
String gestora = ((Long) args[4]).toString();
String key = exercicio + "-" + gestora;
Element element = cache.get(key);
if (element == null) {
for (int i = 1; i < 3; i++) {
if (args[i] != null) {
result = joinPoint.proceed();
return result;
}
}
result = joinPoint.proceed();
cache.put(new Element(key, result));
} else {
Logger.getLogger(this.getClass().getName()).log(Level.INFO, "Dados presentes no cache, não foi necessário acesso ao banco de dados");
result = element.getValue();
}
return result;
}
use of org.aspectj.lang.ProceedingJoinPoint in project trainning by fernandotomasio.
the class AtividadesEnsinoMailAdvice method createParecerMethodInterceptor.
@Around("createParecer()")
public Object createParecerMethodInterceptor(ProceedingJoinPoint joinPoint) throws Throwable {
Object[] args = joinPoint.getArgs();
ParecerDTO parecer = (ParecerDTO) args[0];
Object result = joinPoint.proceed();
if (parecer instanceof AprovacaoDTO) {
IndicacaoDTO indicacao = atividadesEnsinoService.findIndicacao(parecer.getIndicacao().getId());
TurmaEfetivaDTO turma = atividadesEnsinoService.findTurmaEfetiva(indicacao.getTurma().getId());
PessoaDTO pessoa = organizationalService.findPessoa(indicacao.getPessoa().getId());
String to = indicacao.getEmail();
String subject = "SGC - APROVAÇÃO DE INDICAÇÃO PARA CURSO";
String textfase = "Fases:\n";
int countfases = 1;
for (FaseDTO fase : turma.getFases()) {
textfase += "" + countfases + " - Modalidade: " + fase.getTipoFase() + " - Descrição: " + fase.getDescricao() + " - Local: " + fase.getLocal().getSigla() + " - Início: " + fase.getDataInicioFormatted() + " - Término: " + fase.getDataTerminoFormatted() + "\n";
countfases++;
}
SimpleDateFormat dfExec = new SimpleDateFormat("yyyy");
SimpleDateFormat df = new SimpleDateFormat("dd-mm-yyyy");
String exercicio = dfExec.format(turma.getExercicio());
Date dtParecer = null;
try {
dtParecer = df.parse(df.format(parecer.getData()));
} catch (ParseException ex) {
Logger.getLogger(HibernateIndicacaoDAO.class.getName()).log(Level.SEVERE, null, ex);
}
OrganizacaoDTO OMGEstor = organizationalService.findOrganizacao(turma.getOrganizacaoGestoraId());
OrganizacaoDTO OMResp = organizationalService.findOrganizacao(turma.getResponsavelId());
String text = "Prezado(a), " + pessoa.getTargetaCompletaOM() + "\n\n" + "Sua INDICAÇÃO para participar do " + turma.getCurso().getCodigo() + " foi APROVADA por " + parecer.getOrganizacao().getSigla() + ".\n\n" + "Informações do Curso: \n" + "Curso: " + turma.getCurso().getCodigo() + " - " + turma.getCurso().getDescricao() + "\n" + "Turma: " + turma.getNumeroTurma() + " / " + exercicio + "\n" + "Organização Responsável: " + OMResp.getNome() + " (" + OMResp.getSigla() + ")\n" + "Quantidade de Vagas: " + turma.getQuantidadeVagas() + "\n" + "Data de Início: " + turma.getDataInicioFormatted() + "\n" + "Data de Término: " + turma.getDataTerminoFormatted() + "\n" + "Local: " + turma.getLocal() + "\n" + "Modalidade: " + turma.getTipoTurma() + "\n\n" + textfase + "\nSTATUS DA INDICAÇÃO: " + indicacao.getStatus() + "\n\n" + "Informações do Parecer de Aprovação da Indicação: \n" + "Organização: " + parecer.getOrganizacao().getSigla() + " - Data: " + dtParecer + " - Fundamentação: " + parecer.getTexto() + "\n\n" + "\n\n==> CABE RESSALTAR QUE ESTE E-MAIL POSSUI CARATER MERAMENTE INFORMATIVO. O DOCUMENTO QUE OFICIALIZA A MATRÍCULA NO CURSO É A PUBLICAÇÃO OFICIAL DA OM GESTORA DA CAPACITAÇÃO. <==\n" + "\nAcesse o Portal da Capacitação para mais informações.\n" + "\nEm caso de dúvidas entre em contato com o setor de capacitação de sua OM " + "ou com a Organização Gestora desta capacitação (" + OMGEstor.getSigla() + ") " + "para verificar a veracidade desta informação.\n\n" + "----------------------------------------------------\n" + "Esse e-mail foi enviado de forma automática para " + to + ", NÃO RESPONDA ESTE E-MAIL.\n" + "Este é um serviço prestado pelo SGC - Sistema de Gerenciamento da Capacitação.\n";
systemService.sendMail(to, subject, text);
}
return result;
}
use of org.aspectj.lang.ProceedingJoinPoint in project trainning by fernandotomasio.
the class AtividadesEnsinoMailAdvice method createConclusaoMethodInterceptor.
@Around("createConclusao()")
public Object createConclusaoMethodInterceptor(ProceedingJoinPoint joinPoint) throws Throwable {
Object[] args = joinPoint.getArgs();
ConclusaoDTO[] conclusoes = (ConclusaoDTO[]) args[0];
for (ConclusaoDTO conclusao : conclusoes) {
if (conclusao.getMatricula() != null) {
MatriculaDTO matricula = atividadesEnsinoService.findMatricula(conclusao.getMatricula().getId());
PessoaDTO pessoa = organizationalService.findPessoa(matricula.getPessoa().getId());
String to = matricula.getIndicacao().getEmail();
String subject = "SGC - CONCLUSÃO DE CURSO - " + conclusao.getPessoa().getTargetaSimples();
String textfase = "Fases:\n";
int countfases = 1;
for (FaseDTO fase : matricula.getTurma().getFases()) {
textfase += "" + countfases + " - Modalidade: " + fase.getTipoFase() + " - Descrição: " + fase.getDescricao() + " - Local: " + fase.getLocal().getSigla() + " - Início: " + fase.getDataInicioFormatted() + " - Término: " + fase.getDataTerminoFormatted() + "\n";
countfases++;
}
SimpleDateFormat dfExec = new SimpleDateFormat("yyyy");
String exercicio = dfExec.format(matricula.getTurma().getExercicio());
OrganizacaoDTO OMGEstor = organizationalService.findOrganizacao(matricula.getTurma().getOrganizacaoGestoraId());
OrganizacaoDTO OMResp = organizationalService.findOrganizacao(matricula.getTurma().getResponsavelId());
String text = "Prezado(a), " + pessoa.getTargetaCompletaOM() + "\n\n" + "Foi informada no SGC (Sistema de Gerenciamento do Capacitação) a CONCLUSÃO do seguinte Curso em seu nome:\n\n" + "Curso: " + matricula.getTurma().getCurso().getCodigo() + " - " + matricula.getTurma().getCurso().getDescricao() + "\n" + "Turma: " + matricula.getTurma().getNumeroTurma() + " / " + exercicio + "\n" + "Organização Responsável: " + OMResp.getNome() + " (" + OMResp.getSigla() + ")\n" + "Data de Início: " + matricula.getTurma().getDataInicioFormatted() + "\n" + "Data de Término: " + matricula.getTurma().getDataTerminoFormatted() + "\n" + "Local: " + matricula.getTurma().getLocal() + "\n" + "Modalidade: " + matricula.getTurma().getTipoTurma() + "\n\n" + textfase + "\nAcesse o Portal da Capacitação para mais informações.\n" + "\nEm caso de dúvidas entre em contato com o setor de capacitação de sua OM " + "ou com a Organização Gestora desta capacitação (" + OMGEstor.getSigla() + ") " + "para verificar a veracidade desta informação.\n\n" + "----------------------------------------------------\n" + "Esse e-mail foi enviado de forma automática para " + to + ", NÃO RESPONDA ESTE E-MAIL.\n" + "Este é um serviço prestado pelo SGC - Sistema de Gerenciamento da Capacitação.\n";
if (conclusao.isComAproveitamento()) {
systemService.sendMail(to, subject, text);
}
}
// //inserir notificação de matricula
// NotificacaoMatriculaDTO dto = new NotificacaoMatriculaDTO();
// dto.setDataNotificacao(new Date());
// dto.setMatricula(matricula);
// dto.setDescricao("CONCLUSÃO EMAIL");
// dto.setDestinatario(to);
//
// try {
// atividadesEnsinoService.createNotificacaoMatricula(dto);
// //redirectAttributes.addFlashAttribute("successMessage", "Email enviado com sucesso!");
// } catch (CoreException e) {
// //redirectAttributes.addFlashAttribute("errorMessage", e.getMessage());
// }
}
return joinPoint.proceed();
}
use of org.aspectj.lang.ProceedingJoinPoint in project trainning by fernandotomasio.
the class AtividadesEnsinoMailAdvice method createIndicacaoMethodInterceptor.
@Around("createIndicacao()")
public Object createIndicacaoMethodInterceptor(ProceedingJoinPoint joinPoint) throws Throwable {
Object[] args = joinPoint.getArgs();
IndicacaoDTO indicacao = (IndicacaoDTO) args[0];
PessoaDTO pessoa = organizationalService.findPessoa(indicacao.getPessoa().getId());
TurmaEfetivaDTO turma = atividadesEnsinoService.findTurmaEfetiva(indicacao.getTurma().getId());
String to = indicacao.getEmail();
String subject = "SGC - INDICAÇÃO PARA CURSO - " + pessoa.getTargetaSimples();
String textfase = "Fases:\n";
int countfases = 1;
for (FaseDTO fase : turma.getFases()) {
textfase += "" + countfases + " - Modalidade: " + fase.getTipoFase() + " - Descrição: " + fase.getDescricao() + " - Local: " + fase.getLocal().getSigla() + " - Início: " + fase.getDataInicioFormatted() + " - Término: " + fase.getDataTerminoFormatted() + "\n";
countfases++;
}
SimpleDateFormat dfExec = new SimpleDateFormat("yyyy");
String exercicio = dfExec.format(turma.getExercicio());
String modalidadeIndicacao = "";
if (indicacao instanceof IndicacaoInstrutorDTO) {
modalidadeIndicacao = "como INSTRUTOR";
} else {
modalidadeIndicacao = "como ALUNO";
}
OrganizacaoDTO OMGEstor = organizationalService.findOrganizacao(turma.getOrganizacaoGestoraId());
OrganizacaoDTO OMResp = organizationalService.findOrganizacao(turma.getResponsavelId());
String text = "Prezado(a), " + pessoa.getTargetaCompletaOM() + "\n\n" + "Você foi INDICADO para participar " + modalidadeIndicacao + " do seguinte Curso:\n\n" + "Curso: " + turma.getCurso().getCodigo() + " - " + turma.getCurso().getDescricao() + "\n" + "Turma: " + turma.getNumeroTurma() + " / " + exercicio + "\n" + "Organização Responsável: " + OMResp.getNome() + " (" + OMResp.getSigla() + ")\n" + "Quantidade de Vagas: " + turma.getQuantidadeVagas() + "\n" + "Data de Início: " + turma.getDataInicioFormatted() + "\n" + "Data de Término: " + turma.getDataTerminoFormatted() + "\n" + "Local: " + turma.getLocal() + "\n" + "Modalidade: " + turma.getTipoTurma() + "\n\n" + textfase + "\n\n==> CABE RESSALTAR QUE ESTE E-MAIL POSSUI CARATER MERAMENTE INFORMATIVO. O DOCUMENTO QUE OFICIALIZA A MATRÍCULA NO CURSO É A PUBLICAÇÃO OFICIAL DA OM GESTORA DA CAPACITAÇÃO. <==\n" + "\nAcesse o Portal da Capacitação para mais informações.\n" + "\nEm caso de dúvidas entre em contato com o setor de capacitação de sua OM " + "ou com a Organização Gestora desta capacitação (" + OMGEstor.getSigla() + ") " + "para verificar a veracidade desta informação.\n\n" + "----------------------------------------------------\n" + "Esse e-mail foi enviado de forma automática para " + to + ", NÃO RESPONDA ESTE E-MAIL.\n" + "Este é um serviço prestado pelo SGC - Sistema de Gerenciamento da Capacitação.\n";
systemService.sendMail(to, subject, text);
return joinPoint.proceed();
}
use of org.aspectj.lang.ProceedingJoinPoint in project nextprot-api by calipho-sib.
the class ServiceEntryValidation method checkValidEntry.
@Around("execution(* org.nextprot.api.*.service.*.*(..))")
public // @Around("execution(* org.nextprot.api.*.service.*.*(.., @aspects.ValidEntry (*), ..))")
Object checkValidEntry(ProceedingJoinPoint pjp) throws Throwable {
Object[] arguments = pjp.getArgs();
for (Object arg : arguments) {
if ((arg != null) && EntryConfig.class.isAssignableFrom(arg.getClass())) {
String argument = ((EntryConfig) arg).getEntryName();
String entryAccession = EntryUtils.getEntryName(argument);
if (!uniqueNames.contains(entryAccession)) {
LOGGER.error("neXtProt entry " + argument + " was not found, throwing EntryNotFoundException");
throw new EntryNotFoundException(argument);
}
}
}
MethodSignature ms = (MethodSignature) pjp.getSignature();
Annotation[][] annotations = ms.getMethod().getParameterAnnotations();
int i = 0;
for (Annotation[] paramAnnotations : annotations) {
for (Annotation annotation : paramAnnotations) {
if (ValidEntry.class.isAssignableFrom(annotation.getClass())) {
if (!uniqueNames.contains(arguments[i])) {
LOGGER.error("neXtProt entry " + arguments[i] + " was not found, throwing EntryNotFoundException");
throw new EntryNotFoundException((String) arguments[i]);
}
break;
}
}
i++;
}
return pjp.proceed();
}
Aggregations