package com.ssbusy.checkout.dao; import java.util.List; import javax.annotation.Resource; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; import org.broadleafcommerce.common.encryption.EncryptionModule; import org.broadleafcommerce.common.persistence.EntityConfiguration; import org.broadleafcommerce.core.payment.domain.Referenced; import com.ssbusy.payment.service.type.CodPaymentInfo; /* * * MySecurePaymentInfoDaoImpl implements MySecurePaymentInfoDao * one create * * * * * */ public class MySecurePaymentInfoDaoImpl implements MySecurePaymentInfoDao { @PersistenceContext(unitName = "blSecurePU") protected EntityManager em; @Resource(name = "blEncryptionModule") protected EncryptionModule encryptionModule; @Resource(name = "blEntityConfiguration") protected EntityConfiguration entityConfiguration; public Referenced save(Referenced securePaymentInfo) { return em.merge(securePaymentInfo); } @Override public CodPaymentInfo findCodInfo(String referenceNumber) { // CodPaymentInfo response = (CodPaymentInfo) // entityConfiguration.createEntityInstance("com.ssbusy.payment.service.type.CodPaymentInfo"); // response.setEncryptionModule(encryptionModule); // Query query = // em.createNamedQuery("BC_READ_BANK_ACCOUNT_BY_REFERENCE_NUMBER"); // query.setParameter("referenceNumber", referenceNumber); // List<BankAccountPaymentInfo> infos = query.getResultList(); // // if (response != null) { // response.setEncryptionModule(encryptionModule); // } // return response; Query query = em .createNamedQuery("BC_READ_BANK_ACCOUNT_BY_REFERENCE_NUMBER"); query.setParameter("referenceNumber", referenceNumber); @SuppressWarnings("unchecked") List<CodPaymentInfo> infos = query.getResultList(); CodPaymentInfo response = (infos == null || infos.size() == 0) ? null : infos.get(0); if (response != null) { response.setEncryptionModule(encryptionModule); } return response; } @Override public CodPaymentInfo createCodPaymentInfo() { CodPaymentInfo response = (CodPaymentInfo) entityConfiguration .createEntityInstance("com.ssbusy.payment.service.type.CodPaymentInfo"); response.setEncryptionModule(encryptionModule); return response; } @Override public void delete(Referenced securePaymentInfo) { if (!em.contains(securePaymentInfo)) { securePaymentInfo = em.find(securePaymentInfo.getClass(), securePaymentInfo.getId()); } em.remove(securePaymentInfo); } }