diff --git a/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java b/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java index 4c275c15..b9439a45 100644 --- a/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java +++ b/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java @@ -722,7 +722,7 @@ public class DefaultRepositoryCacheManager implements RepositoryCacheManager, Iv if (ivyFile.exists()) { // found in cache ! try { - XmlModuleDescriptorParser parser = XmlModuleDescriptorParser.getInstance(); + ModuleDescriptorParser parser = getModuleDescriptorParser(); ModuleDescriptor depMD = getMdFromCache(parser, options, ivyFile); String resolverName = getSavedResolverName(depMD); String artResolverName = getSavedArtResolverName(depMD); @@ -790,6 +790,10 @@ public class DefaultRepositoryCacheManager implements RepositoryCacheManager, Iv return null; } + protected ModuleDescriptorParser getModuleDescriptorParser() { + return XmlModuleDescriptorParser.getInstance(); + } + private class MyModuleDescriptorProvider implements ModuleDescriptorProvider { private final ModuleDescriptorParser mdParser; @@ -807,7 +811,7 @@ public class DefaultRepositoryCacheManager implements RepositoryCacheManager, Iv } } - private ModuleDescriptor getMdFromCache(XmlModuleDescriptorParser mdParser, + private ModuleDescriptor getMdFromCache(ModuleDescriptorParser mdParser, CacheMetadataOptions options, File ivyFile) throws ParseException, IOException { ModuleDescriptorMemoryCache cache = getMemoryCache(); ModuleDescriptorProvider mdProvider = new MyModuleDescriptorProvider(mdParser, settings); diff --git a/src/java/org/apache/ivy/core/cache/DefaultResolutionCacheManager.java b/src/java/org/apache/ivy/core/cache/DefaultResolutionCacheManager.java index 620ee334..5ad338c7 100644 --- a/src/java/org/apache/ivy/core/cache/DefaultResolutionCacheManager.java +++ b/src/java/org/apache/ivy/core/cache/DefaultResolutionCacheManager.java @@ -40,6 +40,7 @@ import org.apache.ivy.plugins.IvySettingsAware; import org.apache.ivy.plugins.conflict.ConflictManager; import org.apache.ivy.plugins.matcher.PatternMatcher; import org.apache.ivy.plugins.namespace.Namespace; +import org.apache.ivy.plugins.parser.ModuleDescriptorParser; import org.apache.ivy.plugins.parser.ParserSettings; import org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser; import org.apache.ivy.plugins.resolver.DependencyResolver; @@ -154,8 +155,11 @@ public class DefaultResolutionCacheManager implements ResolutionCacheManager, Iv ParserSettings pSettings = new CacheParserSettings(settings, paths); URL ivyFileURL = ivyFile.toURI().toURL(); - return XmlModuleDescriptorParser.getInstance() - .parseDescriptor(pSettings, ivyFileURL, false); + return getModuleDescriptorParser().parseDescriptor(pSettings, ivyFileURL, false); + } + + protected ModuleDescriptorParser getModuleDescriptorParser() { + return XmlModuleDescriptorParser.getInstance(); } public void saveResolvedModuleDescriptor(ModuleDescriptor md) throws ParseException,