You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by xa...@apache.org on 2007/12/28 17:11:29 UTC

svn commit: r607278 [2/2] - in /ant/ivy/core/trunk: ./ src/java/org/apache/ivy/ src/java/org/apache/ivy/core/ src/java/org/apache/ivy/core/cache/ src/java/org/apache/ivy/core/check/ src/java/org/apache/ivy/core/deliver/ src/java/org/apache/ivy/core/ins...

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/publish/PublishEngineSettings.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/publish/PublishEngineSettings.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/publish/PublishEngineSettings.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/publish/PublishEngineSettings.java Fri Dec 28 08:11:26 2007
@@ -17,13 +17,13 @@
  */
 package org.apache.ivy.core.publish;
 
-import org.apache.ivy.core.cache.CacheSettings;
+import org.apache.ivy.plugins.parser.ParserSettings;
 import org.apache.ivy.plugins.resolver.DependencyResolver;
 
 /** 
  * Settings specific to the publish engine
  */
-public interface PublishEngineSettings extends CacheSettings {
+public interface PublishEngineSettings extends ParserSettings {
 
     String substitute(String srcIvyPattern);
 

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/repository/RepositoryManagementEngine.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/repository/RepositoryManagementEngine.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/repository/RepositoryManagementEngine.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/repository/RepositoryManagementEngine.java Fri Dec 28 08:11:26 2007
@@ -26,7 +26,6 @@
 import java.util.Map;
 import java.util.TreeSet;
 
-import org.apache.ivy.core.cache.CacheManager;
 import org.apache.ivy.core.module.descriptor.DefaultDependencyDescriptor;
 import org.apache.ivy.core.module.descriptor.DependencyDescriptor;
 import org.apache.ivy.core.module.descriptor.ModuleDescriptor;
@@ -40,8 +39,8 @@
 import org.apache.ivy.plugins.matcher.PatternMatcher;
 import org.apache.ivy.plugins.matcher.RegexpPatternMatcher;
 import org.apache.ivy.plugins.version.VersionMatcher;
-import org.apache.ivy.util.Message;
 import org.apache.ivy.util.MemoryUtil;
+import org.apache.ivy.util.Message;
 
 /**
  * The repository management can be used to load all metadata from a repository, analyze them, and
@@ -113,7 +112,6 @@
     ///////////////////////////////////////////
     private SearchEngine searchEngine;
     private ResolveEngine resolveEngine;
-    private CacheManager cacheManager;
     private RepositoryManagementEngineSettings settings;
     
 
@@ -122,9 +120,6 @@
         this.settings = settings;
         this.searchEngine = searchEngine;
         this.resolveEngine = resolveEngine;
-        // TODO: use a cache configured to avoid actual caching, 
-        // when IVY-399 will be better implemented
-        this.cacheManager = CacheManager.getInstance(settings);
     }
 
     /**

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngineSettings.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngineSettings.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngineSettings.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngineSettings.java Fri Dec 28 08:11:26 2007
@@ -19,9 +19,9 @@
 
 import java.util.Map;
 
-import org.apache.ivy.core.cache.CacheSettings;
+import org.apache.ivy.plugins.parser.ParserSettings;
 
-public interface RetrieveEngineSettings extends CacheSettings {
+public interface RetrieveEngineSettings extends ParserSettings {
 
     boolean isCheckUpToDate();
 

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java Fri Dec 28 08:11:26 2007
@@ -40,8 +40,8 @@
 import org.apache.ivy.core.IvyPatternHelper;
 import org.apache.ivy.core.NormalRelativeUrlResolver;
 import org.apache.ivy.core.RelativeUrlResolver;
-import org.apache.ivy.core.cache.CacheManager;
-import org.apache.ivy.core.cache.CacheSettings;
+import org.apache.ivy.core.cache.DefaultRepositoryCacheManager;
+import org.apache.ivy.core.cache.DefaultResolutionCacheManager;
 import org.apache.ivy.core.cache.RepositoryCacheManager;
 import org.apache.ivy.core.cache.ResolutionCacheManager;
 import org.apache.ivy.core.check.CheckEngineSettings;
@@ -99,24 +99,9 @@
 import org.apache.ivy.util.url.URLHandlerRegistry;
 
 public class IvySettings implements SortEngineSettings, PublishEngineSettings, ParserSettings,
-        DeliverEngineSettings, CacheSettings, CheckEngineSettings, InstallEngineSettings, 
+        DeliverEngineSettings, CheckEngineSettings, InstallEngineSettings, 
         ResolverSettings, ResolveEngineSettings, RetrieveEngineSettings, 
         RepositoryManagementEngineSettings {
-    private static final String DEFAULT_CACHE_ARTIFACT_PATTERN =
-        "[organisation]/[module]/[type]s/[artifact]-[revision](.[ext])";
-
-    private static final String DEFAULT_CACHE_DATA_FILE_PATTERN = 
-        "[organisation]/[module]/ivydata-[revision].properties";
-
-    private static final String DEFAULT_CACHE_IVY_PATTERN = 
-        "[organisation]/[module]/ivy-[revision].xml";
-
-    private static final String DEFAULT_CACHE_RESOLVED_IVY_PATTERN = 
-        "resolved-[organisation]-[module]-[revision].xml";
-
-    private static final String DEFAULT_CACHE_RESOLVED_IVY_PROPERTIES_PATTERN = 
-        "resolved-[organisation]-[module]-[revision].properties";
-
     private static final long INTERUPT_TIMEOUT = 2000;
 
     private Map typeDefs = new HashMap();
@@ -162,22 +147,14 @@
     // Map (String name -> CircularDependencyStrategy)
     private Map circularDependencyStrategies = new HashMap(); 
 
+    // Map (String name -> RepositoryCacheManager)
+    private Map repositoryCacheManagers = new HashMap(); 
+
     // List (Trigger)
     private List triggers = new ArrayList(); 
 
     private IvyVariableContainer variableContainer = new IvyVariableContainerImpl();
 
-    private String cacheIvyPattern = DEFAULT_CACHE_IVY_PATTERN;
-
-    private String cacheResolvedIvyPattern = DEFAULT_CACHE_RESOLVED_IVY_PATTERN;
-
-    private String cacheResolvedIvyPropertiesPattern = 
-        DEFAULT_CACHE_RESOLVED_IVY_PROPERTIES_PATTERN;
-
-    private String cacheArtifactPattern = DEFAULT_CACHE_ARTIFACT_PATTERN;
-
-    private String cacheDataFilePattern = DEFAULT_CACHE_DATA_FILE_PATTERN;
-
     private boolean validate = true;
 
     private LatestStrategy defaultLatestStrategy = null;
@@ -188,6 +165,10 @@
 
     private CircularDependencyStrategy circularDependencyStrategy = null;
 
+    private RepositoryCacheManager defaultRepositoryCacheManager = null;
+
+    private ResolutionCacheManager resolutionCacheManager = null;
+
     private List listingIgnore = new ArrayList();
 
     private boolean repositoriesConfigured;
@@ -212,6 +193,10 @@
 
     private Boolean dumpMemoryUsage;
 
+    private String defaultCacheIvyPattern;
+
+    private String defaultCacheArtifactPattern;
+
     public IvySettings() {
         this(new IvyVariableContainerImpl());
     }
@@ -507,8 +492,6 @@
         Message.debug("\tcircular dependency strategy: " + getCircularDependencyStrategy());
         Message.debug("\tvalidate: " + doValidate());
         Message.debug("\tcheck up2date: " + isCheckUpToDate());
-        Message.debug("\tcache ivy pattern: " + getCacheIvyPattern());
-        Message.debug("\tcache artifact pattern: " + getCacheArtifactPattern());
 
         if (!classpathURLs.isEmpty()) {
             Message.verbose("\t-- " + classpathURLs.size() + " custom classpath urls:");
@@ -754,29 +737,29 @@
         return defaultCache;
     }
     
-    public void setRepositoryCacheRoot(String repositoryCacheRoot) {
+    public void setDefaultRepositoryCacheBasedir(String repositoryCacheRoot) {
         setVariable("ivy.cache.repository", repositoryCacheRoot, true);
     }
     
-    public void setResolutionCacheRoot(String resolutionCacheRoot) {
+    public void setDefaultResolutionCacheBasedir(String resolutionCacheRoot) {
         setVariable("ivy.cache.resolution", resolutionCacheRoot, true);
     }
     
-    public File getRepositoryCacheRoot(File cache) {
+    public File getDefaultRepositoryCacheBasedir() {
         String repositoryCacheRoot = getVariable("ivy.cache.repository");
         if (repositoryCacheRoot != null) {
-            return new File(cache, repositoryCacheRoot);
+            return new File(repositoryCacheRoot);
         } else {
-            return cache;
+            return getDefaultCache();
         }
     }
 
-    public File getResolutionCacheRoot(File cache) {
+    public File getDefaultResolutionCacheBasedir() {
         String resolutionCacheRoot = getVariable("ivy.cache.resolution");
         if (resolutionCacheRoot != null) {
-            return new File(cache, resolutionCacheRoot);
+            return new File(resolutionCacheRoot);
         } else {
-            return cache;
+            return getDefaultCache();
         }
     }
 
@@ -947,6 +930,24 @@
         matchers.put(m.getName(), m);
     }
 
+    public void addConfigured(RepositoryCacheManager c) {
+        addRepositoryCacheManager(c);
+    }
+
+    public RepositoryCacheManager getRepositoryCacheManager(String name) {
+        return (RepositoryCacheManager) repositoryCacheManagers.get(name);
+    }
+
+    public void addRepositoryCacheManager(RepositoryCacheManager c) {
+        init(c);
+        repositoryCacheManagers.put(c.getName(), c);
+    }
+
+    public RepositoryCacheManager[] getRepositoryCacheManagers() {
+        return (RepositoryCacheManager[]) repositoryCacheManagers.values().toArray(
+            new RepositoryCacheManager[repositoryCacheManagers.size()]);
+    }
+
     public void addConfigured(ReportOutputter outputter) {
         addReportOutputter(outputter);
     }
@@ -1075,35 +1076,7 @@
     public void setCheckUpToDate(boolean checkUpToDate) {
         this.checkUpToDate = checkUpToDate;
     }
-
-    public ResolutionCacheManager getResolutionCacheManager() {
-        return CacheManager.getInstance(this, getDefaultCache());
-    }
     
-    public RepositoryCacheManager getDefaultRepositoryCacheManager() {
-        return CacheManager.getInstance(this, getDefaultCache());
-    }
-
-    public String getCacheArtifactPattern() {
-        return cacheArtifactPattern;
-    }
-
-    public void setCacheArtifactPattern(String cacheArtifactPattern) {
-        this.cacheArtifactPattern = cacheArtifactPattern;
-    }
-
-    public String getCacheIvyPattern() {
-        return cacheIvyPattern;
-    }
-
-    public void setCacheIvyPattern(String cacheIvyPattern) {
-        this.cacheIvyPattern = cacheIvyPattern;
-    }
-
-    public String getCacheDataFilePattern() {
-        return cacheDataFilePattern;
-    }
-
     public boolean doValidate() {
         return validate;
     }
@@ -1149,6 +1122,32 @@
         this.defaultLockStrategy = defaultLockStrategy;
     }
 
+    public RepositoryCacheManager getDefaultRepositoryCacheManager() {
+        if (defaultRepositoryCacheManager == null) {
+            defaultRepositoryCacheManager 
+                = new DefaultRepositoryCacheManager(
+                    "default-cache", this, getDefaultRepositoryCacheBasedir());
+            addRepositoryCacheManager(defaultRepositoryCacheManager);
+        }
+        return defaultRepositoryCacheManager;
+    }
+
+    public void setDefaultRepositoryCacheManager(RepositoryCacheManager cache) {
+        this.defaultRepositoryCacheManager = cache;
+    }
+
+    public ResolutionCacheManager getResolutionCacheManager() {
+        if (resolutionCacheManager == null) {
+            resolutionCacheManager 
+                = new DefaultResolutionCacheManager(getDefaultResolutionCacheBasedir());
+        }
+        return resolutionCacheManager;
+    }
+    
+    public void setResolutionCacheManager(ResolutionCacheManager resolutionCacheManager) {
+        this.resolutionCacheManager = resolutionCacheManager;
+    }
+
     public void addTrigger(Trigger trigger) {
         init(trigger);
         triggers.add(trigger);
@@ -1264,14 +1263,6 @@
         }
     }
 
-    public String getCacheResolvedIvyPattern() {
-        return cacheResolvedIvyPattern;
-    }
-
-    public String getCacheResolvedIvyPropertiesPattern() {
-        return cacheResolvedIvyPropertiesPattern;
-    }
-
     public long getInterruptTimeout() {
         return INTERUPT_TIMEOUT;
     }
@@ -1304,5 +1295,21 @@
     
     public RelativeUrlResolver getRelativeUrlResolver() {
         return new NormalRelativeUrlResolver();
+    }
+
+    public void setDefaultCacheIvyPattern(String defaultCacheIvyPattern) {
+        this.defaultCacheIvyPattern = defaultCacheIvyPattern;
+    }
+    
+    public String getDefaultCacheIvyPattern() {
+        return defaultCacheIvyPattern;
+    }
+
+    public void setDefaultCacheArtifactPattern(String defaultCacheArtifactPattern) {
+        this.defaultCacheArtifactPattern = defaultCacheArtifactPattern;
+    }
+    
+    public String getDefaultCacheArtifactPattern() {
+        return defaultCacheArtifactPattern;
     }
 }

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/XmlSettingsParser.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/XmlSettingsParser.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/XmlSettingsParser.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/XmlSettingsParser.java Fri Dec 28 08:11:26 2007
@@ -30,6 +30,7 @@
 
 import javax.xml.parsers.SAXParserFactory;
 
+import org.apache.ivy.core.cache.RepositoryCacheManager;
 import org.apache.ivy.core.module.id.ModuleId;
 import org.apache.ivy.core.module.status.StatusManager;
 import org.apache.ivy.plugins.circular.CircularDependencyStrategy;
@@ -50,7 +51,8 @@
 
     private List configuratorTags = Arrays.asList(new String[] {"resolvers", "namespaces",
             "parsers", "latest-strategies", "conflict-managers", "outputters", "version-matchers",
-            "statuses", "circular-dependency-strategies", "triggers", "lock-strategies"});
+            "statuses", "circular-dependency-strategies", "triggers", "lock-strategies",
+            "caches"});
 
     private IvySettings ivy;
 
@@ -60,6 +62,8 @@
 
     private String defaultLatest;
 
+    private String defaultCacheManager;
+
     private String defaultCircular;
 
     private String currentConfiguratorTag;
@@ -289,11 +293,11 @@
                 }
                 String cacheIvyPattern = (String) attributes.get("cacheIvyPattern");
                 if (cacheIvyPattern != null) {
-                    ivy.setCacheIvyPattern(ivy.substitute(cacheIvyPattern));
+                    ivy.setDefaultCacheIvyPattern(ivy.substitute(cacheIvyPattern));
                 }
                 String cacheArtPattern = (String) attributes.get("cacheArtifactPattern");
                 if (cacheArtPattern != null) {
-                    ivy.setCacheArtifactPattern(ivy.substitute(cacheArtPattern));
+                    ivy.setDefaultCacheArtifactPattern(ivy.substitute(cacheArtPattern));
                 }
                 String useRemoteConfig = (String) attributes.get("useRemoteConfig");
                 if (useRemoteConfig != null) {
@@ -305,9 +309,10 @@
                 defaultResolver = (String) attributes.get("defaultResolver");
                 defaultCM = (String) attributes.get("defaultConflictManager");
                 defaultLatest = (String) attributes.get("defaultLatestStrategy");
+                defaultCacheManager = (String) attributes.get("defaultCacheManager");
                 defaultCircular = (String) attributes.get("circularDependencyStrategy");
 
-            } else if ("cache".equals(qName)) {
+            } else if ("cacheDefaults".equals(qName)) {
                 String lockingStrategy = (String) attributes.get("lockStrategy");
                 if (lockingStrategy != null) {
                     ivy.setDefaultLockStrategy(
@@ -315,25 +320,25 @@
                 }
                 String cacheIvyPattern = (String) attributes.get("repositoryIvyPattern");
                 if (cacheIvyPattern != null) {
-                    ivy.setCacheIvyPattern(ivy.substitute(cacheIvyPattern));
+                    ivy.setDefaultCacheIvyPattern(ivy.substitute(cacheIvyPattern));
                 }
                 String cacheArtPattern = (String) attributes.get("repositoryArtifactPattern");
                 if (cacheArtPattern != null) {
-                    ivy.setCacheArtifactPattern(ivy.substitute(cacheArtPattern));
+                    ivy.setDefaultCacheArtifactPattern(ivy.substitute(cacheArtPattern));
                 }
-                String cache = (String) attributes.get("basedir");
+                String cache = (String) attributes.get("defaultBasedir");
                 if (cache != null) {
                     ivy.setDefaultCache(new File(ivy.substitute(cache)));
                 }
                 String repositoryDir = (String) attributes.get("repositoryDir");
                 if (repositoryDir != null) {
-                    ivy.setVariable("ivy.cache.repository", ivy.substitute(repositoryDir), true); 
+                    ivy.setDefaultRepositoryCacheBasedir(ivy.substitute(repositoryDir)); 
                 }
                 String resolutionDir = (String) attributes.get("resolutionDir");
                 if (resolutionDir != null) {
-                    ivy.setVariable("ivy.cache.resolution", ivy.substitute(resolutionDir), true); 
+                    ivy.setDefaultResolutionCacheBasedir(ivy.substitute(resolutionDir));
                 }
-            } else if ("version-matchers".equals(qName)) {
+           } else if ("version-matchers".equals(qName)) {
                 currentConfiguratorTag = qName;
                 configurator.setRoot(ivy);
                 if ("true".equals(ivy.substitute((String) attributes.get("usedefaults")))) {
@@ -415,6 +420,15 @@
                         + ivy.substitute(defaultLatest));
             }
             ivy.setDefaultLatestStrategy(latestStrategy);
+        }
+        if (defaultCacheManager != null) {
+            RepositoryCacheManager cache = ivy.getRepositoryCacheManager(
+                                                ivy.substitute(defaultCacheManager));
+            if (cache == null) {
+                throw new IllegalArgumentException("unknown cache manager "
+                        + ivy.substitute(defaultCacheManager));
+            }
+            ivy.setDefaultRepositoryCacheManager(cache);
         }
         if (defaultCircular != null) {
             CircularDependencyStrategy strategy = ivy.getCircularDependencyStrategy(ivy

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/typedef.properties
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/typedef.properties?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/typedef.properties (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/typedef.properties Fri Dec 28 08:11:26 2007
@@ -51,3 +51,5 @@
 ant-build		= org.apache.ivy.ant.AntBuildTrigger
 ant-call		= org.apache.ivy.ant.AntCallTrigger
 log		        = org.apache.ivy.plugins.trigger.LogTrigger
+
+cache			= org.apache.ivy.core.cache.DefaultRepositoryCacheManager
\ No newline at end of file

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/ParserSettings.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/ParserSettings.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/ParserSettings.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/ParserSettings.java Fri Dec 28 08:11:26 2007
@@ -18,6 +18,7 @@
 package org.apache.ivy.plugins.parser;
 
 import org.apache.ivy.core.RelativeUrlResolver;
+import org.apache.ivy.core.cache.ResolutionCacheManager;
 import org.apache.ivy.core.module.id.ModuleId;
 import org.apache.ivy.core.module.status.StatusManager;
 import org.apache.ivy.plugins.conflict.ConflictManager;
@@ -28,6 +29,8 @@
 public interface ParserSettings {
 
     String substitute(String value);
+    
+    ResolutionCacheManager getResolutionCacheManager();
 
     ConflictManager getConflictManager(String name);
 

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java Fri Dec 28 08:11:26 2007
@@ -78,6 +78,8 @@
 
     private String namespaceName;
     
+    private String cacheManagerName;
+    
     private RepositoryCacheManager repositoryCacheManager;
 
     public ResolverSettings getSettings() {
@@ -159,6 +161,7 @@
         Message.verbose("\t" + getName() + " [" + getTypeName() + "]");
         Message.debug("\t\tchangingPattern: " + getChangingPattern());
         Message.debug("\t\tchangingMatcher: " + getChangingMatcherName());
+        Message.debug("\t\tcache: " + cacheManagerName);
     }
 
     public String getTypeName() {
@@ -306,13 +309,21 @@
     
     public RepositoryCacheManager getRepositoryCacheManager() {
         if (repositoryCacheManager == null) {
-            repositoryCacheManager = settings.getDefaultRepositoryCacheManager();
+            if (cacheManagerName == null) {
+                repositoryCacheManager = settings.getDefaultRepositoryCacheManager();
+            } else {
+                repositoryCacheManager = settings.getRepositoryCacheManager(cacheManagerName);
+            }
         }
         return repositoryCacheManager;
     }
     
     public void setRepositoryCacheManager(RepositoryCacheManager repositoryCacheManager) {
         this.repositoryCacheManager = repositoryCacheManager;
+    }
+    
+    public void setCache(String cacheName) {
+        cacheManagerName = cacheName;
     }
     
     public void abortPublishTransaction() throws IOException {

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/CacheResolver.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/CacheResolver.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/CacheResolver.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/CacheResolver.java Fri Dec 28 08:11:26 2007
@@ -20,10 +20,11 @@
 import java.io.File;
 import java.io.IOException;
 import java.text.ParseException;
-import java.util.Collections;
+import java.util.ArrayList;
 import java.util.Date;
 
-import org.apache.ivy.core.cache.CacheSettings;
+import org.apache.ivy.core.cache.DefaultRepositoryCacheManager;
+import org.apache.ivy.core.cache.RepositoryCacheManager;
 import org.apache.ivy.core.module.descriptor.Artifact;
 import org.apache.ivy.core.module.descriptor.DefaultArtifact;
 import org.apache.ivy.core.module.descriptor.DependencyDescriptor;
@@ -154,21 +155,23 @@
     }
 
     private void ensureConfigured() {
-        if (getSettings() != null) {
-            // TODO: we need to address new cache management 
-            // (where repository cache is not always in default cache directory)
-            ensureConfigured(getSettings(), getSettings().getDefaultCache());
-        }
-    }
-
-    private void ensureConfigured(CacheSettings settings, File cache) {
-        if (settings == null || cache == null) {
-            return;
+        if (getIvyPatterns().isEmpty()) {
+            setIvyPatterns(new ArrayList());
+            setArtifactPatterns(new ArrayList());
+            RepositoryCacheManager[] caches = getSettings().getRepositoryCacheManagers();
+            for (int i = 0; i < caches.length; i++) {
+                if (caches[i] instanceof DefaultRepositoryCacheManager) {
+                    DefaultRepositoryCacheManager c = (DefaultRepositoryCacheManager) caches[i];
+                    addIvyPattern(c.getBasedir().getAbsolutePath() + "/" + c.getIvyPattern());
+                    addArtifactPattern(
+                        c.getBasedir().getAbsolutePath() + "/" + c.getArtifactPattern());
+                } else {
+                    Message.verbose(
+                        caches[i] + ": cache implementation is not a DefaultRepositoryCacheManager:"
+                        + " unable to configure cache resolver with it");
+                }
+            }
         }
-        setIvyPatterns(Collections.singletonList(cache.getAbsolutePath() + "/"
-                + settings.getCacheIvyPattern()));
-        setArtifactPatterns(Collections.singletonList(cache.getAbsolutePath() + "/"
-                + settings.getCacheArtifactPattern()));
     }
 
     public String getTypeName() {

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/ResolverSettings.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/ResolverSettings.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/ResolverSettings.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/ResolverSettings.java Fri Dec 28 08:11:26 2007
@@ -19,16 +19,23 @@
 
 import java.util.Collection;
 
-import org.apache.ivy.core.cache.CacheSettings;
+import org.apache.ivy.core.cache.RepositoryCacheManager;
 import org.apache.ivy.plugins.latest.LatestStrategy;
 import org.apache.ivy.plugins.namespace.Namespace;
+import org.apache.ivy.plugins.parser.ParserSettings;
 import org.apache.ivy.plugins.version.VersionMatcher;
 
-public interface ResolverSettings extends CacheSettings {
+public interface ResolverSettings extends ParserSettings {
 
     LatestStrategy getLatestStrategy(String latestStrategyName);
 
     LatestStrategy getDefaultLatestStrategy();
+    
+    RepositoryCacheManager getRepositoryCacheManager(String name);
+    
+    RepositoryCacheManager getDefaultRepositoryCacheManager();
+    
+    RepositoryCacheManager[] getRepositoryCacheManagers();
 
     Namespace getNamespace(String namespaceName);
 

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/IvyTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/IvyTest.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/IvyTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/IvyTest.java Fri Dec 28 08:11:26 2007
@@ -20,7 +20,7 @@
 import java.io.File;
 
 import org.apache.ivy.core.IvyContext;
-import org.apache.ivy.core.cache.CacheManager;
+import org.apache.ivy.core.cache.DefaultResolutionCacheManager;
 import org.apache.ivy.core.report.ResolveReport;
 import org.apache.ivy.core.resolve.ResolveOptions;
 import org.apache.ivy.core.resolve.ResolveTest;

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/core/TestPerformance.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/core/TestPerformance.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/core/TestPerformance.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/core/TestPerformance.java Fri Dec 28 08:11:26 2007
@@ -23,7 +23,7 @@
 import java.util.Random;
 
 import org.apache.ivy.Ivy;
-import org.apache.ivy.core.cache.CacheManager;
+import org.apache.ivy.core.cache.DefaultResolutionCacheManager;
 import org.apache.ivy.core.module.descriptor.DefaultDependencyDescriptor;
 import org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor;
 import org.apache.ivy.core.module.id.ModuleRevisionId;

Copied: ant/ivy/core/trunk/test/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManagerTest.java (from r607221, ant/ivy/core/trunk/test/java/org/apache/ivy/core/cache/CacheManagerTest.java)
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManagerTest.java?p2=ant/ivy/core/trunk/test/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManagerTest.java&p1=ant/ivy/core/trunk/test/java/org/apache/ivy/core/cache/CacheManagerTest.java&r1=607221&r2=607278&rev=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/core/cache/CacheManagerTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManagerTest.java Fri Dec 28 08:11:26 2007
@@ -32,10 +32,10 @@
 import org.apache.tools.ant.taskdefs.Delete;
 
 /**
- * @see CacheManager
+ * @see DefaultResolutionCacheManager
  */
-public class CacheManagerTest extends TestCase {
-    private CacheManager cacheManager;
+public class DefaultRepositoryCacheManagerTest extends TestCase {
+    private DefaultRepositoryCacheManager cacheManager;
 
     private Artifact artifact;
 
@@ -47,7 +47,9 @@
         ivy.configureDefault();
         IvySettings settings = ivy.getSettings();
         f.delete(); // we want to use the file as a directory, so we delete the file itself
-        cacheManager = new CacheManager(settings, f);
+        cacheManager = new DefaultRepositoryCacheManager();
+        cacheManager.setSettings(settings);
+        cacheManager.setBasedir(f);
 
         artifact = createArtifact("org", "module", "rev", "name", "type", "ext");
         origin = new ArtifactOrigin(true, "/some/where");
@@ -58,7 +60,6 @@
         Delete del = new Delete();
         del.setProject(new Project());
         del.setDir(cacheManager.getRepositoryCacheRoot());
-        del.setDir(cacheManager.getResolutionCacheRoot());
         del.execute();
     }
 

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/core/publish/PublishEngineTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/core/publish/PublishEngineTest.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/core/publish/PublishEngineTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/core/publish/PublishEngineTest.java Fri Dec 28 08:11:26 2007
@@ -24,7 +24,7 @@
 
 import junit.framework.TestCase;
 
-import org.apache.ivy.core.cache.CacheManager;
+import org.apache.ivy.core.cache.DefaultResolutionCacheManager;
 import org.apache.ivy.core.event.EventManager;
 import org.apache.ivy.core.module.descriptor.Artifact;
 import org.apache.ivy.core.module.descriptor.DefaultDependencyDescriptor;

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java Fri Dec 28 08:11:26 2007
@@ -33,6 +33,7 @@
 import org.apache.ivy.Ivy;
 import org.apache.ivy.TestHelper;
 import org.apache.ivy.core.cache.ArtifactOrigin;
+import org.apache.ivy.core.cache.DefaultRepositoryCacheManager;
 import org.apache.ivy.core.cache.RepositoryCacheManager;
 import org.apache.ivy.core.module.descriptor.Artifact;
 import org.apache.ivy.core.module.descriptor.DefaultArtifact;
@@ -95,7 +96,8 @@
     public void testResolveWithRetainingArtifactName() throws Exception {
         ivy.pushContext();
         try {
-            settings.setCacheArtifactPattern(ivy.substitute("[module]/[originalname].[ext]"));
+            ((DefaultRepositoryCacheManager) settings.getDefaultRepositoryCacheManager())
+                .setArtifactPattern(ivy.substitute("[module]/[originalname].[ext]"));
             ResolveReport report = ivy.resolve(new File("test/repositories/2/mod15.2/ivy-1.1.xml")
             .toURL(), getResolveOptions(new String[] {"default"}));
             assertNotNull(report);
@@ -447,8 +449,11 @@
     public void testChangeCacheLayout() throws Exception {
         Ivy ivy = new Ivy();
         ivy.configure(new File("test/repositories/ivysettings.xml"));
-        ivy.getSettings().setCacheIvyPattern("[module]/ivy.xml");
-        ivy.getSettings().setCacheArtifactPattern("[artifact].[ext]");
+        DefaultRepositoryCacheManager cacheMgr = 
+            (DefaultRepositoryCacheManager) ivy.getSettings().getDefaultRepositoryCacheManager();
+
+        cacheMgr.setIvyPattern("[module]/ivy.xml");
+        cacheMgr.setArtifactPattern("[artifact].[ext]");
 
         // mod1.1 depends on mod1.2
         ResolveReport report = ivy.resolve(new File(
@@ -474,10 +479,15 @@
     public void testChangeCacheLayout2() throws Exception {
         Ivy ivy = new Ivy();
         ivy.configure(new File("test/repositories/ivysettings.xml"));
-        ivy.getSettings().setRepositoryCacheRoot("repository");
-        ivy.getSettings().setResolutionCacheRoot("workspace");
-        ivy.getSettings().setCacheIvyPattern("[module]/ivy.xml");
-        ivy.getSettings().setCacheArtifactPattern("[artifact].[ext]");
+        ivy.getSettings().setDefaultRepositoryCacheBasedir(
+            new File(ivy.getSettings().getDefaultCache(), "repository").getAbsolutePath());
+        ivy.getSettings().setDefaultResolutionCacheBasedir(
+            new File(ivy.getSettings().getDefaultCache(), "workspace").getAbsolutePath());
+        DefaultRepositoryCacheManager cacheMgr = 
+            (DefaultRepositoryCacheManager) ivy.getSettings().getDefaultRepositoryCacheManager();
+
+        cacheMgr.setIvyPattern("[module]/ivy.xml");
+        cacheMgr.setArtifactPattern("[artifact].[ext]");
 
         // mod1.1 depends on mod1.2
         ResolveReport report = ivy.resolve(new File(

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/core/retrieve/RetrieveTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/core/retrieve/RetrieveTest.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/core/retrieve/RetrieveTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/core/retrieve/RetrieveTest.java Fri Dec 28 08:11:26 2007
@@ -26,7 +26,7 @@
 
 import org.apache.ivy.Ivy;
 import org.apache.ivy.core.IvyPatternHelper;
-import org.apache.ivy.core.cache.CacheManager;
+import org.apache.ivy.core.cache.DefaultResolutionCacheManager;
 import org.apache.ivy.core.event.IvyEvent;
 import org.apache.ivy.core.event.IvyListener;
 import org.apache.ivy.core.event.retrieve.EndRetrieveEvent;

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/core/settings/XmlSettingsParserTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/core/settings/XmlSettingsParserTest.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/core/settings/XmlSettingsParserTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/core/settings/XmlSettingsParserTest.java Fri Dec 28 08:11:26 2007
@@ -23,6 +23,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.ivy.core.cache.DefaultRepositoryCacheManager;
 import org.apache.ivy.core.cache.ResolutionCacheManager;
 import org.apache.ivy.core.module.descriptor.Artifact;
 import org.apache.ivy.core.module.id.ModuleId;
@@ -59,9 +60,9 @@
         assertFalse(settings.isCheckUpToDate());
         assertFalse(settings.doValidate());
 
-        assertEquals("[module]/ivys/ivy-[revision].xml", settings.getCacheIvyPattern());
+        assertEquals("[module]/ivys/ivy-[revision].xml", settings.getDefaultCacheIvyPattern());
         assertEquals("[module]/[type]s/[artifact]-[revision].[ext]", settings
-                .getCacheArtifactPattern());
+                .getDefaultCacheArtifactPattern());
 
         LatestStrategy latest = settings.getLatestStrategy("mylatest-revision");
         assertNotNull(latest);
@@ -186,16 +187,34 @@
         XmlSettingsParser parser = new XmlSettingsParser(settings);
         parser.parse(XmlSettingsParserTest.class.getResource("ivysettings-cache.xml"));
 
-        File defaultCache = settings.getDefaultCache();
-        assertNotNull(defaultCache);
-        assertEquals("mycache", defaultCache.getName());
-        assertEquals(new File(defaultCache, "repository"), settings.getRepositoryCacheRoot(defaultCache));
-        assertEquals(new File(defaultCache, "resolution"), settings.getResolutionCacheRoot(defaultCache));
+        assertEquals(new File("repository"), settings.getDefaultRepositoryCacheBasedir());
+        assertEquals(new File("resolution"), settings.getDefaultResolutionCacheBasedir());
         assertEquals("artifact-lock", settings.getDefaultLockStrategy().getName());
 
-        assertEquals("[module]/ivys/ivy-[revision].xml", settings.getCacheIvyPattern());
+        assertEquals("[module]/ivys/ivy-[revision].xml", settings.getDefaultCacheIvyPattern());
         assertEquals("[module]/[type]s/[artifact]-[revision].[ext]", settings
-                .getCacheArtifactPattern());
+                .getDefaultCacheArtifactPattern());
+        
+        DefaultRepositoryCacheManager c = (DefaultRepositoryCacheManager) settings.getRepositoryCacheManager("mycache");
+        assertNotNull(c);
+        assertEquals("mycache", c.getName());
+        assertEquals(new File("mycache"), c.getBasedir());
+        assertEquals("no-lock", c.getLockStrategy().getName());
+
+        assertEquals("[module]/ivy-[revision].xml", c.getIvyPattern());
+        assertEquals("[module]/[artifact]-[revision].[ext]", c.getArtifactPattern());
+        
+        DefaultRepositoryCacheManager c2 = (DefaultRepositoryCacheManager) settings.getRepositoryCacheManager("mycache2");
+        assertNotNull(c2);
+        assertEquals("mycache2", c2.getName());
+        assertEquals(new File("repository"), c2.getBasedir());
+        assertEquals("artifact-lock", c2.getLockStrategy().getName());
+
+        assertEquals("[module]/ivys/ivy-[revision].xml", c2.getIvyPattern());
+        assertEquals("[module]/[type]s/[artifact]-[revision].[ext]", c2.getArtifactPattern());
+        
+        assertEquals(c2, settings.getResolver("A").getRepositoryCacheManager());
+        assertEquals(c, settings.getResolver("B").getRepositoryCacheManager());
     }
 
     public void testVersionMatchers1() throws Exception {

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/core/settings/ivysettings-cache.xml
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/core/settings/ivysettings-cache.xml?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/core/settings/ivysettings-cache.xml (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/core/settings/ivysettings-cache.xml Fri Dec 28 08:11:26 2007
@@ -17,11 +17,31 @@
    under the License.    
 -->
 <ivysettings>
-	<cache basedir="mycache"
+	<settings defaultCacheManager="mycache2" />
+	<cacheDefaults 
 			resolutionDir="resolution"
 			repositoryDir="repository"
 			repositoryIvyPattern="[module]/ivys/ivy-[revision].xml" 
 			repositoryArtifactPattern="[module]/[type]s/[artifact]-[revision].[ext]"
 			lockStrategy="artifact-lock"
 	/>
+	<caches>
+		<cache name="mycache" 
+				basedir="mycache"
+				ivyPattern="[module]/ivy-[revision].xml" 
+				artifactPattern="[module]/[artifact]-[revision].[ext]"
+				lock="no-lock"
+		/>
+		<cache name="mycache2" />
+	</caches>
+	<resolvers>
+		<filesystem name="A">
+			<ivy pattern="${shared}/[organisation]/[module]/ivys/ivy-[revision].xml"/>
+			<artifact pattern="${shared}/[organisation]/[module]/[type]s/[artifact]-[revision].[type]"/>
+		</filesystem>
+		<filesystem name="B" cache="mycache">
+			<ivy pattern="${libraries.dir}/[organisation]/[module]/ivys/ivy-[revision].xml"/>
+			<artifact pattern="${libraries.dir}/[organisation]/[module]/[type]s/[artifact]-[revision].[type]"/>
+		</filesystem>
+	</resolvers>
 </ivysettings>

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/conflict/LatestConflictManagerTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/conflict/LatestConflictManagerTest.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/conflict/LatestConflictManagerTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/conflict/LatestConflictManagerTest.java Fri Dec 28 08:11:26 2007
@@ -24,7 +24,7 @@
 import junit.framework.TestCase;
 
 import org.apache.ivy.Ivy;
-import org.apache.ivy.core.cache.CacheManager;
+import org.apache.ivy.core.cache.DefaultResolutionCacheManager;
 import org.apache.ivy.core.module.id.ModuleRevisionId;
 import org.apache.ivy.core.report.ConfigurationResolveReport;
 import org.apache.ivy.core.report.ResolveReport;

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/conflict/RegexpConflictManagerTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/conflict/RegexpConflictManagerTest.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/conflict/RegexpConflictManagerTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/conflict/RegexpConflictManagerTest.java Fri Dec 28 08:11:26 2007
@@ -22,7 +22,7 @@
 import junit.framework.TestCase;
 
 import org.apache.ivy.Ivy;
-import org.apache.ivy.core.cache.CacheManager;
+import org.apache.ivy.core.cache.DefaultResolutionCacheManager;
 import org.apache.ivy.core.resolve.ResolveOptions;
 import org.apache.ivy.util.FileUtil;
 

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/conflict/StrictConflictManagerTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/conflict/StrictConflictManagerTest.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/conflict/StrictConflictManagerTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/conflict/StrictConflictManagerTest.java Fri Dec 28 08:11:26 2007
@@ -22,7 +22,7 @@
 import junit.framework.TestCase;
 
 import org.apache.ivy.Ivy;
-import org.apache.ivy.core.cache.CacheManager;
+import org.apache.ivy.core.cache.DefaultResolutionCacheManager;
 import org.apache.ivy.core.resolve.ResolveOptions;
 import org.apache.ivy.util.FileUtil;
 

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/lock/ArtifactLockStrategyTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/lock/ArtifactLockStrategyTest.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/lock/ArtifactLockStrategyTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/lock/ArtifactLockStrategyTest.java Fri Dec 28 08:11:26 2007
@@ -22,7 +22,8 @@
 
 import junit.framework.TestCase;
 
-import org.apache.ivy.core.cache.CacheManager;
+import org.apache.ivy.core.cache.DefaultRepositoryCacheManager;
+import org.apache.ivy.core.cache.RepositoryCacheManager;
 import org.apache.ivy.core.event.EventManager;
 import org.apache.ivy.core.module.descriptor.DefaultDependencyDescriptor;
 import org.apache.ivy.core.module.id.ModuleRevisionId;
@@ -78,8 +79,9 @@
     }    
 
     
-    private CacheManager newCacheManager(IvySettings settings) {
-        CacheManager cacheManager = new CacheManager(settings, new File("build/test/cache"));
+    private RepositoryCacheManager newCacheManager(IvySettings settings) {
+        DefaultRepositoryCacheManager cacheManager 
+            = new DefaultRepositoryCacheManager("cache", settings, new File("build/test/cache"));
         cacheManager.setLockStrategy(new ArtifactLockStrategy());
         return cacheManager;
     }

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/report/XmlReportParserTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/report/XmlReportParserTest.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/report/XmlReportParserTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/report/XmlReportParserTest.java Fri Dec 28 08:11:26 2007
@@ -22,7 +22,7 @@
 import junit.framework.TestCase;
 
 import org.apache.ivy.Ivy;
-import org.apache.ivy.core.cache.CacheManager;
+import org.apache.ivy.core.cache.DefaultResolutionCacheManager;
 import org.apache.ivy.core.module.id.ModuleRevisionId;
 import org.apache.ivy.core.report.ResolveReport;
 import org.apache.ivy.core.resolve.ResolveOptions;

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/report/XmlReportWriterTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/report/XmlReportWriterTest.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/report/XmlReportWriterTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/report/XmlReportWriterTest.java Fri Dec 28 08:11:26 2007
@@ -23,7 +23,7 @@
 import junit.framework.TestCase;
 
 import org.apache.ivy.Ivy;
-import org.apache.ivy.core.cache.CacheManager;
+import org.apache.ivy.core.cache.DefaultResolutionCacheManager;
 import org.apache.ivy.core.report.ResolveReport;
 import org.apache.ivy.core.resolve.ResolveOptions;
 import org.apache.ivy.util.CacheCleaner;

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/DualResolverTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/DualResolverTest.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/DualResolverTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/DualResolverTest.java Fri Dec 28 08:11:26 2007
@@ -23,7 +23,7 @@
 
 import junit.framework.TestCase;
 
-import org.apache.ivy.core.cache.CacheManager;
+import org.apache.ivy.core.cache.DefaultResolutionCacheManager;
 import org.apache.ivy.core.event.EventManager;
 import org.apache.ivy.core.module.descriptor.DefaultDependencyDescriptor;
 import org.apache.ivy.core.module.descriptor.DependencyDescriptor;

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/FileSystemResolverTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/FileSystemResolverTest.java?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/FileSystemResolverTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/FileSystemResolverTest.java Fri Dec 28 08:11:26 2007
@@ -23,7 +23,8 @@
 import java.util.Date;
 import java.util.GregorianCalendar;
 
-import org.apache.ivy.core.cache.CacheManager;
+import org.apache.ivy.core.cache.DefaultResolutionCacheManager;
+import org.apache.ivy.core.cache.RepositoryCacheManager;
 import org.apache.ivy.core.event.EventManager;
 import org.apache.ivy.core.module.descriptor.Artifact;
 import org.apache.ivy.core.module.descriptor.DefaultArtifact;
@@ -67,20 +68,20 @@
 
     private File cache;
 
-    private CacheManager cacheManager;
+    private RepositoryCacheManager cacheManager;
 
     public FileSystemResolverTest() {
         setupLastModified();
     }
 
     protected void setUp() throws Exception {
-         settings = new IvySettings();
+        settings = new IvySettings();
         engine = new ResolveEngine(settings, new EventManager(), new SortEngine(settings));
         cache = new File("build/cache");
         data = new ResolveData(engine, new ResolveOptions());
         cache.mkdirs();
-        cacheManager = new CacheManager(settings, cache);
         settings.setDefaultCache(cache);
+        cacheManager = settings.getDefaultRepositoryCacheManager();
     }
 
     private void setupLastModified() {

Modified: ant/ivy/core/trunk/test/repositories/IVY-630/ivysettings.xml
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/IVY-630/ivysettings.xml?rev=607278&r1=607277&r2=607278&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/repositories/IVY-630/ivysettings.xml (original)
+++ ant/ivy/core/trunk/test/repositories/IVY-630/ivysettings.xml Fri Dec 28 08:11:26 2007
@@ -17,7 +17,7 @@
    under the License.    
 -->
 <ivysettings>
-	<settings defaultCache="${cache.dir}" defaultResolver="1" checkUpToDate="true" />
+	<settings defaultCache="build/cache" defaultResolver="1" checkUpToDate="true" />
 	<resolvers>
 		<filesystem allownomd="true" name="1">
 			<ivy pattern="${ivy.settings.dir}/[module]-[revision]/ivy.xml"/>