Search in sources :

Example 16 with ProceedingJoinPoint

use of org.aspectj.lang.ProceedingJoinPoint in project onebusaway-application-modules by camsys.

the class DefaultCacheableKeyFactory method createKey.

@Override
public CacheKeyInfo createKey(ProceedingJoinPoint point) {
    Object[] args = point.getArgs();
    if (args.length != _keyFactories.length)
        throw new IllegalArgumentException();
    // Short circuit for single argument keys
    if (args.length == 1)
        return _keyFactories[0].createKey(args[0]);
    KeyImpl keys = new KeyImpl(args.length);
    boolean refreshCache = false;
    for (int i = 0; i < args.length; i++) {
        CacheKeyInfo keyInfo = _keyFactories[i].createKey(args[i]);
        keys.set(i, keyInfo.getKey());
        refreshCache |= keyInfo.isCacheRefreshIndicated();
    }
    return new CacheKeyInfo(keys, refreshCache);
}
Also used : ProceedingJoinPoint(org.aspectj.lang.ProceedingJoinPoint)

Example 17 with ProceedingJoinPoint

use of org.aspectj.lang.ProceedingJoinPoint in project onebusaway-application-modules by camsys.

the class CacheableMethodManagerTest method test.

@Test
public void test() throws Throwable {
    CacheableMethodKeyFactoryManager factoryManager = new CacheableMethodKeyFactoryManager();
    CacheManager cacheManager = new CacheManager(getClass().getResource("ehcache-test.xml"));
    CacheableMethodManager manager = new CacheableMethodManager();
    manager.setCacheableMethodKeyFactoryManager(factoryManager);
    manager.setCacheManager(cacheManager);
    MockServiceImpl impl = new MockServiceImpl();
    Method method = MockServiceImpl.class.getMethod("evalauteBeanWithParameterAnnotation", MockBean.class, Boolean.TYPE);
    MockBean bean = new MockBean();
    bean.setId("id");
    ProceedingJoinPoint pjp = ProceedingJoinPointFactory.create(impl, impl, MockService.class, method, bean, false);
    Object value = manager.evaluate(pjp);
    assertEquals("test", value);
    assertEquals(1, impl.getEvalauteBeanWithParameterAnnotationCount());
    value = manager.evaluate(pjp);
    assertEquals("test", value);
    assertEquals(1, impl.getEvalauteBeanWithParameterAnnotationCount());
    /**
     * This time we indicate we want a cache refresh
     */
    ProceedingJoinPoint pjp2 = ProceedingJoinPointFactory.create(impl, impl, MockService.class, method, bean, true);
    value = manager.evaluate(pjp2);
    assertEquals("test", value);
    assertEquals(2, impl.getEvalauteBeanWithParameterAnnotationCount());
}
Also used : CacheManager(net.sf.ehcache.CacheManager) Method(java.lang.reflect.Method) ProceedingJoinPoint(org.aspectj.lang.ProceedingJoinPoint) Test(org.junit.Test)

Example 18 with ProceedingJoinPoint

use of org.aspectj.lang.ProceedingJoinPoint in project trainning by fernandotomasio.

the class AtividadesEnsinoMailAdvice method removeCancelamentoMatriculaMethodInterceptor.

