killbill-uncached

Details

diff --git a/catalog/src/main/java/com/ning/billing/catalog/CatalogService.java b/catalog/src/main/java/com/ning/billing/catalog/CatalogService.java
index f1d01c8..b511c24 100644
--- a/catalog/src/main/java/com/ning/billing/catalog/CatalogService.java
+++ b/catalog/src/main/java/com/ning/billing/catalog/CatalogService.java
@@ -20,6 +20,7 @@ import com.google.inject.Inject;
 import com.google.inject.Provider;
 import com.ning.billing.catalog.api.ICatalog;
 import com.ning.billing.catalog.api.ICatalogService;
+import com.ning.billing.catalog.io.VersionedCatalogLoader;
 import com.ning.billing.config.ICatalogConfig;
 import com.ning.billing.lifecycle.IService;
 import com.ning.billing.lifecycle.LyfecycleHandlerType;
@@ -35,19 +36,24 @@ public class CatalogService implements IService, Provider<ICatalog>, ICatalogSer
     private final ICatalogConfig config;
     private boolean isInitialized;
 
+	private VersionedCatalogLoader loader;
+
 
     @Inject
-    public CatalogService(ICatalogConfig config) {
+    public CatalogService(ICatalogConfig config, VersionedCatalogLoader loader) {
         this.config = config;
         System.out.println(config.getCatalogURI());
         this.isInitialized = false;
+        this.loader = loader;
     }
 
     @LyfecycleHandlerType(LyfecycleLevel.LOAD_CATALOG)
     public synchronized void loadCatalog() throws ServiceException {
         if (!isInitialized) {
             try {
-                catalog = XMLLoader.getObjectFromProperty(config.getCatalogURI(), Catalog.class);
+            	catalog = loader.load(config.getCatalogURI());
+            	
+                //catalog = XMLLoader.getObjectFromProperty(config.getCatalogURI(), Catalog.class);
                 isInitialized = true;
             } catch (Exception e) {
                 throw new ServiceException(e);
diff --git a/catalog/src/main/java/com/ning/billing/catalog/io/VersionedCatalogLoader.java b/catalog/src/main/java/com/ning/billing/catalog/io/VersionedCatalogLoader.java
index 9bc2314..59796be 100644
--- a/catalog/src/main/java/com/ning/billing/catalog/io/VersionedCatalogLoader.java
+++ b/catalog/src/main/java/com/ning/billing/catalog/io/VersionedCatalogLoader.java
@@ -34,6 +34,7 @@ import org.xml.sax.SAXException;
 import com.ning.billing.catalog.Catalog;
 import com.ning.billing.catalog.VersionedCatalog;
 import com.ning.billing.catalog.api.InvalidConfigException;
+import com.ning.billing.lifecycle.IService.ServiceException;
 import com.ning.billing.util.config.XMLLoader;
 
 public class VersionedCatalogLoader  {
@@ -42,9 +43,15 @@ public class VersionedCatalogLoader  {
 	private  final String HREF_CAPS_START = "HREF=\""; 
 	private  final String HREF_SEARCH_END = "\"";
 			
-	/* (non-Javadoc)
-	 * @see com.ning.billing.catalog.io.ICatalogLoader#load(java.net.URL)
-	 */
+	
+	public  VersionedCatalog load(String urlString) throws ServiceException{
+		try {
+			return load(new URL(urlString));
+		} catch (Exception e) {
+			throw new ServiceException("Problem encountered loading catalog", e);
+		}
+	}
+
 	public  VersionedCatalog load(URL url) throws IOException, SAXException, InvalidConfigException, JAXBException, TransformerException, URISyntaxException {
 		String directoryContents = pullContentsFrom(url);
 		List<URL> xmlURLs = findXmlReferences(directoryContents, url);