Spring AOP: Como recuperar un objeto de un metodo... para poder utilizarlo en mi método AOP.
Que tal amigos de JavaMéxico,
Estoy tratando de implementar un nuevo método con Aspectos, el cúal se encargue de EXTRAER un objeto póliza de un método que se encuentra en mi capa DAO, es decir, necesito recuperar este objeto para poder persistirlo en otra tabla HistorcoPolizaEntity.
No se si fuí muy claro con mi problema.
De antemano GRACIAS.
Dejo el código de mi método AOP.
public void emitirPoliza() {
System.out
.println("*************************JUnit*******************************");
RecepcionPolizaDTO poliza = new RecepcionPolizaDTO();
poliza.setCveSistema("INFO");
poliza.setIdNegocioComercial("COMERCIAL");
poliza.setIdNegocioOperable("OPERABLE");
poliza.setNumPolizaGrupo(""); // TODO Asignar valor.
poliza.setNumPoliza("00000372215911");
poliza.setCodProducto("LINEA_AZUL/0000095");
poliza.setCveRamo(""); // TODO Asignar valor.
poliza.setCveClasificacionSeguro("LC");
DateTime fchEmision = new DateTime(2013, 7, 4, 0, 0);
poliza.setFchEmision(fchEmision.toDate());
DateTime fchInicioPoliza = new DateTime(2013, 7, 5, 0, 0);
poliza.setFchInicioPoliza(fchInicioPoliza.toDate());
DateTime fchFinPoliza = new DateTime(2014, 7, 5, 0, 0);
poliza.setFchFinPoliza(fchFinPoliza.toDate());
poliza.setCveMoneda("MXP");
poliza.setBanCoaseguro("0");
poliza.setAnioPoliza((short) 0);
poliza.setBanCashFlow("0");
poliza.setBanRenovable("1");
poliza.setBanReaseguro("0");
poliza.setBanPolizaCobertura("0");
poliza.setNumDiasGracia("5");
// poliza.setBanTarificacionAnual("");
poliza.setEstructuraNegocio("A:B,C:D");
RecepcionDocumentoCobroDTO recepcionDocumentoCobroDTO = new RecepcionDocumentoCobroDTO();
recepcionDocumentoCobroDTO.setIndTipoEndoso(TipoEndoso.COMPLEMENTARIO);
DateTime fchInicioVigenciaDocCobro = new DateTime(2013, 7, 5, 0, 0);
recepcionDocumentoCobroDTO.setFchInicioVigenciaDocCobro(fchInicioVigenciaDocCobro.toDate());
DateTime fchFinVigenciaDocCobro = new DateTime(2014, 7, 5, 0, 0);
recepcionDocumentoCobroDTO.setFchFinVigenciaDocCobro(fchFinVigenciaDocCobro.toDate());
DateTime fchEmisionDocCobro = new DateTime(2014, 7, 4, 0, 0);
recepcionDocumentoCobroDTO.setFchEmisionDocCobro(fchEmisionDocCobro.toDate());
recepcionDocumentoCobroDTO.setCveFormaPago(FormaPago.TRIMESTRAL);
// recepcionDocumentoCobroDTO.setIdParticipanteIntPrincipal("");
recepcionDocumentoCobroDTO.setCodIntPrincipal("0000045698");
recepcionDocumentoCobroDTO.setRefDocumentoOrigen((short) 01);
recepcionDocumentoCobroDTO.setReferenciaOrigen("01");
recepcionDocumentoCobroDTO.setIndDependenciaDocCobro(TipoDependenciaDocCobro.DOCUMENTOORIGEN);
// recepcionDocumentoCobroDTO.setRefDocumentoDependiente("");
recepcionDocumentoCobroDTO.setIdParticipantePagador("20000");
recepcionDocumentoCobroDTO.setCodFiliacionPagador("0014201893");
recepcionDocumentoCobroDTO.setCodDomicilioPagador("1");
recepcionDocumentoCobroDTO.setIdParticipanteContratante("20000");
recepcionDocumentoCobroDTO.setCodFiliacionContratante("0014147331");
recepcionDocumentoCobroDTO.setCodDomicilioContratante("1");
recepcionDocumentoCobroDTO.setIdParticipanteEmisor("20000");
recepcionDocumentoCobroDTO.setCodFiliacionEmisor("0000000001");
recepcionDocumentoCobroDTO.setCodDomicilioEmisor("8");
recepcionDocumentoCobroDTO.setLugarExpedicion("LUGAR_EXPEDICION");
recepcionDocumentoCobroDTO.setCveOficinaProductora("0002");
// recepcionDocumentoCobroDTO.setBanTarificacionAnual("");
recepcionDocumentoCobroDTO.setBanIntervigencia("0");
recepcionDocumentoCobroDTO.setIndCobroDerechos(TipoCobroDerechos.PRIMERAFRACCION);
recepcionDocumentoCobroDTO.setDescripcionMovimiento("Documento Base");
recepcionDocumentoCobroDTO.setCveConductoPago("V");
RecepcionEstructuraFraccionDTO recepcionEstructuraFraccionDTO = new RecepcionEstructuraFraccionDTO();
// recepcionEstructuraFraccionDTO.setIntermediarioPrincipal("");
List<RecepcionFraccionDTO> recepcionFraccionDTOList = new ArrayList<RecepcionFraccionDTO>();
RecepcionFraccionDTO recepcionFraccionDTO = new RecepcionFraccionDTO();
// recepcionFraccionDTO.setNumFraccion("");
DateTime fchInicioVigenciaFraccion = new DateTime(2013, 7, 5, 0, 0);
recepcionFraccionDTO.setFchInicioVigenciaFraccion(fchInicioVigenciaFraccion.toDate());
DateTime fchFinVigenciaFraccion = new DateTime(2014, 7, 5, 0, 0);
recepcionFraccionDTO.setFchFinVigenciaFraccion(fchFinVigenciaFraccion.toDate());
List<RecepcionCoberturaContableDTO> recepcionCoberturaContableDTOList = new ArrayList<RecepcionCoberturaContableDTO>();
RecepcionCoberturaContableDTO recepcionCoberturaContableDTO = new RecepcionCoberturaContableDTO();
recepcionCoberturaContableDTO.setCveCobertura("0000079563");
recepcionCoberturaContableDTO.setMtoPrimaTecnica(new BigDecimal(12112.41));
recepcionCoberturaContableDTO.setMtoPrimaNeta(new BigDecimal(12112.41));
recepcionCoberturaContableDTO.setMtoRecargoPagoFracc(new BigDecimal(969.00));
recepcionCoberturaContableDTO.setTasaIva(new BigDecimal(16.0));
recepcionCoberturaContableDTO.setMtoIva(new BigDecimal(2093.02));
recepcionCoberturaContableDTO.setMtoDerechoPoliza(new BigDecimal(660.96));
// recepcionCoberturaContableDTO.setMtoExtraPrima(new BigDecimal(0.00));
recepcionCoberturaContableDTO.setBonusMalus(new BigDecimal(0.00));
recepcionCoberturaContableDTO.setMtoDescuentoComercial(new BigDecimal(0.00));
recepcionCoberturaContableDTO.setMtoRecargoComercial(new BigDecimal(0.00));
RecepcionEstructuraIntermediarioDTO recepcionEstructuraIntermediarioDTO = new RecepcionEstructuraIntermediarioDTO();
// List<RecepcionIntermediarioDTO> recepcionIntermediarioDTOList = new ArrayList<RecepcionIntermediarioDTO>();
RecepcionIntermediarioDTO recepcionIntermediarioDTO = new RecepcionIntermediarioDTO();
recepcionIntermediarioDTO.setCodIntermediario("0000045698");
// recepcionIntermediarioDTO.setIdParticipante("");
recepcionIntermediarioDTO.setCveTipoIntermediario("1");
// recepcionIntermediarioDTO.setCveTipoBaseComision("");
recepcionIntermediarioDTO.setMtoBaseComision(new BigDecimal(1200.45));
// recepcionIntermediarioDTO.setMtoSobreComision(new BigDecimal(0.00));
recepcionIntermediarioDTO.setMtoCesionComision(new BigDecimal(0.00));
// recepcionIntermediarioDTO.setPctParticipComision(new BigDecimal(0.00));
recepcionIntermediarioDTO.setPctComision(new BigDecimal(2.00));
// recepcionIntermediarioDTO.setPctCesionComision(new BigDecimal(0.00));
// recepcionIntermediarioDTO.setPctSobreComision(new BigDecimal(0.00));
recepcionIntermediarioDTO.setPersonalidadJuridica("F");
// recepcionIntermediarioDTOList.add(recepcionIntermediarioDTO);
// recepcionEstructuraIntermediarioDTO.setIntermediario(recepcionIntermediarioDTOList);
// recepcionCoberturaContableDTO.setEstructuraIntermediario(recepcionEstructuraIntermediarioDTO);
recepcionCoberturaContableDTOList.add(recepcionCoberturaContableDTO);
recepcionFraccionDTO.setCoberturasContables(recepcionCoberturaContableDTOList);
recepcionFraccionDTOList.add(recepcionFraccionDTO);
recepcionEstructuraFraccionDTO.setFracciones(recepcionFraccionDTOList);
recepcionDocumentoCobroDTO.setEstructuraFraccion(recepcionEstructuraFraccionDTO);
poliza.setDocumentoCobro(recepcionDocumentoCobroDTO);
try{
documentoService.registerEmission(poliza);/*, TipoDocumento.BASE);*/
}catch(Exception e){
System.out.println(e);
}
}
El código del método de donde quiero obtener el objeto policyEntity.
* Persiste la informacion de una poliza
*
* @param document
* pojo con la informacion a persistir
*
*/
@Transactional
private void registerEmisionPolicy(final RecepcionPolizaDTO policy) {
final PolizaId polizaId = new PolizaId();
polizaId.setNumPoliza(StringUtils.hasText(policy.getNumPoliza()) ? policy
.getNumPoliza() : StringUtils.hasText(policy
.getNumPolizaGrupo()) ? policy.getNumPolizaGrupo()
: policy.getIdPolizaProvisional());
polizaId.setCveSistema(policy.getCveSistema());
if (polizaDao.exists(polizaId)) {
throw new MiddlewareException(CodigoError.ACP03);
}
final Poliza policyEntity;
if (StringUtils.hasText(policy.getNumPoliza())) {
policyEntity = this.dozerAssembler.assembly(policy, Poliza.class,
"polizaBase");
if (StringUtils.hasText(policy.getNumPolizaGrupo())) {
policyEntity.setPoliza(getGroupPolicy(policy));
}
policyEntity.getRenovacionPolizas().add(
this.dozerAssembler.assembly(policy,
RenovacionPoliza.class, "renovacion"));
policyEntity.setEstPoliza(EstatusPolizaDocumento
.stateInitial(Proceso.EMISION));
policyEntity
.setCveMotivoEstPoliza(MotivoEstatusPolizaDocumento.EMISION);
policyEntity.setBanPolizaGrupo(Boolean.FALSE);
} else {
policyEntity = getGroupPolicy(policy);
policyEntity.getRenovacionPolizas().add(
this.dozerAssembler.assembly(policy,
RenovacionPoliza.class, "renovacionGrupo"));
}
log.debug(":::: PERSISTIENDO POLIZA/RENOVACION " + policyEntity);
polizaDao.save(policyEntity);
}
Quisiera poder obtener el objeto que se esta guardando para poder meterlo tmb en una tabla de histórico.
- Inicie sesión o regístrese para enviar comentarios
Error con mi copy & paste: Perdón el código de mi método de AOP
Perdon amigos, el metodo que pegue como AOP es mi Test. =D
Este es el bueno... el que tiene el PointCut y en donde requiero traer el objeto policyEntity.
public void registrarEmisionPolizaBefore(JoinPoint joinPoint) throws Throwable{
System.out.println("**************************AOP********************************");
System.out.println("registrarEmisionPolizaBefore() is running!");
System.out.println("metodo: " + joinPoint.getSignature().getName());
System.out.println("*************************************************************");
}
G R A C I A S.