@Around("removeCancelamentoMatricula()")
public Object removeCancelamentoMatriculaMethodInterceptor(ProceedingJoinPoint joinPoint) throws Throwable {
    Object[] args = joinPoint.getArgs();
    Long matriculaId = (Long) args[0];
    MatriculaDTO matricula = atividadesEnsinoService.findMatricula(matriculaId);
    PessoaDTO pessoa = organizationalService.findPessoa(matricula.getPessoa().getId());
    String to = matricula.getIndicacao().getEmail();
    String subject = "SGC - REMATRICULA PARA CURSO";
    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());
    String modalidadeMatricula = "";
    if (matricula instanceof MatriculaInstrutorDTO) {
        modalidadeMatricula = "como INSTRUTOR";
    } else {
        modalidadeMatricula = "como ALUNO";
    }
    OrganizacaoDTO OMGEstor = organizationalService.findOrganizacao(matricula.getTurma().getOrganizacaoGestoraId());
    OrganizacaoDTO OMResp = organizationalService.findOrganizacao(matricula.getTurma().getResponsavelId());
    String text = "Prezado(a), " + pessoa.getTargetaCompletaOM() + "\n\n" + "Você foi REMATRICULADO para participar " + modalidadeMatricula + " do seguinte Curso:\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" + "Quantidade de Vagas: " + matricula.getTurma().getQuantidadeVagas() + "\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 + "\nATENÇÃO: Ressaltamos que o início das atividades letivas será em " + matricula.getTurma().getDataInicioFormatted() + ".\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 joinPoint.proceed();
}
Also used : MatriculaDTO(com.tomasio.projects.trainning.dto.MatriculaDTO) CancelamentoMatriculaDTO(com.tomasio.projects.trainning.dto.CancelamentoMatriculaDTO) PessoaDTO(com.tomasio.projects.trainning.dto.PessoaDTO) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) SimpleDateFormat(java.text.SimpleDateFormat) ProceedingJoinPoint(org.aspectj.lang.ProceedingJoinPoint) MatriculaInstrutorDTO(com.tomasio.projects.trainning.dto.MatriculaInstrutorDTO) FaseDTO(com.tomasio.projects.trainning.dto.FaseDTO) Around(org.aspectj.lang.annotation.Around)

Example 19 with ProceedingJoinPoint

use of org.aspectj.lang.ProceedingJoinPoint in project trainning by fernandotomasio.

the class AtividadesEnsinoMailAdvice method createCancelamentoMatricula.

@Around("createCancelamentoMatricula()")
public Object createCancelamentoMatricula(ProceedingJoinPoint joinPoint) throws Throwable {
    Object[] args = joinPoint.getArgs();
    CancelamentoMatriculaDTO cancelamentoMatricula = (CancelamentoMatriculaDTO) args[0];
    MatriculaDTO matricula = atividadesEnsinoService.findMatricula(cancelamentoMatricula.getMatricula().getId());
    PessoaDTO pessoa = organizationalService.findPessoa(matricula.getPessoa().getId());
    String to = matricula.getIndicacao().getEmail();
    String subject = "SGC - CANCELAMENTO MATRICULA PARA CURSO";
    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 CANCELADA a sua MATRICULA para participar do seguinte Curso:\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" + "Quantidade de Vagas: " + matricula.getTurma().getQuantidadeVagas() + "\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 + "\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();
}
Also used : MatriculaDTO(com.tomasio.projects.trainning.dto.MatriculaDTO) CancelamentoMatriculaDTO(com.tomasio.projects.trainning.dto.CancelamentoMatriculaDTO) CancelamentoMatriculaDTO(com.tomasio.projects.trainning.dto.CancelamentoMatriculaDTO) PessoaDTO(com.tomasio.projects.trainning.dto.PessoaDTO) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) SimpleDateFormat(java.text.SimpleDateFormat) ProceedingJoinPoint(org.aspectj.lang.ProceedingJoinPoint) FaseDTO(com.tomasio.projects.trainning.dto.FaseDTO) Around(org.aspectj.lang.annotation.Around)

Example 20 with ProceedingJoinPoint

use of org.aspectj.lang.ProceedingJoinPoint in project trainning by fernandotomasio.

the class AtividadesEnsinoMailAdvice method createMatriculaMethodInterceptor.

