killbill-aplcache
Changes
payment/src/test/java/org/killbill/billing/payment/core/TestPaymentMethodProcessorWithDB.java 3(+1 -2)
subscription/src/main/java/org/killbill/billing/subscription/engine/dao/SubscriptionEventSqlDao.java 2(+1 -1)
Details
diff --git a/entitlement/src/main/java/org/killbill/billing/entitlement/dao/BlockingStateSqlDao.java b/entitlement/src/main/java/org/killbill/billing/entitlement/dao/BlockingStateSqlDao.java
index abc01c9..af6939f 100644
--- a/entitlement/src/main/java/org/killbill/billing/entitlement/dao/BlockingStateSqlDao.java
+++ b/entitlement/src/main/java/org/killbill/billing/entitlement/dao/BlockingStateSqlDao.java
@@ -60,7 +60,7 @@ public interface BlockingStateSqlDao extends EntitySqlDao<BlockingStateModelDao,
@SmartBindBean final InternalTenantContext context);
@SqlUpdate
- @Audited(ChangeType.UPDATE)
+ @Audited(ChangeType.DELETE)
public void unactiveEvent(@Bind("id") String id,
@SmartBindBean final InternalCallContext context);
}
diff --git a/invoice/src/main/java/org/killbill/billing/invoice/dao/InvoiceTrackingSqlDao.java b/invoice/src/main/java/org/killbill/billing/invoice/dao/InvoiceTrackingSqlDao.java
index a9525e2..ce8ba6d 100644
--- a/invoice/src/main/java/org/killbill/billing/invoice/dao/InvoiceTrackingSqlDao.java
+++ b/invoice/src/main/java/org/killbill/billing/invoice/dao/InvoiceTrackingSqlDao.java
@@ -37,7 +37,7 @@ import org.skife.jdbi.v2.sqlobject.SqlUpdate;
public interface InvoiceTrackingSqlDao extends EntitySqlDao<InvoiceTrackingModelDao, Entity> {
@SqlUpdate
- @Audited(ChangeType.UPDATE)
+ @Audited(ChangeType.DELETE)
public void deactivateForInvoice(@Bind("invoiceId") String invoiceId,
@SmartBindBean final InternalCallContext context);
diff --git a/payment/src/main/java/org/killbill/billing/payment/dao/PaymentMethodSqlDao.java b/payment/src/main/java/org/killbill/billing/payment/dao/PaymentMethodSqlDao.java
index 5512781..ca49110 100644
--- a/payment/src/main/java/org/killbill/billing/payment/dao/PaymentMethodSqlDao.java
+++ b/payment/src/main/java/org/killbill/billing/payment/dao/PaymentMethodSqlDao.java
@@ -40,7 +40,7 @@ import org.skife.jdbi.v2.sqlobject.customizers.Define;
public interface PaymentMethodSqlDao extends EntitySqlDao<PaymentMethodModelDao, PaymentMethod> {
@SqlUpdate
- @Audited(ChangeType.UPDATE)
+ @Audited(ChangeType.DELETE)
void markPaymentMethodAsDeleted(@Bind("id") final String paymentMethodId,
@SmartBindBean final InternalCallContext context);
diff --git a/payment/src/test/java/org/killbill/billing/payment/core/TestPaymentMethodProcessorWithDB.java b/payment/src/test/java/org/killbill/billing/payment/core/TestPaymentMethodProcessorWithDB.java
index e444b0a..73144b1 100644
--- a/payment/src/test/java/org/killbill/billing/payment/core/TestPaymentMethodProcessorWithDB.java
+++ b/payment/src/test/java/org/killbill/billing/payment/core/TestPaymentMethodProcessorWithDB.java
@@ -95,8 +95,7 @@ public class TestPaymentMethodProcessorWithDB extends PaymentTestSuiteWithEmbedd
Assert.assertEquals(history1.getTenantRecordId(), paymentMethodModelDao.getTenantRecordId());
Assert.assertEquals(history1.getExternalKey(), paymentMethodModelDao.getExternalKey());
Assert.assertTrue(history1.isActive());
- // Note: it looks like we don't consider this as a DELETE, probably because we can un-delete such payment methods?
- Assert.assertEquals(auditLogsWithHistory.get(1).getChangeType(), ChangeType.UPDATE);
+ Assert.assertEquals(auditLogsWithHistory.get(1).getChangeType(), ChangeType.DELETE);
Assert.assertEquals(history2.getAccountRecordId(), paymentMethodModelDao.getAccountRecordId());
Assert.assertEquals(history2.getTenantRecordId(), paymentMethodModelDao.getTenantRecordId());
Assert.assertEquals(history2.getExternalKey(), paymentMethodModelDao.getExternalKey());
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/engine/dao/SubscriptionEventSqlDao.java b/subscription/src/main/java/org/killbill/billing/subscription/engine/dao/SubscriptionEventSqlDao.java
index be4ddd1..01eaa91 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/engine/dao/SubscriptionEventSqlDao.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/engine/dao/SubscriptionEventSqlDao.java
@@ -38,7 +38,7 @@ import org.skife.jdbi.v2.sqlobject.SqlUpdate;
public interface SubscriptionEventSqlDao extends EntitySqlDao<SubscriptionEventModelDao, SubscriptionBaseEvent> {
@SqlUpdate
- @Audited(ChangeType.UPDATE)
+ @Audited(ChangeType.DELETE)
public void unactiveEvent(@Bind("id") String id,
@SmartBindBean final InternalCallContext context);
diff --git a/util/src/main/java/org/killbill/billing/util/entity/dao/EntitySqlDaoWrapperInvocationHandler.java b/util/src/main/java/org/killbill/billing/util/entity/dao/EntitySqlDaoWrapperInvocationHandler.java
index 195d41d..22b17b2 100644
--- a/util/src/main/java/org/killbill/billing/util/entity/dao/EntitySqlDaoWrapperInvocationHandler.java
+++ b/util/src/main/java/org/killbill/billing/util/entity/dao/EntitySqlDaoWrapperInvocationHandler.java
@@ -319,8 +319,7 @@ public class EntitySqlDaoWrapperInvocationHandler<S extends EntitySqlDao<M, E>,
// Get the current state before deletion for the history tables
final Map<String, M> deletedEntities = new HashMap<String, M>();
- // Unfortunately, we cannot just look at DELETE as "markAsInactive" operations are often treated as UPDATE
- if (changeType == ChangeType.UPDATE || changeType == ChangeType.DELETE) {
+ if (changeType == ChangeType.DELETE) {
for (final String entityId : entityIds) {
deletedEntities.put(entityId, sqlDao.getById(entityId, context));
printSQLWarnings();
@@ -403,14 +402,7 @@ public class EntitySqlDaoWrapperInvocationHandler<S extends EntitySqlDao<M, E>,
final Object reHydratedEntity = prof.executeWithProfiling(ProfilingFeatureType.DAO_DETAILS, getProfilingId("history/audit", null), new WithProfilingCallback<Object, Throwable>() {
@Override
public M execute() throws Throwable {
- final M reHydratedEntity;
- if (changeType == ChangeType.DELETE) {
- reHydratedEntity = deletedEntity;
- } else {
- // See note above regarding "markAsInactive" operations
- reHydratedEntity = MoreObjects.firstNonNull(sqlDao.getById(entityId, context), deletedEntity);
- printSQLWarnings();
- }
+ final M reHydratedEntity = MoreObjects.firstNonNull(deletedEntity, sqlDao.getById(entityId, context));
Preconditions.checkNotNull(reHydratedEntity, "reHydratedEntity cannot be null");
final Long entityRecordId = reHydratedEntity.getRecordId();
final TableName tableName = reHydratedEntity.getTableName();
@@ -523,6 +515,7 @@ public class EntitySqlDaoWrapperInvocationHandler<S extends EntitySqlDao<M, E>,
} else {
context = contextMaybeWithoutAccountRecordId;
}
+
sqlDao.insertAuditFromTransaction(audit, context);
printSQLWarnings();
diff --git a/util/src/main/java/org/killbill/billing/util/security/shiro/dao/RolesPermissionsSqlDao.java b/util/src/main/java/org/killbill/billing/util/security/shiro/dao/RolesPermissionsSqlDao.java
index ad4187f..aa83bd7 100644
--- a/util/src/main/java/org/killbill/billing/util/security/shiro/dao/RolesPermissionsSqlDao.java
+++ b/util/src/main/java/org/killbill/billing/util/security/shiro/dao/RolesPermissionsSqlDao.java
@@ -43,7 +43,7 @@ public interface RolesPermissionsSqlDao extends Transactional<RolesPermissionsSq
public void create(@SmartBindBean final RolesPermissionsModelDao rolesPermissions);
@SqlUpdate
- @Audited(ChangeType.UPDATE)
+ @Audited(ChangeType.DELETE)
public void unactiveEvent(@Bind("recordId") final Long recordId,
@Bind("createdDate") final DateTime createdDate,
@Bind("createdBy") final String createdBy);