Details
diff --git a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestCatalogRetireElements.java b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestCatalogRetireElements.java
index e312a33..6d98f81 100644
--- a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestCatalogRetireElements.java
+++ b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestCatalogRetireElements.java
@@ -45,7 +45,7 @@ public class TestCatalogRetireElements extends TestIntegrationBase {
@Override
protected KillbillConfigSource getConfigSource() {
- return super.getConfigSource("/beatrixVersionedCatalog.properties");
+ return super.getConfigSource("/beatrixCatalogRetireElements.properties");
}
@Test(groups = "slow")
diff --git a/catalog/src/main/java/org/killbill/billing/catalog/io/VersionedCatalogLoader.java b/catalog/src/main/java/org/killbill/billing/catalog/io/VersionedCatalogLoader.java
index 7bf1326..a665d7d 100644
--- a/catalog/src/main/java/org/killbill/billing/catalog/io/VersionedCatalogLoader.java
+++ b/catalog/src/main/java/org/killbill/billing/catalog/io/VersionedCatalogLoader.java
@@ -20,6 +20,7 @@ package org.killbill.billing.catalog.io;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
+import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
@@ -37,6 +38,7 @@ import org.killbill.clock.Clock;
import org.killbill.xmlloader.UriAccessor;
import org.killbill.xmlloader.XMLLoader;
+import com.google.common.io.Resources;
import com.google.inject.Inject;
public class VersionedCatalogLoader implements CatalogLoader {
@@ -63,8 +65,9 @@ public class VersionedCatalogLoader implements CatalogLoader {
xmlURIs = new ArrayList<URI>();
xmlURIs.add(new URI(uriString));
} else { // Assume its a directory
+ final URL url = getURLFromString(uriString);
final String directoryContents = UriAccessor.accessUriAsString(uriString);
- xmlURIs = findXmlReferences(directoryContents, new URL(uriString));
+ xmlURIs = findXmlReferences(directoryContents, url);
}
final VersionedCatalog result = new VersionedCatalog(clock);
@@ -78,6 +81,16 @@ public class VersionedCatalogLoader implements CatalogLoader {
}
}
+ private URL getURLFromString(final String urlString) {
+ try {
+ // If the string provided is already a URL (with correct scheme, ...) return the URL object
+ return new URL(urlString);
+ } catch (final MalformedURLException ignore) {
+ }
+ // If not, this must be something on the classpath
+ return Resources.getResource(urlString);
+ }
+
public VersionedCatalog load(final Iterable<String> catalogXMLs, final Long tenantRecordId) throws CatalogApiException {
final VersionedCatalog result = new VersionedCatalog(clock);
final URI uri;
diff --git a/catalog/src/main/java/org/killbill/billing/catalog/VersionedCatalog.java b/catalog/src/main/java/org/killbill/billing/catalog/VersionedCatalog.java
index b4a222a..02b746d 100644
--- a/catalog/src/main/java/org/killbill/billing/catalog/VersionedCatalog.java
+++ b/catalog/src/main/java/org/killbill/billing/catalog/VersionedCatalog.java
@@ -23,8 +23,10 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
+import java.util.Set;
import javax.annotation.Nullable;
import javax.xml.bind.annotation.XmlAccessType;
diff --git a/catalog/src/test/java/org/killbill/billing/catalog/MockCatalog.java b/catalog/src/test/java/org/killbill/billing/catalog/MockCatalog.java
index f4a20e3..2bea796 100644
--- a/catalog/src/test/java/org/killbill/billing/catalog/MockCatalog.java
+++ b/catalog/src/test/java/org/killbill/billing/catalog/MockCatalog.java
@@ -17,6 +17,7 @@
package org.killbill.billing.catalog;
import java.util.Date;
+import java.util.Set;
import org.joda.time.DateTime;
diff --git a/catalog/src/test/java/org/killbill/billing/catalog/TestCatalogService.java b/catalog/src/test/java/org/killbill/billing/catalog/TestCatalogService.java
index 08a434b..a79bb8e 100644
--- a/catalog/src/test/java/org/killbill/billing/catalog/TestCatalogService.java
+++ b/catalog/src/test/java/org/killbill/billing/catalog/TestCatalogService.java
@@ -33,7 +33,7 @@ public class TestCatalogService extends CatalogTestSuiteNoDB {
final DefaultCatalogService service = new DefaultCatalogService(new CatalogConfig() {
@Override
public String getCatalogURI() {
- return "file:src/test/resources/versionedCatalog";
+ return "versionedCatalog";
}
}, tenantInternalApi, catalogCache, cacheInvalidationCallback);
@@ -47,7 +47,7 @@ public class TestCatalogService extends CatalogTestSuiteNoDB {
final DefaultCatalogService service = new DefaultCatalogService(new CatalogConfig() {
@Override
public String getCatalogURI() {
- return "file:src/test/resources/WeaponsHire.xml";
+ return "WeaponsHire.xml";
}
}, tenantInternalApi, catalogCache, cacheInvalidationCallback);
diff --git a/catalog/src/test/java/org/killbill/billing/catalog/TestVersionedCatalog.java b/catalog/src/test/java/org/killbill/billing/catalog/TestVersionedCatalog.java
index 12d60f5..5aa65bd 100644
--- a/catalog/src/test/java/org/killbill/billing/catalog/TestVersionedCatalog.java
+++ b/catalog/src/test/java/org/killbill/billing/catalog/TestVersionedCatalog.java
@@ -47,7 +47,7 @@ public class TestVersionedCatalog extends CatalogTestSuiteNoDB {
@BeforeClass(groups = "fast")
public void beforeClass() throws Exception {
super.beforeClass();
- vc = loader.loadDefaultCatalog(Resources.getResource("versionedCatalog").toString());
+ vc = loader.loadDefaultCatalog("versionedCatalog");
}
@Test(groups = "fast")