@Around("createMatricula()")
public Object createMatriculaMethodInterceptor(ProceedingJoinPoint joinPoint) throws Throwable {
    Object[] args = joinPoint.getArgs();
    MatriculaDTO[] matriculas = (MatriculaDTO[]) args[0];
    for (MatriculaDTO matricula : matriculas) {
        PessoaDTO pessoa = organizationalService.findPessoa(matricula.getPessoa().getId());
        String to = matricula.getIndicacao().getEmail();
        String subject = "SGC - MATRICULA PARA CURSO";
        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());
        String modalidadeMatricula = "";
        if (matricula instanceof MatriculaInstrutorDTO) {
            modalidadeMatricula = "como INSTRUTOR";
        } else {
            modalidadeMatricula = "como ALUNO";
        }
        OrganizacaoDTO OMGEstor = organizationalService.findOrganizacao(matricula.getTurma().getOrganizacaoGestoraId());
        OrganizacaoDTO OMResp = organizationalService.findOrganizacao(matricula.getTurma().getResponsavelId());
        String textoICEA = "";
        if (matricula.getTurma().getLocal() != null && matricula.getTurma().getLocal().equals("ICEA")) {
            textoICEA = "ATENÇÃO: A partir de 14 de setembro de 2016, os materiais didáticos dos cursos realizados sob a " + "responsabilidade do ICEA serão fornecidos aos alunos e instrutores (em sua totalidade ou em parte), " + "em formato digital (arquivo PDF), por email pelo ICEA, ou disponibilizados através do Portal do Ensino, " + "na página do ICEA, após a confirmação da matrícula. Sendo assim, será de responsabilidade dos instrutores " + "e alunos matriculados nos cursos, disporem de equipamento (notebook, tablet, celular etc) capaz de fazer a " + "leitura desse tipo de arquivo.\n";
        }
        String text = "Prezado(a), " + pessoa.getTargetaCompletaOM() + "\n\n" + "Você foi MATRICULADO para participar " + modalidadeMatricula + " do seguinte Curso:\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" + "Quantidade de Vagas: " + matricula.getTurma().getQuantidadeVagas() + "\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 + textoICEA;
        String textoICEA2 = "\n\n==> Prezado(a) Instrutor(a), solcitamos que acesse o site http://www.icea.gov.br/arquivo/orientacao-inst-gov.pdf" + "\nPara informações / facilidades!\n";
        String textoFinal = "\nATENÇÃO: Ressaltamos que o início das atividades letivas será em " + matricula.getTurma().getDataInicioFormatted() + ".\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 ( http://dctp.decea.intraer/portal/ ) 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 (OMGEstor.getSigla().equals("DECEA")) {
            text = text + textoICEA2 + textoFinal;
        } else {
            text = text + textoFinal;
        }
        systemService.sendMail(to, subject, text);
    // //inserir notificação de matricula
    // //NotificacaoMatriculaDTO dto = new NotificacaoMatriculaDTO();
    // ///dto.setDataNotificacao(new Date());
    // //dto.setMatricula(matricula);
    // //dto.setDescricao("MATRICULADO 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();
}
Also used : MatriculaDTO(com.tomasio.projects.trainning.dto.MatriculaDTO) CancelamentoMatriculaDTO(com.tomasio.projects.trainning.dto.CancelamentoMatriculaDTO) PessoaDTO(com.tomasio.projects.trainning.dto.PessoaDTO) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) SimpleDateFormat(java.text.SimpleDateFormat) ProceedingJoinPoint(org.aspectj.lang.ProceedingJoinPoint) MatriculaInstrutorDTO(com.tomasio.projects.trainning.dto.MatriculaInstrutorDTO) FaseDTO(com.tomasio.projects.trainning.dto.FaseDTO) Around(org.aspectj.lang.annotation.Around)

Aggregations

ProceedingJoinPoint (org.aspectj.lang.ProceedingJoinPoint)78 Around (org.aspectj.lang.annotation.Around)33 MethodSignature (org.aspectj.lang.reflect.MethodSignature)16 Method (java.lang.reflect.Method)14 Test (org.junit.Test)14 AbstractServiceTest (org.finra.herd.service.AbstractServiceTest)10 SimpleDateFormat (java.text.SimpleDateFormat)8 ArrayList (java.util.ArrayList)8 JoinPoint (org.aspectj.lang.JoinPoint)8 FaseDTO (com.tomasio.projects.trainning.dto.FaseDTO)7 OrganizacaoDTO (com.tomasio.projects.trainning.dto.OrganizacaoDTO)7 PessoaDTO (com.tomasio.projects.trainning.dto.PessoaDTO)7 MockProceedingJoinPoint (org.finra.herd.core.MockProceedingJoinPoint)7 Annotation (java.lang.annotation.Annotation)5 CancelamentoMatriculaDTO (com.tomasio.projects.trainning.dto.CancelamentoMatriculaDTO)4 MatriculaDTO (com.tomasio.projects.trainning.dto.MatriculaDTO)4 Date (java.util.Date)4 AtomicReference (java.util.concurrent.atomic.AtomicReference)4 Action (org.apache.nifi.action.Action)4 MessageHeader (org.finra.herd.model.dto.MessageHeader)4