MIFOSX-760: ensure charges cache is evicted on update.

This commit is contained in:
Keith Woodlock
2013-10-29 16:18:59 +00:00
parent ec3b97349d
commit 46a4ed7b88
@@ -15,7 +15,6 @@ import org.mifosplatform.infrastructure.core.data.CommandProcessingResult;
import org.mifosplatform.infrastructure.core.data.CommandProcessingResultBuilder;
import org.mifosplatform.infrastructure.core.exception.PlatformDataIntegrityException;
import org.mifosplatform.infrastructure.core.service.RoutingDataSource;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
import org.mifosplatform.portfolio.charge.domain.Charge;
import org.mifosplatform.portfolio.charge.domain.ChargeRepository;
import org.mifosplatform.portfolio.charge.exception.ChargeCannotBeDeletedException;
@@ -37,7 +36,6 @@ public class ChargeWritePlatformServiceJpaRepositoryImpl implements ChargeWriteP
private final static Logger logger = LoggerFactory.getLogger(ChargeWritePlatformServiceJpaRepositoryImpl.class);
private final PlatformSecurityContext context;
private final ChargeDefinitionCommandFromApiJsonDeserializer fromApiJsonDeserializer;
private final JdbcTemplate jdbcTemplate;
private final DataSource dataSource;
@@ -45,10 +43,8 @@ public class ChargeWritePlatformServiceJpaRepositoryImpl implements ChargeWriteP
private final LoanProductRepository loanProductRepository;
@Autowired
public ChargeWritePlatformServiceJpaRepositoryImpl(final PlatformSecurityContext context,
final ChargeDefinitionCommandFromApiJsonDeserializer fromApiJsonDeserializer, final ChargeRepository chargeRepository,
final LoanProductRepository loanProductRepository, final RoutingDataSource dataSource) {
this.context = context;
public ChargeWritePlatformServiceJpaRepositoryImpl(final ChargeDefinitionCommandFromApiJsonDeserializer fromApiJsonDeserializer,
final ChargeRepository chargeRepository, final LoanProductRepository loanProductRepository, final RoutingDataSource dataSource) {
this.fromApiJsonDeserializer = fromApiJsonDeserializer;
this.dataSource = dataSource;
this.jdbcTemplate = new JdbcTemplate(this.dataSource);
@@ -61,8 +57,6 @@ public class ChargeWritePlatformServiceJpaRepositoryImpl implements ChargeWriteP
@CacheEvict(value = "charges", key = "T(org.mifosplatform.infrastructure.core.service.ThreadLocalContextUtil).getTenant().getTenantIdentifier().concat('ch')")
public CommandProcessingResult createCharge(final JsonCommand command) {
try {
this.context.authenticatedUser();
this.fromApiJsonDeserializer.validateForCreate(command.json());
final Charge charge = Charge.fromJson(command);
@@ -77,12 +71,10 @@ public class ChargeWritePlatformServiceJpaRepositoryImpl implements ChargeWriteP
@Transactional
@Override
@CacheEvict(value = "charges", key = "T(org.mifosplatform.infrastructure.core.service.ThreadLocalContextUtil).getTenant().getTenantIdentifier().concat('c')")
@CacheEvict(value = "charges", key = "T(org.mifosplatform.infrastructure.core.service.ThreadLocalContextUtil).getTenant().getTenantIdentifier().concat('ch')")
public CommandProcessingResult updateCharge(final Long chargeId, final JsonCommand command) {
try {
this.context.authenticatedUser();
this.fromApiJsonDeserializer.validateForUpdate(command.json());
final Charge chargeForUpdate = this.chargeRepository.findOne(chargeId);
@@ -106,8 +98,6 @@ public class ChargeWritePlatformServiceJpaRepositoryImpl implements ChargeWriteP
@CacheEvict(value = "charges", key = "T(org.mifosplatform.infrastructure.core.service.ThreadLocalContextUtil).getTenant().getTenantIdentifier().concat('ch')")
public CommandProcessingResult deleteCharge(final Long chargeId) {
this.context.authenticatedUser();
final Charge chargeForDelete = this.chargeRepository.findOne(chargeId);
if (chargeForDelete == null || chargeForDelete.isDeleted()) { throw new ChargeNotFoundException(chargeId); }