killbill-memoizeit

Add missing implementation for DefaultOverdueApi and fix

12/19/2014 4:07:06 PM

Details

diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/OverdueResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/OverdueResource.java
index d850fd2..3b675fe 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/OverdueResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/OverdueResource.java
@@ -92,7 +92,7 @@ public class OverdueResource extends JaxRsResourceBase {
     @ApiResponses(value = {})
     public Response getOverdueConfigXml(@javax.ws.rs.core.Context final HttpServletRequest request) throws Exception {
         final TenantContext tenantContext = context.createContext(request);
-        return Response.status(Status.OK).entity(XMLWriter.writeXML(overdueApi.getOverdueConfig(tenantContext), OverdueConfig.class)).build();
+        return Response.status(Status.OK).entity(XMLWriter.writeXML((DefaultOverdueConfig )overdueApi.getOverdueConfig(tenantContext), DefaultOverdueConfig.class)).build();
     }
 
     @Timed
diff --git a/overdue/src/main/java/org/killbill/billing/overdue/api/DefaultOverdueApi.java b/overdue/src/main/java/org/killbill/billing/overdue/api/DefaultOverdueApi.java
index c50e83a..59d5c2b 100644
--- a/overdue/src/main/java/org/killbill/billing/overdue/api/DefaultOverdueApi.java
+++ b/overdue/src/main/java/org/killbill/billing/overdue/api/DefaultOverdueApi.java
@@ -17,13 +17,29 @@
 
 package org.killbill.billing.overdue.api;
 
+import javax.inject.Inject;
+
+import org.killbill.billing.callcontext.InternalTenantContext;
 import org.killbill.billing.catalog.api.CatalogApiException;
+import org.killbill.billing.overdue.caching.OverdueConfigCache;
+import org.killbill.billing.util.callcontext.InternalCallContextFactory;
 import org.killbill.billing.util.callcontext.TenantContext;
 
 public class DefaultOverdueApi implements OverdueApi {
 
+    private final OverdueConfigCache overdueConfigCache;
+    private final InternalCallContextFactory internalCallContextFactory;
+
+    @Inject
+    public DefaultOverdueApi(final OverdueConfigCache overdueConfigCache,
+                             final InternalCallContextFactory internalCallContextFactory) {
+        this.overdueConfigCache = overdueConfigCache;
+        this.internalCallContextFactory = internalCallContextFactory;
+    }
+
     @Override
-    public OverdueConfig getOverdueConfig(final TenantContext tenantContext) throws CatalogApiException {
-        return null;
+    public OverdueConfig getOverdueConfig(final TenantContext tenantContext) throws OverdueApiException {
+        final InternalTenantContext internalTenantContext = internalCallContextFactory.createInternalTenantContext(tenantContext);
+        return overdueConfigCache.getOverdueConfig(internalTenantContext);
     }
 }