killbill-aplcache
Changes
beatrix/src/test/java/com/ning/billing/beatrix/integration/osgi/TestJrubyNotificationPlugin.java 2(+1 -1)
beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoInvoiceOffTag.java 2(+1 -1)
beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoPayOff.java 2(+1 -1)
NEWS 1(+1 -0)
pom.xml 2(+1 -1)
Details
diff --git a/account/src/test/java/com/ning/billing/account/dao/TestAccountDao.java b/account/src/test/java/com/ning/billing/account/dao/TestAccountDao.java
index 9fd099b..752a304 100644
--- a/account/src/test/java/com/ning/billing/account/dao/TestAccountDao.java
+++ b/account/src/test/java/com/ning/billing/account/dao/TestAccountDao.java
@@ -129,7 +129,7 @@ public class TestAccountDao extends AccountTestSuiteWithEmbeddedDB {
final Tag tag = new DescriptiveTag(tagDefinition.getId(), ObjectType.ACCOUNT, account.getId(), internalCallContext.getCreatedDate());
tagDao.create(new TagModelDao(tag), internalCallContext);
- final List<TagModelDao> tags = tagDao.getTagsForObject(account.getId(), ObjectType.ACCOUNT, internalCallContext);
+ final List<TagModelDao> tags = tagDao.getTagsForObject(account.getId(), ObjectType.ACCOUNT, false, internalCallContext);
Assert.assertEquals(tags.size(), 1);
Assert.assertEquals(tags.get(0).getTagDefinitionId(), tagDefinition.getId());
Assert.assertEquals(tags.get(0).getObjectId(), account.getId());
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/osgi/TestJrubyNotificationPlugin.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/osgi/TestJrubyNotificationPlugin.java
index 77eb9b2..1f12d13 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/osgi/TestJrubyNotificationPlugin.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/osgi/TestJrubyNotificationPlugin.java
@@ -57,7 +57,7 @@ public class TestJrubyNotificationPlugin extends TestOSGIBase {
final Account account = createAccountWithNonOsgiPaymentMethod(getAccountData(4));
assertTrue(busHandler.isCompleted(2 * DELAY));
- final List<Tag> tags = tagUserApi.getTagsForAccount(account.getId(), callContext);
+ final List<Tag> tags = tagUserApi.getTagsForAccount(account.getId(), false, callContext);
Assert.assertEquals(tags.size(), 1);
//final Tag tag = tags.get(0);
}
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoInvoiceOffTag.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoInvoiceOffTag.java
index 80fbf5a..ab97c53 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoInvoiceOffTag.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoInvoiceOffTag.java
@@ -147,7 +147,7 @@ public class TestIntegrationWithAutoInvoiceOffTag extends TestIntegrationBase {
busHandler.pushExpectedEvent(NextEvent.TAG);
tagApi.addTag(id, type, ControlTagType.AUTO_INVOICING_OFF.getId(), callContext);
assertListenerStatus();
- final List<Tag> tags = tagApi.getTagsForObject(id, type, callContext);
+ final List<Tag> tags = tagApi.getTagsForObject(id, type, false, callContext);
assertEquals(tags.size(), 1);
}
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoPayOff.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoPayOff.java
index 06bae39..7816769 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoPayOff.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoPayOff.java
@@ -270,7 +270,7 @@ public class TestIntegrationWithAutoPayOff extends TestIntegrationBase {
tagApi.addTag(id, type, ControlTagType.AUTO_PAY_OFF.getId(), callContext);
assertListenerStatus();
- final List<Tag> tags = tagApi.getTagsForObject(id, type, callContext);
+ final List<Tag> tags = tagApi.getTagsForObject(id, type, false, callContext);
assertEquals(tags.size(), 1);
}
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestTagApi.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestTagApi.java
index 6fe6a54..663612b 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestTagApi.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestTagApi.java
@@ -59,15 +59,15 @@ public class TestTagApi extends TestIntegrationBase {
tagUserApi.addTag(account.getId(), ObjectType.ACCOUNT, ControlTagType.AUTO_PAY_OFF.getId(), callContext);
assertListenerStatus();
- List<Tag> tags = tagUserApi.getTagsForAccount(account.getId(), callContext);
+ List<Tag> tags = tagUserApi.getTagsForAccount(account.getId(), false, callContext);
Assert.assertEquals(tags.size(), 2);
checkTagsExists(tags);
- tags = tagUserApi.getTagsForObject(account.getId(), ObjectType.ACCOUNT, callContext);
+ tags = tagUserApi.getTagsForObject(account.getId(), ObjectType.ACCOUNT, false, callContext);
Assert.assertEquals(tags.size(), 2);
checkTagsExists(tags);
- tags = tagUserApi.getTagsForAccountType(account.getId(), ObjectType.ACCOUNT, callContext);
+ tags = tagUserApi.getTagsForAccountType(account.getId(), ObjectType.ACCOUNT, false, callContext);
Assert.assertEquals(tags.size(), 2);
checkTagsExists(tags);
}
@@ -109,15 +109,15 @@ public class TestTagApi extends TestIntegrationBase {
tagUserApi.addTag(invoice.getId(), ObjectType.INVOICE, tagDefinition.getId(), callContext);
assertListenerStatus();
- List<Tag> tags = tagUserApi.getTagsForAccount(account.getId(), callContext);
+ List<Tag> tags = tagUserApi.getTagsForAccount(account.getId(), false, callContext);
Assert.assertEquals(tags.size(), 2);
checkTagsExists(tags);
- tags = tagUserApi.getTagsForObject(invoice.getId(), ObjectType.INVOICE, callContext);
+ tags = tagUserApi.getTagsForObject(invoice.getId(), ObjectType.INVOICE, false, callContext);
Assert.assertEquals(tags.size(), 2);
checkTagsExists(tags);
- tags = tagUserApi.getTagsForAccountType(account.getId(), ObjectType.INVOICE, callContext);
+ tags = tagUserApi.getTagsForAccountType(account.getId(), ObjectType.INVOICE, false, callContext);
Assert.assertEquals(tags.size(), 2);
checkTagsExists(tags);
@@ -128,15 +128,15 @@ public class TestTagApi extends TestIntegrationBase {
tagUserApi.addTag(account.getId(), ObjectType.ACCOUNT, ControlTagType.AUTO_PAY_OFF.getId(), callContext);
assertListenerStatus();
- tags = tagUserApi.getTagsForAccount(account.getId(), callContext);
+ tags = tagUserApi.getTagsForAccount(account.getId(), false, callContext);
Assert.assertEquals(tags.size(), 3);
checkTagsExists(tags);
- tags = tagUserApi.getTagsForObject(invoice.getId(), ObjectType.INVOICE, callContext);
+ tags = tagUserApi.getTagsForObject(invoice.getId(), ObjectType.INVOICE, false, callContext);
Assert.assertEquals(tags.size(), 2);
checkTagsExists(tags);
- tags = tagUserApi.getTagsForAccountType(account.getId(), ObjectType.INVOICE, callContext);
+ tags = tagUserApi.getTagsForAccountType(account.getId(), ObjectType.INVOICE, false, callContext);
Assert.assertEquals(tags.size(), 2);
checkTagsExists(tags);
}
diff --git a/invoice/src/test/java/com/ning/billing/invoice/api/user/TestDefaultInvoiceUserApi.java b/invoice/src/test/java/com/ning/billing/invoice/api/user/TestDefaultInvoiceUserApi.java
index 683f296..634eb14 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/api/user/TestDefaultInvoiceUserApi.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/api/user/TestDefaultInvoiceUserApi.java
@@ -346,12 +346,12 @@ public class TestDefaultInvoiceUserApi extends InvoiceTestSuiteWithEmbeddedDB {
public void testAddRemoveWrittenOffTag() throws InvoiceApiException, TagApiException {
invoiceUserApi.tagInvoiceAsWrittenOff(invoiceId, callContext);
- List<Tag> tags = tagUserApi.getTagsForObject(invoiceId, ObjectType.INVOICE, callContext);
+ List<Tag> tags = tagUserApi.getTagsForObject(invoiceId, ObjectType.INVOICE, false, callContext);
assertEquals(tags.size(), 1);
assertEquals(tags.get(0).getTagDefinitionId(), ControlTagType.WRITTEN_OFF.getId());
invoiceUserApi.tagInvoiceAsNotWrittenOff(invoiceId, callContext);
- tags = tagUserApi.getTagsForObject(invoiceId, ObjectType.INVOICE, callContext);
+ tags = tagUserApi.getTagsForObject(invoiceId, ObjectType.INVOICE, false, callContext);
assertEquals(tags.size(), 0);
}
}
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/AccountResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/AccountResource.java
index a210318..a48b849 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/AccountResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/AccountResource.java
@@ -392,7 +392,6 @@ public class AccountResource extends JaxRsResourceBase {
return Response.status(Status.OK).build();
}
-
/*
* ************************** INVOICE CBA REBALANCING ********************************
*/
@@ -431,7 +430,6 @@ public class AccountResource extends JaxRsResourceBase {
// Verify the account exists
accountUserApi.getAccountById(UUID.fromString(accountId), tenantContext);
-
final List<Invoice> invoices = unpaidInvoicesOnly ?
new ArrayList<Invoice>(invoiceApi.getUnpaidInvoicesByAccountId(UUID.fromString(accountId), null, tenantContext)) :
invoiceApi.getInvoicesByAccount(UUID.fromString(accountId), tenantContext);
@@ -500,7 +498,6 @@ public class AccountResource extends JaxRsResourceBase {
return Response.status(Status.OK).build();
}
-
@POST
@Path("/{accountId:" + UUID_PATTERN + "}/" + PAYMENT_METHODS)
@Consumes(APPLICATION_JSON)
@@ -580,7 +577,6 @@ public class AccountResource extends JaxRsResourceBase {
return Response.status(Status.OK).build();
}
-
/*
* ************************** CHARGEBACKS ********************************
*/
@@ -598,7 +594,6 @@ public class AccountResource extends JaxRsResourceBase {
return Response.status(Response.Status.OK).entity(chargebacksJson).build();
}
-
/*
* ************************** REFUNDS ********************************
*/
@@ -622,7 +617,6 @@ public class AccountResource extends JaxRsResourceBase {
return Response.status(Status.OK).entity(result).build();
}
-
/*
* ************************** OVERDUE ********************************
*/
@@ -689,8 +683,9 @@ public class AccountResource extends JaxRsResourceBase {
@Produces(APPLICATION_JSON)
public Response getTags(@PathParam(ID_PARAM_NAME) final String id,
@QueryParam(QUERY_AUDIT) @DefaultValue("NONE") final AuditMode auditMode,
+ @QueryParam(QUERY_TAGS_INCLUDED_DELETED) @DefaultValue("false") final Boolean includedDeleted,
@javax.ws.rs.core.Context final HttpServletRequest request) throws TagDefinitionApiException {
- return super.getTags(UUID.fromString(id), auditMode, context.createContext(request));
+ return super.getTags(UUID.fromString(id), auditMode, includedDeleted, context.createContext(request));
}
@POST
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/BundleResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/BundleResource.java
index 764872a..c0583f2 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/BundleResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/BundleResource.java
@@ -130,11 +130,11 @@ public class BundleResource extends JaxRsResourceBase {
@Consumes(APPLICATION_JSON)
@Produces(APPLICATION_JSON)
public Response resumeBundle(@PathParam(ID_PARAM_NAME) final String id,
- @QueryParam(QUERY_REQUESTED_DT) final String requestedDate,
- @HeaderParam(HDR_CREATED_BY) final String createdBy,
- @HeaderParam(HDR_REASON) final String reason,
- @HeaderParam(HDR_COMMENT) final String comment,
- @javax.ws.rs.core.Context final HttpServletRequest request) throws SubscriptionApiException, EntitlementApiException {
+ @QueryParam(QUERY_REQUESTED_DT) final String requestedDate,
+ @HeaderParam(HDR_CREATED_BY) final String createdBy,
+ @HeaderParam(HDR_REASON) final String reason,
+ @HeaderParam(HDR_COMMENT) final String comment,
+ @javax.ws.rs.core.Context final HttpServletRequest request) throws SubscriptionApiException, EntitlementApiException {
final CallContext callContext = context.createContext(createdBy, reason, comment, request);
final UUID bundleId = UUID.fromString(id);
@@ -186,8 +186,9 @@ public class BundleResource extends JaxRsResourceBase {
@Produces(APPLICATION_JSON)
public Response getTags(@PathParam(ID_PARAM_NAME) final String id,
@QueryParam(QUERY_AUDIT) @DefaultValue("NONE") final AuditMode auditMode,
+ @QueryParam(QUERY_TAGS_INCLUDED_DELETED) @DefaultValue("false") final Boolean includedDeleted,
@javax.ws.rs.core.Context final HttpServletRequest request) throws TagDefinitionApiException {
- return super.getTags(UUID.fromString(id), auditMode, context.createContext(request));
+ return super.getTags(UUID.fromString(id), auditMode, includedDeleted, context.createContext(request));
}
@PUT
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/InvoiceResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/InvoiceResource.java
index 449a023..2068d70 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/InvoiceResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/InvoiceResource.java
@@ -18,8 +18,6 @@ package com.ning.billing.jaxrs.resources;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.Collection;
-import java.util.LinkedList;
import java.util.List;
import java.util.UUID;
@@ -38,7 +36,6 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.core.UriInfo;
-import org.joda.time.DateTime;
import org.joda.time.LocalDate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -109,7 +106,6 @@ public class InvoiceResource extends JaxRsResourceBase {
this.invoiceNotifier = invoiceNotifier;
}
-
@GET
@Path("/{invoiceId:" + UUID_PATTERN + "}/")
@Produces(APPLICATION_JSON)
@@ -127,11 +123,11 @@ public class InvoiceResource extends JaxRsResourceBase {
throw new InvoiceApiException(ErrorCode.INVOICE_NOT_FOUND, invoiceId);
} else {
final InvoiceJson json = withItems ?
- new InvoiceJson(invoice,
- invoicesAuditLogs.getInvoiceAuditLogs().get(invoice.getId()),
- invoicesAuditLogs.getInvoiceItemsAuditLogs()) :
- new InvoiceJson(invoice,
- invoicesAuditLogs.getInvoiceAuditLogs().get(invoice.getId()));
+ new InvoiceJson(invoice,
+ invoicesAuditLogs.getInvoiceAuditLogs().get(invoice.getId()),
+ invoicesAuditLogs.getInvoiceItemsAuditLogs()) :
+ new InvoiceJson(invoice,
+ invoicesAuditLogs.getInvoiceAuditLogs().get(invoice.getId()));
return Response.status(Status.OK).entity(json).build();
}
}
@@ -153,11 +149,11 @@ public class InvoiceResource extends JaxRsResourceBase {
throw new InvoiceApiException(ErrorCode.INVOICE_NOT_FOUND, invoiceNumber);
} else {
final InvoiceJson json = withItems ?
- new InvoiceJson(invoice,
- invoicesAuditLogs.getInvoiceAuditLogs().get(invoice.getId()),
- invoicesAuditLogs.getInvoiceItemsAuditLogs()) :
- new InvoiceJson(invoice,
- invoicesAuditLogs.getInvoiceAuditLogs().get(invoice.getId()));
+ new InvoiceJson(invoice,
+ invoicesAuditLogs.getInvoiceAuditLogs().get(invoice.getId()),
+ invoicesAuditLogs.getInvoiceItemsAuditLogs()) :
+ new InvoiceJson(invoice,
+ invoicesAuditLogs.getInvoiceAuditLogs().get(invoice.getId()));
return Response.status(Status.OK).entity(json).build();
}
}
@@ -250,7 +246,7 @@ public class InvoiceResource extends JaxRsResourceBase {
@POST
@Produces(APPLICATION_JSON)
@Consumes(APPLICATION_JSON)
- @Path("/" +CHARGES)
+ @Path("/" + CHARGES)
public Response createExternalCharge(final InvoiceItemJson externalChargeJson,
@QueryParam(QUERY_REQUESTED_DT) final String requestedDateTimeString,
@QueryParam(QUERY_PAY_INVOICE) @DefaultValue("false") final Boolean payInvoice,
@@ -430,16 +426,17 @@ public class InvoiceResource extends JaxRsResourceBase {
}
@GET
- @Path("/{invoiceId:" + UUID_PATTERN + "}/" + TAGS)
+ @Path("/{invoiceId:" + UUID_PATTERN + "}/" + TAGS)
@Produces(APPLICATION_JSON)
public Response getTags(@PathParam(ID_PARAM_NAME) final String id,
@QueryParam(QUERY_AUDIT) @DefaultValue("NONE") final AuditMode auditMode,
+ @QueryParam(QUERY_TAGS_INCLUDED_DELETED) @DefaultValue("false") final Boolean includedDeleted,
@javax.ws.rs.core.Context final HttpServletRequest request) throws TagDefinitionApiException {
- return super.getTags(UUID.fromString(id), auditMode, context.createContext(request));
+ return super.getTags(UUID.fromString(id), auditMode, includedDeleted, context.createContext(request));
}
@POST
- @Path("/{invoiceId:" + UUID_PATTERN + "}/" + TAGS)
+ @Path("/{invoiceId:" + UUID_PATTERN + "}/" + TAGS)
@Consumes(APPLICATION_JSON)
@Produces(APPLICATION_JSON)
public Response createTags(@PathParam(ID_PARAM_NAME) final String id,
@@ -454,7 +451,7 @@ public class InvoiceResource extends JaxRsResourceBase {
}
@DELETE
- @Path("/{invoiceId:" + UUID_PATTERN + "}/" + TAGS)
+ @Path("/{invoiceId:" + UUID_PATTERN + "}/" + TAGS)
@Consumes(APPLICATION_JSON)
@Produces(APPLICATION_JSON)
public Response deleteTags(@PathParam(ID_PARAM_NAME) final String id,
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxrsResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxrsResource.java
index ca1ee21..f7046e9 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxrsResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxrsResource.java
@@ -82,6 +82,7 @@ public interface JaxrsResource {
public static final String QUERY_PAYMENT_WITH_REFUNDS_AND_CHARGEBACKS = "withRefundsAndChargebacks";
public static final String QUERY_TAGS = "tagList";
+ public static final String QUERY_TAGS_INCLUDED_DELETED = "includedDeleted";
public static final String QUERY_CUSTOM_FIELDS = "customFieldList";
public static final String QUERY_PAYMENT_METHOD_PLUGIN_NAME = "pluginName";
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxRsResourceBase.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxRsResourceBase.java
index 150b97e..0e1d63c 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxRsResourceBase.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxRsResourceBase.java
@@ -17,8 +17,10 @@
package com.ning.billing.jaxrs.resources;
import java.util.Collection;
+import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
import java.util.UUID;
import javax.ws.rs.core.Response;
@@ -98,12 +100,17 @@ public abstract class JaxRsResourceBase implements JaxrsResource {
return null;
}
- protected Response getTags(final UUID taggedObjectId, final AuditMode auditMode, final TenantContext context) throws TagDefinitionApiException {
- final List<Tag> tags = tagUserApi.getTagsForObject(taggedObjectId, getObjectType(), context);
+ protected Response getTags(final UUID taggedObjectId, final AuditMode auditMode, final boolean includeDeleted, final TenantContext context) throws TagDefinitionApiException {
+ final List<Tag> tags = tagUserApi.getTagsForObject(taggedObjectId, getObjectType(), includeDeleted, context);
+ final Map<UUID, TagDefinition> tagDefinitionsCache = new HashMap<UUID, TagDefinition>();
final Collection<TagJson> result = new LinkedList<TagJson>();
for (final Tag tag : tags) {
- final TagDefinition tagDefinition = tagUserApi.getTagDefinition(tag.getTagDefinitionId(), context);
+ if (tagDefinitionsCache.get(tag.getTagDefinitionId()) == null) {
+ tagDefinitionsCache.put(tag.getTagDefinitionId(), tagUserApi.getTagDefinition(tag.getTagDefinitionId(), context));
+ }
+ final TagDefinition tagDefinition = tagDefinitionsCache.get(tag.getTagDefinitionId());
+
// TODO PIERRE - Bulk API
final List<AuditLog> auditLogs = auditUserApi.getAuditLogs(tag.getId(), ObjectType.TAG, auditMode.getLevel(), context);
result.add(new TagJson(tagDefinition, auditLogs));
@@ -189,7 +196,6 @@ public abstract class JaxRsResourceBase implements JaxrsResource {
return toLocalDate(account, inputDateTime, context);
}
-
protected LocalDate toLocalDate(final Account account, final String inputDate, final TenantContext context) {
final LocalDate maybeResult = extractLocalDate(inputDate);
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/PaymentResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/PaymentResource.java
index 0a65996..21a4ef1 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/PaymentResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/PaymentResource.java
@@ -121,8 +121,8 @@ public class PaymentResource extends JaxRsResourceBase {
paymentJson = new PaymentJson(payment,
null, // TODO - the keys are really only used for the timeline
- refunds,
- chargebacks);
+ refunds,
+ chargebacks);
} else {
paymentJson = new PaymentJson(payment, null);
}
@@ -135,10 +135,10 @@ public class PaymentResource extends JaxRsResourceBase {
@Consumes(APPLICATION_JSON)
@Produces(APPLICATION_JSON)
public Response retryFailedPayment(@PathParam(ID_PARAM_NAME) final String paymentIdString,
- @HeaderParam(HDR_CREATED_BY) final String createdBy,
- @HeaderParam(HDR_REASON) final String reason,
- @HeaderParam(HDR_COMMENT) final String comment,
- @javax.ws.rs.core.Context final HttpServletRequest request) throws AccountApiException, PaymentApiException {
+ @HeaderParam(HDR_CREATED_BY) final String createdBy,
+ @HeaderParam(HDR_REASON) final String reason,
+ @HeaderParam(HDR_COMMENT) final String comment,
+ @javax.ws.rs.core.Context final HttpServletRequest request) throws AccountApiException, PaymentApiException {
final CallContext callContext = context.createContext(createdBy, reason, comment, request);
@@ -150,13 +150,11 @@ public class PaymentResource extends JaxRsResourceBase {
return Response.status(Status.OK).entity(new PaymentJson(newPayment, null)).build();
}
-
-
@GET
@Path("/{paymentId:" + UUID_PATTERN + "}/" + CHARGEBACKS)
@Produces(APPLICATION_JSON)
public Response getChargebacksForPayment(@PathParam("paymentId") final String paymentId,
- @javax.ws.rs.core.Context final HttpServletRequest request) throws InvoiceApiException {
+ @javax.ws.rs.core.Context final HttpServletRequest request) throws InvoiceApiException {
final TenantContext tenantContext = context.createContext(request);
final List<InvoicePayment> chargebacks = invoicePaymentApi.getChargebacksByPaymentId(UUID.fromString(paymentId), tenantContext);
@@ -173,7 +171,6 @@ public class PaymentResource extends JaxRsResourceBase {
return Response.status(Response.Status.OK).entity(chargebacksJson).build();
}
-
@GET
@Path("/{paymentId:" + UUID_PATTERN + "}/" + REFUNDS)
@Produces(APPLICATION_JSON)
@@ -229,7 +226,7 @@ public class PaymentResource extends JaxRsResourceBase {
}
@GET
- @Path("/{paymentId:" + UUID_PATTERN + "}/" + CUSTOM_FIELDS)
+ @Path("/{paymentId:" + UUID_PATTERN + "}/" + CUSTOM_FIELDS)
@Produces(APPLICATION_JSON)
public Response getCustomFields(@PathParam(ID_PARAM_NAME) final String id,
@QueryParam(QUERY_AUDIT) @DefaultValue("NONE") final AuditMode auditMode,
@@ -238,7 +235,7 @@ public class PaymentResource extends JaxRsResourceBase {
}
@POST
- @Path("/{paymentId:" + UUID_PATTERN + "}/" + CUSTOM_FIELDS)
+ @Path("/{paymentId:" + UUID_PATTERN + "}/" + CUSTOM_FIELDS)
@Consumes(APPLICATION_JSON)
@Produces(APPLICATION_JSON)
public Response createCustomFields(@PathParam(ID_PARAM_NAME) final String id,
@@ -252,7 +249,7 @@ public class PaymentResource extends JaxRsResourceBase {
}
@DELETE
- @Path("/{paymentId:" + UUID_PATTERN + "}/" + CUSTOM_FIELDS)
+ @Path("/{paymentId:" + UUID_PATTERN + "}/" + CUSTOM_FIELDS)
@Consumes(APPLICATION_JSON)
@Produces(APPLICATION_JSON)
public Response deleteCustomFields(@PathParam(ID_PARAM_NAME) final String id,
@@ -270,8 +267,9 @@ public class PaymentResource extends JaxRsResourceBase {
@Produces(APPLICATION_JSON)
public Response getTags(@PathParam(ID_PARAM_NAME) final String id,
@QueryParam(QUERY_AUDIT) @DefaultValue("NONE") final AuditMode auditMode,
+ @QueryParam(QUERY_TAGS_INCLUDED_DELETED) @DefaultValue("false") final Boolean includedDeleted,
@javax.ws.rs.core.Context final HttpServletRequest request) throws TagDefinitionApiException {
- return super.getTags(UUID.fromString(id), auditMode, context.createContext(request));
+ return super.getTags(UUID.fromString(id), auditMode, includedDeleted, context.createContext(request));
}
@POST
@@ -290,7 +288,7 @@ public class PaymentResource extends JaxRsResourceBase {
}
@DELETE
- @Path("/{paymentId:" + UUID_PATTERN + "}/"+ TAGS)
+ @Path("/{paymentId:" + UUID_PATTERN + "}/" + TAGS)
@Consumes(APPLICATION_JSON)
@Produces(APPLICATION_JSON)
public Response deleteTags(@PathParam(ID_PARAM_NAME) final String id,
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/SubscriptionResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/SubscriptionResource.java
index f464200..4e4a22f 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/SubscriptionResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/SubscriptionResource.java
@@ -431,8 +431,9 @@ public class SubscriptionResource extends JaxRsResourceBase {
@Produces(APPLICATION_JSON)
public Response getTags(@PathParam(ID_PARAM_NAME) final String id,
@QueryParam(QUERY_AUDIT) @DefaultValue("NONE") final AuditMode auditMode,
+ @QueryParam(QUERY_TAGS_INCLUDED_DELETED) @DefaultValue("false") final Boolean includedDeleted,
@javax.ws.rs.core.Context final HttpServletRequest request) throws TagDefinitionApiException {
- return super.getTags(UUID.fromString(id), auditMode, context.createContext(request));
+ return super.getTags(UUID.fromString(id), auditMode, includedDeleted, context.createContext(request));
}
@POST
NEWS 1(+1 -0)
diff --git a/NEWS b/NEWS
index 06a5585..65c23b0 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,6 @@
0.8.7
DDL: remove unused paid_through_date column
+ Add API to retrieve deleted tags
0.8.6
Partial fix for https://github.com/killbill/killbill/issues/141
pom.xml 2(+1 -1)
diff --git a/pom.xml b/pom.xml
index d4cb24f..f8ba7ba 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,7 +19,7 @@
<parent>
<artifactId>killbill-oss-parent</artifactId>
<groupId>com.ning.billing</groupId>
- <version>0.5.8</version>
+ <version>0.5.9-SNAPSHOT</version>
</parent>
<artifactId>killbill</artifactId>
<version>0.8.7-SNAPSHOT</version>
diff --git a/util/src/main/java/com/ning/billing/util/entity/dao/EntitySqlDao.java b/util/src/main/java/com/ning/billing/util/entity/dao/EntitySqlDao.java
index f4c9148..44506de 100644
--- a/util/src/main/java/com/ning/billing/util/entity/dao/EntitySqlDao.java
+++ b/util/src/main/java/com/ning/billing/util/entity/dao/EntitySqlDao.java
@@ -61,6 +61,8 @@ public interface EntitySqlDao<M extends EntityModelDao<E>, E extends Entity> ext
@SqlQuery
public List<M> getByAccountRecordId(@BindBean final InternalTenantContext context);
+ @SqlQuery
+ public List<M> getByAccountRecordIdIncludedDeleted(@BindBean final InternalTenantContext context);
@SqlQuery
@Cachable(CacheType.RECORD_ID)
diff --git a/util/src/main/java/com/ning/billing/util/tag/api/DefaultTagUserApi.java b/util/src/main/java/com/ning/billing/util/tag/api/DefaultTagUserApi.java
index b3a93b4..daf484e 100644
--- a/util/src/main/java/com/ning/billing/util/tag/api/DefaultTagUserApi.java
+++ b/util/src/main/java/com/ning/billing/util/tag/api/DefaultTagUserApi.java
@@ -22,11 +22,11 @@ import java.util.UUID;
import com.ning.billing.ErrorCode;
import com.ning.billing.ObjectType;
+import com.ning.billing.callcontext.InternalCallContext;
import com.ning.billing.util.api.TagApiException;
import com.ning.billing.util.api.TagDefinitionApiException;
import com.ning.billing.util.api.TagUserApi;
import com.ning.billing.util.callcontext.CallContext;
-import com.ning.billing.callcontext.InternalCallContext;
import com.ning.billing.util.callcontext.InternalCallContextFactory;
import com.ning.billing.util.callcontext.TenantContext;
import com.ning.billing.util.tag.ControlTagType;
@@ -142,18 +142,18 @@ public class DefaultTagUserApi implements TagUserApi {
}
@Override
- public List<Tag> getTagsForObject(final UUID objectId, final ObjectType objectType, final TenantContext context) {
- return withModelTransform(tagDao.getTagsForObject(objectId, objectType, internalCallContextFactory.createInternalTenantContext(context)));
+ public List<Tag> getTagsForObject(final UUID objectId, final ObjectType objectType, final boolean includedDeleted, final TenantContext context) {
+ return withModelTransform(tagDao.getTagsForObject(objectId, objectType, includedDeleted, internalCallContextFactory.createInternalTenantContext(context)));
}
@Override
- public List<Tag> getTagsForAccountType(final UUID accountId, final ObjectType objectType, final TenantContext context) {
- return withModelTransform(tagDao.getTagsForAccountType(accountId, objectType, internalCallContextFactory.createInternalTenantContext(accountId, context)));
+ public List<Tag> getTagsForAccountType(final UUID accountId, final ObjectType objectType, final boolean includedDeleted, final TenantContext context) {
+ return withModelTransform(tagDao.getTagsForAccountType(accountId, objectType, includedDeleted, internalCallContextFactory.createInternalTenantContext(accountId, context)));
}
@Override
- public List<Tag> getTagsForAccount(final UUID accountId, final TenantContext context) {
- return withModelTransform(tagDao.getTagsForAccount(internalCallContextFactory.createInternalTenantContext(accountId, context)));
+ public List<Tag> getTagsForAccount(final UUID accountId, final boolean includedDeleted, final TenantContext context) {
+ return withModelTransform(tagDao.getTagsForAccount(includedDeleted, internalCallContextFactory.createInternalTenantContext(accountId, context)));
}
private List<Tag> withModelTransform(final List<TagModelDao> input) {
diff --git a/util/src/main/java/com/ning/billing/util/tag/dao/DefaultTagDao.java b/util/src/main/java/com/ning/billing/util/tag/dao/DefaultTagDao.java
index 888638b..d1307ec 100644
--- a/util/src/main/java/com/ning/billing/util/tag/dao/DefaultTagDao.java
+++ b/util/src/main/java/com/ning/billing/util/tag/dao/DefaultTagDao.java
@@ -19,8 +19,6 @@ package com.ning.billing.util.tag.dao;
import java.util.List;
import java.util.UUID;
-import javax.annotation.Nullable;
-
import org.skife.jdbi.v2.IDBI;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -29,19 +27,19 @@ import com.ning.billing.BillingExceptionBase;
import com.ning.billing.ErrorCode;
import com.ning.billing.ObjectType;
import com.ning.billing.bus.api.PersistentBus;
-import com.ning.billing.util.api.TagApiException;
-import com.ning.billing.util.audit.ChangeType;
-import com.ning.billing.util.cache.CacheControllerDispatcher;
import com.ning.billing.callcontext.InternalCallContext;
import com.ning.billing.callcontext.InternalTenantContext;
import com.ning.billing.clock.Clock;
+import com.ning.billing.events.TagInternalEvent;
+import com.ning.billing.util.api.TagApiException;
+import com.ning.billing.util.audit.ChangeType;
+import com.ning.billing.util.cache.CacheControllerDispatcher;
import com.ning.billing.util.dao.NonEntityDao;
import com.ning.billing.util.entity.dao.EntityDaoBase;
import com.ning.billing.util.entity.dao.EntitySqlDao;
import com.ning.billing.util.entity.dao.EntitySqlDaoTransactionWrapper;
import com.ning.billing.util.entity.dao.EntitySqlDaoTransactionalJdbiWrapper;
import com.ning.billing.util.entity.dao.EntitySqlDaoWrapperFactory;
-import com.ning.billing.events.TagInternalEvent;
import com.ning.billing.util.tag.ControlTagType;
import com.ning.billing.util.tag.Tag;
import com.ning.billing.util.tag.api.user.TagEventBuilder;
@@ -68,33 +66,42 @@ public class DefaultTagDao extends EntityDaoBase<TagModelDao, Tag, TagApiExcepti
}
@Override
- public List<TagModelDao> getTagsForObject(final UUID objectId, final ObjectType objectType, final InternalTenantContext internalTenantContext) {
+ public List<TagModelDao> getTagsForObject(final UUID objectId, final ObjectType objectType, final boolean includedDeleted, final InternalTenantContext internalTenantContext) {
return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<List<TagModelDao>>() {
@Override
public List<TagModelDao> inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
- return entitySqlDaoWrapperFactory.become(TagSqlDao.class).getTagsForObject(objectId, objectType, internalTenantContext);
+ final TagSqlDao tagSqlDao = entitySqlDaoWrapperFactory.become(TagSqlDao.class);
+ if (includedDeleted) {
+ return tagSqlDao.getTagsForObjectIncludedDeleted(objectId, objectType, internalTenantContext);
+ } else {
+ return tagSqlDao.getTagsForObject(objectId, objectType, internalTenantContext);
+ }
}
});
}
@Override
- public List<TagModelDao> getTagsForAccountType(final UUID accountId, final ObjectType objectType, final InternalTenantContext internalTenantContext) {
-
- final List<TagModelDao> allTags = getTagsForAccount(internalTenantContext);
+ public List<TagModelDao> getTagsForAccountType(final UUID accountId, final ObjectType objectType, final boolean includedDeleted, final InternalTenantContext internalTenantContext) {
+ final List<TagModelDao> allTags = getTagsForAccount(includedDeleted, internalTenantContext);
return ImmutableList.<TagModelDao>copyOf(Collections2.filter(allTags, new Predicate<TagModelDao>() {
@Override
- public boolean apply(@Nullable final TagModelDao input) {
+ public boolean apply(final TagModelDao input) {
return input.getObjectType() == objectType;
}
}));
}
@Override
- public List<TagModelDao> getTagsForAccount(final InternalTenantContext internalTenantContext) {
+ public List<TagModelDao> getTagsForAccount(final boolean includedDeleted, final InternalTenantContext internalTenantContext) {
return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<List<TagModelDao>>() {
@Override
public List<TagModelDao> inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
- return entitySqlDaoWrapperFactory.become(TagSqlDao.class).getByAccountRecordId(internalTenantContext);
+ final TagSqlDao tagSqlDao = entitySqlDaoWrapperFactory.become(TagSqlDao.class);
+ if (includedDeleted) {
+ return tagSqlDao.getByAccountRecordIdIncludedDeleted(internalTenantContext);
+ } else {
+ return tagSqlDao.getByAccountRecordId(internalTenantContext);
+ }
}
});
}
@@ -110,7 +117,7 @@ public class DefaultTagDao extends EntityDaoBase<TagModelDao, Tag, TagApiExcepti
switch (changeType) {
case INSERT:
tagEvent = (isControlTag) ?
- tagEventBuilder.newControlTagCreationEvent(tag.getId(), tag.getObjectId(), tag.getObjectType(),tagDefinition,
+ tagEventBuilder.newControlTagCreationEvent(tag.getId(), tag.getObjectId(), tag.getObjectType(), tagDefinition,
context.getAccountRecordId(), context.getTenantRecordId(), context.getUserToken()) :
tagEventBuilder.newUserTagCreationEvent(tag.getId(), tag.getObjectId(), tag.getObjectType(), tagDefinition,
context.getAccountRecordId(), context.getTenantRecordId(), context.getUserToken());
diff --git a/util/src/main/java/com/ning/billing/util/tag/dao/TagDao.java b/util/src/main/java/com/ning/billing/util/tag/dao/TagDao.java
index 152115a..0077072 100644
--- a/util/src/main/java/com/ning/billing/util/tag/dao/TagDao.java
+++ b/util/src/main/java/com/ning/billing/util/tag/dao/TagDao.java
@@ -20,9 +20,9 @@ import java.util.List;
import java.util.UUID;
import com.ning.billing.ObjectType;
-import com.ning.billing.util.api.TagApiException;
import com.ning.billing.callcontext.InternalCallContext;
import com.ning.billing.callcontext.InternalTenantContext;
+import com.ning.billing.util.api.TagApiException;
public interface TagDao {
@@ -32,9 +32,9 @@ public interface TagDao {
TagModelDao getById(UUID tagId, InternalTenantContext context);
- List<TagModelDao> getTagsForObject(UUID objectId, ObjectType objectType, InternalTenantContext internalTenantContext);
+ List<TagModelDao> getTagsForObject(UUID objectId, ObjectType objectType, boolean includedDeleted, InternalTenantContext internalTenantContext);
- List<TagModelDao> getTagsForAccountType(UUID accountId, ObjectType objectType, InternalTenantContext internalTenantContext);
+ List<TagModelDao> getTagsForAccountType(UUID accountId, ObjectType objectType, boolean includedDeleted, InternalTenantContext internalTenantContext);
- List<TagModelDao> getTagsForAccount(InternalTenantContext internalTenantContext);
+ List<TagModelDao> getTagsForAccount(boolean includedDeleted, InternalTenantContext internalTenantContext);
}
diff --git a/util/src/main/java/com/ning/billing/util/tag/dao/TagSqlDao.java b/util/src/main/java/com/ning/billing/util/tag/dao/TagSqlDao.java
index 720f474..26caab0 100644
--- a/util/src/main/java/com/ning/billing/util/tag/dao/TagSqlDao.java
+++ b/util/src/main/java/com/ning/billing/util/tag/dao/TagSqlDao.java
@@ -25,9 +25,9 @@ import org.skife.jdbi.v2.sqlobject.SqlQuery;
import org.skife.jdbi.v2.sqlobject.SqlUpdate;
import com.ning.billing.ObjectType;
-import com.ning.billing.util.audit.ChangeType;
import com.ning.billing.callcontext.InternalCallContext;
import com.ning.billing.callcontext.InternalTenantContext;
+import com.ning.billing.util.audit.ChangeType;
import com.ning.billing.util.entity.dao.Audited;
import com.ning.billing.util.entity.dao.EntitySqlDao;
import com.ning.billing.util.entity.dao.EntitySqlDaoStringTemplate;
@@ -45,4 +45,9 @@ public interface TagSqlDao extends EntitySqlDao<TagModelDao, Tag> {
List<TagModelDao> getTagsForObject(@Bind("objectId") UUID objectId,
@Bind("objectType") ObjectType objectType,
@BindBean InternalTenantContext internalTenantContext);
+
+ @SqlQuery
+ List<TagModelDao> getTagsForObjectIncludedDeleted(@Bind("objectId") UUID objectId,
+ @Bind("objectType") ObjectType objectType,
+ @BindBean InternalTenantContext internalTenantContext);
}
diff --git a/util/src/main/java/com/ning/billing/util/tag/DefaultTagInternalApi.java b/util/src/main/java/com/ning/billing/util/tag/DefaultTagInternalApi.java
index c766478..880fb82 100644
--- a/util/src/main/java/com/ning/billing/util/tag/DefaultTagInternalApi.java
+++ b/util/src/main/java/com/ning/billing/util/tag/DefaultTagInternalApi.java
@@ -61,7 +61,7 @@ public class DefaultTagInternalApi implements TagInternalApi {
@Override
public List<Tag> getTags(final UUID objectId, final ObjectType objectType, final InternalTenantContext context) {
- return ImmutableList.<Tag>copyOf(Collections2.transform(tagDao.getTagsForObject(objectId, objectType, context),
+ return ImmutableList.<Tag>copyOf(Collections2.transform(tagDao.getTagsForObject(objectId, objectType, false, context),
new Function<TagModelDao, Tag>() {
@Override
public Tag apply(final TagModelDao input) {
diff --git a/util/src/main/resources/com/ning/billing/util/entity/dao/EntitySqlDao.sql.stg b/util/src/main/resources/com/ning/billing/util/entity/dao/EntitySqlDao.sql.stg
index 64a66fd..b89eb6d 100644
--- a/util/src/main/resources/com/ning/billing/util/entity/dao/EntitySqlDao.sql.stg
+++ b/util/src/main/resources/com/ning/billing/util/entity/dao/EntitySqlDao.sql.stg
@@ -203,6 +203,15 @@ where <accountRecordIdField("t.")> \<=\> :accountRecordId
;
>>
+getByAccountRecordIdIncludedDeleted(accountRecordId) ::= <<
+select
+<allTableFields("t.")>
+from <tableName()> t
+where <accountRecordIdField("t.")> \<=\> :accountRecordId
+<AND_CHECK_TENANT("t.")>
+<defaultOrderBy("t.")>
+;
+>>
getHistoryTargetRecordId(recordId) ::= <<
select
diff --git a/util/src/main/resources/com/ning/billing/util/tag/dao/TagSqlDao.sql.stg b/util/src/main/resources/com/ning/billing/util/tag/dao/TagSqlDao.sql.stg
index 4d709a9..ae38127 100644
--- a/util/src/main/resources/com/ning/billing/util/tag/dao/TagSqlDao.sql.stg
+++ b/util/src/main/resources/com/ning/billing/util/tag/dao/TagSqlDao.sql.stg
@@ -46,3 +46,14 @@ and t.object_type = :objectType
<AND_CHECK_TENANT("t.")>
;
>>
+
+getTagsForObjectIncludedDeleted() ::= <<
+select
+ <allTableFields("t.")>
+from <tableName()> t
+where 1 = 1
+and t.object_id = :objectId
+and t.object_type = :objectType
+<AND_CHECK_TENANT("t.")>
+;
+>>
diff --git a/util/src/test/java/com/ning/billing/util/audit/dao/TestDefaultAuditDao.java b/util/src/test/java/com/ning/billing/util/audit/dao/TestDefaultAuditDao.java
index b249338..3374bfd 100644
--- a/util/src/test/java/com/ning/billing/util/audit/dao/TestDefaultAuditDao.java
+++ b/util/src/test/java/com/ning/billing/util/audit/dao/TestDefaultAuditDao.java
@@ -102,7 +102,7 @@ public class TestDefaultAuditDao extends UtilTestSuiteWithEmbeddedDB {
tagDao.create(new TagModelDao(theTag), internalCallContext);
assertListenerStatus();
- final List<TagModelDao> tags = tagDao.getTagsForObject(objectId, ObjectType.ACCOUNT, internalCallContext);
+ final List<TagModelDao> tags = tagDao.getTagsForObject(objectId, ObjectType.ACCOUNT, false, internalCallContext);
Assert.assertEquals(tags.size(), 1);
tag = tags.get(0);
Assert.assertEquals(tag.getTagDefinitionId(), tagDefinition.getId());
diff --git a/util/src/test/java/com/ning/billing/util/tag/dao/MockTagDao.java b/util/src/test/java/com/ning/billing/util/tag/dao/MockTagDao.java
index 5653a7f..890febb 100644
--- a/util/src/test/java/com/ning/billing/util/tag/dao/MockTagDao.java
+++ b/util/src/test/java/com/ning/billing/util/tag/dao/MockTagDao.java
@@ -24,9 +24,9 @@ import java.util.Map;
import java.util.UUID;
import com.ning.billing.ObjectType;
-import com.ning.billing.util.api.TagApiException;
import com.ning.billing.callcontext.InternalCallContext;
import com.ning.billing.callcontext.InternalTenantContext;
+import com.ning.billing.util.api.TagApiException;
import com.google.common.base.Predicate;
import com.google.common.collect.Collections2;
@@ -65,7 +65,7 @@ public class MockTagDao implements TagDao {
}
@Override
- public List<TagModelDao> getTagsForObject(final UUID objectId, final ObjectType objectType, final InternalTenantContext internalTenantContext) {
+ public List<TagModelDao> getTagsForObject(final UUID objectId, final ObjectType objectType, final boolean includedDeleted, final InternalTenantContext internalTenantContext) {
if (tagStore.get(objectId) == null) {
return ImmutableList.<TagModelDao>of();
}
@@ -79,12 +79,12 @@ public class MockTagDao implements TagDao {
}
@Override
- public List<TagModelDao> getTagsForAccountType(final UUID accountId, final ObjectType objectType, final InternalTenantContext internalTenantContext) {
+ public List<TagModelDao> getTagsForAccountType(final UUID accountId, final ObjectType objectType, final boolean includedDeleted, final InternalTenantContext internalTenantContext) {
throw new UnsupportedOperationException();
}
@Override
- public List<TagModelDao> getTagsForAccount(final InternalTenantContext internalTenantContext) {
+ public List<TagModelDao> getTagsForAccount(final boolean includedDeleted, final InternalTenantContext internalTenantContext) {
throw new UnsupportedOperationException();
}
diff --git a/util/src/test/java/com/ning/billing/util/tag/dao/TestDefaultTagDao.java b/util/src/test/java/com/ning/billing/util/tag/dao/TestDefaultTagDao.java
index ab76d25..34211b4 100644
--- a/util/src/test/java/com/ning/billing/util/tag/dao/TestDefaultTagDao.java
+++ b/util/src/test/java/com/ning/billing/util/tag/dao/TestDefaultTagDao.java
@@ -135,10 +135,10 @@ public class TestDefaultTagDao extends UtilTestSuiteWithEmbeddedDB {
assertListenerStatus();
// Make sure we can retrieve it via the DAO
- final List<TagModelDao> foundTags = tagDao.getTagsForObject(objectId, objectType, internalCallContext);
+ final List<TagModelDao> foundTags = tagDao.getTagsForObject(objectId, objectType, false, internalCallContext);
Assert.assertEquals(foundTags.size(), 1);
Assert.assertEquals(foundTags.get(0).getTagDefinitionId(), createdTagDefinition.getId());
- final List<TagModelDao> foundTagsForAccount = tagDao.getTagsForAccount(internalCallContext);
+ final List<TagModelDao> foundTagsForAccount = tagDao.getTagsForAccount(false, internalCallContext);
Assert.assertEquals(foundTagsForAccount.size(), 1);
Assert.assertEquals(foundTagsForAccount.get(0).getTagDefinitionId(), createdTagDefinition.getId());
@@ -148,7 +148,9 @@ public class TestDefaultTagDao extends UtilTestSuiteWithEmbeddedDB {
assertListenerStatus();
// Make sure the tag is deleted
- Assert.assertEquals(tagDao.getTagsForObject(objectId, objectType, internalCallContext).size(), 0);
- Assert.assertEquals(tagDao.getTagsForAccount(internalCallContext).size(), 0);
+ Assert.assertEquals(tagDao.getTagsForObject(objectId, objectType, false, internalCallContext).size(), 0);
+ Assert.assertEquals(tagDao.getTagsForAccount(false, internalCallContext).size(), 0);
+ Assert.assertEquals(tagDao.getTagsForObject(objectId, objectType, true, internalCallContext).size(), 1);
+ Assert.assertEquals(tagDao.getTagsForAccount(true, internalCallContext).size(), 1);
}
}