You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by cd...@apache.org on 2013/12/27 18:45:20 UTC
svn commit: r1553706 -
/ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java
Author: cduffy
Date: Fri Dec 27 17:45:19 2013
New Revision: 1553706
URL: http://svn.apache.org/r1553706
Log:
Make public IvySettings methods either synchronized or final
This isn't necessarily enough to make IvySettings thread-safe -- there are too
many order-of-operations assumptions in play to have confidence there -- but
it's better than making no effort at all.
Modified:
ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java
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=1553706&r1=1553705&r2=1553706&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 27 17:45:19 2013
@@ -299,7 +299,7 @@ public class IvySettings implements Sort
addSystemProperties();
}
- private void addSystemProperties() {
+ private synchronized void addSystemProperties() {
try {
addAllVariables((Map) System.getProperties().clone());
} catch (AccessControlException ex) {
@@ -313,7 +313,7 @@ public class IvySettings implements Sort
* Call this method to ask ivy to configure some variables using either a remote or a local
* properties file
*/
- public void configureRepositories(boolean remote) {
+ public synchronized void configureRepositories(boolean remote) {
if (!repositoriesConfigured) {
Properties props = new Properties();
boolean configured = false;
@@ -349,11 +349,11 @@ public class IvySettings implements Sort
}
}
- public void typeDefs(InputStream stream) throws IOException {
+ public synchronized void typeDefs(InputStream stream) throws IOException {
typeDefs(stream, false);
}
- public void typeDefs(InputStream stream, boolean silentFail) throws IOException {
+ public synchronized void typeDefs(InputStream stream, boolean silentFail) throws IOException {
try {
Properties p = new Properties();
p.load(stream);
@@ -363,18 +363,18 @@ public class IvySettings implements Sort
}
}
- public void typeDefs(Properties p) {
+ public synchronized void typeDefs(Properties p) {
typeDefs(p, false);
}
- public void typeDefs(Properties p, boolean silentFail) {
+ public synchronized void typeDefs(Properties p, boolean silentFail) {
for (Iterator iter = p.keySet().iterator(); iter.hasNext();) {
String name = (String) iter.next();
typeDef(name, p.getProperty(name), silentFail);
}
}
- public void load(File settingsFile) throws ParseException, IOException {
+ public synchronized void load(File settingsFile) throws ParseException, IOException {
Message.info(":: loading settings :: file = " + settingsFile);
long start = System.currentTimeMillis();
setSettingsVariables(settingsFile);
@@ -399,7 +399,7 @@ public class IvySettings implements Sort
dumpSettings();
}
- public void load(URL settingsURL) throws ParseException, IOException {
+ public synchronized void load(URL settingsURL) throws ParseException, IOException {
Message.info(":: loading settings :: url = " + settingsURL);
long start = System.currentTimeMillis();
setSettingsVariables(settingsURL);
@@ -424,7 +424,7 @@ public class IvySettings implements Sort
*
* @throws IOException
*/
- public void defaultInit() throws IOException {
+ public synchronized void defaultInit() throws IOException {
if (getVariable("ivy.default.ivy.user.dir") != null) {
setDefaultIvyUserDir(Checks.checkAbsolute(
getVariable("ivy.default.ivy.user.dir"), "ivy.default.ivy.user.dir"));
@@ -438,11 +438,11 @@ public class IvySettings implements Sort
dumpSettings();
}
- public void loadDefault() throws ParseException, IOException {
+ public synchronized void loadDefault() throws ParseException, IOException {
load(getDefaultSettingsURL());
}
- public void loadDefault14() throws ParseException, IOException {
+ public synchronized void loadDefault14() throws ParseException, IOException {
load(getDefault14SettingsURL());
}
@@ -472,7 +472,7 @@ public class IvySettings implements Sort
return XmlSettingsParser.class.getResource(file);
}
- public void setSettingsVariables(File settingsFile) {
+ public synchronized void setSettingsVariables(File settingsFile) {
try {
setVariable("ivy.settings.dir", new File(settingsFile.getAbsolutePath()).getParent());
setDeprecatedVariable("ivy.conf.dir", "ivy.settings.dir");
@@ -502,7 +502,7 @@ public class IvySettings implements Sort
setVariable(deprecatedKey, getVariable(newKey));
}
- public void setSettingsVariables(URL settingsURL) {
+ public synchronized void setSettingsVariables(URL settingsURL) {
String settingsURLStr = settingsURL.toExternalForm();
setVariable("ivy.settings.url", settingsURLStr);
setDeprecatedVariable("ivy.conf.url", "ivy.settings.url");
@@ -542,19 +542,19 @@ public class IvySettings implements Sort
moduleSettings.dump("\t\t");
}
- public void loadProperties(URL url) throws IOException {
+ public synchronized void loadProperties(URL url) throws IOException {
loadProperties(url, true);
}
- public void loadProperties(URL url, boolean overwrite) throws IOException {
+ public synchronized void loadProperties(URL url, boolean overwrite) throws IOException {
loadProperties(url.openStream(), overwrite);
}
- public void loadProperties(File file) throws IOException {
+ public synchronized void loadProperties(File file) throws IOException {
loadProperties(file, true);
}
- public void loadProperties(File file, boolean overwrite) throws IOException {
+ public synchronized void loadProperties(File file, boolean overwrite) throws IOException {
loadProperties(new FileInputStream(file), overwrite);
}
@@ -574,33 +574,34 @@ public class IvySettings implements Sort
}
}
- public void setVariable(String varName, String value) {
+ public synchronized void setVariable(String varName, String value) {
setVariable(varName, value, true);
}
- public void setVariable(String varName, String value, boolean overwrite) {
+ public synchronized void setVariable(String varName, String value, boolean overwrite) {
setVariable(varName, value, overwrite, null, null);
}
- public void setVariable(String varName, String value, boolean overwrite, String ifSetVar, String unlessSetVar) {
+ public synchronized void setVariable(String varName, String value, boolean overwrite,
+ String ifSetVar, String unlessSetVar) {
if (ifSetVar != null && variableContainer.getVariable(ifSetVar) == null) {
Message.verbose("Not setting '" + varName + "' to '" + value + "' since '" + ifSetVar
+ "' is not set.");
return;
}
if (unlessSetVar != null && variableContainer.getVariable(unlessSetVar) != null) {
- Message.verbose("Not setting '" + varName + "' to '" + value + "' since '" + unlessSetVar
- + "' is set.");
+ Message.verbose("Not setting '" + varName + "' to '" + value + "' since '"
+ + unlessSetVar + "' is set.");
return;
}
variableContainer.setVariable(varName, value, overwrite);
}
- public void addAllVariables(Map variables) {
+ public synchronized void addAllVariables(Map variables) {
addAllVariables(variables, true);
}
- public void addAllVariables(Map variables, boolean overwrite) {
+ public synchronized void addAllVariables(Map variables, boolean overwrite) {
for (Iterator iter = variables.keySet().iterator(); iter.hasNext();) {
String key = (String) iter.next();
String val = (String) variables.get(key);
@@ -616,7 +617,7 @@ public class IvySettings implements Sort
* @return the string where all current ivy variables have been substituted by their value
* If the input str doesn't use any variable, the same object is returned
*/
- public String substitute(String str) {
+ public synchronized String substitute(String str) {
return IvyPatternHelper.substituteVariables(str, variableContainer);
}
@@ -629,7 +630,7 @@ public class IvySettings implements Sort
* @return a new map of strings in which all current ivy variables in values have been
* substituted by their value
*/
- public Map/*<String, String>*/ substitute(Map/*<String, String>*/ strings) {
+ public synchronized Map/*<String, String>*/ substitute(Map/*<String, String>*/ strings) {
Map substituted = new LinkedHashMap();
for (Iterator it = strings.entrySet().iterator(); it.hasNext();) {
Map.Entry entry = (Map.Entry) it.next();
@@ -644,15 +645,15 @@ public class IvySettings implements Sort
*
* @return
*/
- public IvyVariableContainer getVariables() {
+ public synchronized IvyVariableContainer getVariables() {
return variableContainer;
}
- public Class typeDef(String name, String className) {
+ public synchronized Class typeDef(String name, String className) {
return typeDef(name, className, false);
}
- public Class typeDef(String name, String className, boolean silentFail) {
+ public synchronized Class typeDef(String name, String className, boolean silentFail) {
Class clazz = classForName(className, silentFail);
if (clazz != null) {
typeDefs.put(name, clazz);
@@ -687,42 +688,42 @@ public class IvySettings implements Sort
return classloader;
}
- public void addClasspathURL(URL url) {
+ public synchronized void addClasspathURL(URL url) {
classpathURLs.add(url);
classloader = null;
}
- public Map getTypeDefs() {
+ public synchronized Map getTypeDefs() {
return typeDefs;
}
- public Class getTypeDef(String name) {
+ public synchronized Class getTypeDef(String name) {
return (Class) typeDefs.get(name);
}
// methods which match ivy conf method signature specs
- public void addConfigured(DependencyResolver resolver) {
+ public synchronized void addConfigured(DependencyResolver resolver) {
addResolver(resolver);
}
- public void addConfigured(ModuleDescriptorParser parser) {
+ public synchronized void addConfigured(ModuleDescriptorParser parser) {
ModuleDescriptorParserRegistry.getInstance().addParser(parser);
}
- public void addConfigured(SignatureGenerator generator) {
+ public synchronized void addConfigured(SignatureGenerator generator) {
addSignatureGenerator(generator);
}
- public void addSignatureGenerator(SignatureGenerator generator) {
+ public synchronized void addSignatureGenerator(SignatureGenerator generator) {
init(generator);
signatureGenerators.put(generator.getName(), generator);
}
- public SignatureGenerator getSignatureGenerator(String name) {
+ public synchronized SignatureGenerator getSignatureGenerator(String name) {
return (SignatureGenerator) signatureGenerators.get(name);
}
- public void addResolver(DependencyResolver resolver) {
+ public synchronized void addResolver(DependencyResolver resolver) {
if (resolver == null) {
throw new NullPointerException("null resolver");
}
@@ -746,7 +747,7 @@ public class IvySettings implements Sort
}
}
- public void setDefaultCache(File cacheDirectory) {
+ public synchronized void setDefaultCache(File cacheDirectory) {
setVariable("ivy.cache.dir", cacheDirectory.getAbsolutePath(), false);
defaultCache = cacheDirectory;
if (defaultRepositoryCacheManager != null) {
@@ -758,7 +759,7 @@ public class IvySettings implements Sort
}
}
- public void setDefaultResolver(String resolverName) {
+ public synchronized void setDefaultResolver(String resolverName) {
checkResolverName(resolverName);
if (resolverName != null && !resolverName.equals(defaultResolverName)) {
defaultResolver = null;
@@ -776,7 +777,7 @@ public class IvySettings implements Sort
/**
* regular expressions as explained in Pattern class may be used in attributes
*/
- public void addModuleConfiguration(Map attributes, PatternMatcher matcher,
+ public synchronized void addModuleConfiguration(Map attributes, PatternMatcher matcher,
String resolverName, String branch, String conflictManager, String resolveMode) {
checkResolverName(resolverName);
moduleSettings.defineRule(
@@ -796,21 +797,21 @@ public class IvySettings implements Sort
* @return the resolved File.
*
*/
- public File resolveFile(String fileName) {
+ public synchronized File resolveFile(String fileName) {
return FileUtil.resolveFile(baseDir, fileName);
}
- public void setBaseDir(File baseDir) {
+ public synchronized void setBaseDir(File baseDir) {
this.baseDir = baseDir.getAbsoluteFile();
setVariable("ivy.basedir", this.baseDir.getAbsolutePath());
setVariable("basedir", this.baseDir.getAbsolutePath(), false);
}
- public File getBaseDir() {
+ public synchronized File getBaseDir() {
return baseDir;
}
- public File getDefaultIvyUserDir() {
+ public synchronized File getDefaultIvyUserDir() {
if (defaultUserDir == null) {
if (getVariable("ivy.home") != null) {
setDefaultIvyUserDir(Checks.checkAbsolute(getVariable("ivy.home"), "ivy.home"));
@@ -824,13 +825,13 @@ public class IvySettings implements Sort
return defaultUserDir;
}
- public void setDefaultIvyUserDir(File defaultUserDir) {
+ public synchronized void setDefaultIvyUserDir(File defaultUserDir) {
this.defaultUserDir = defaultUserDir;
setVariable("ivy.default.ivy.user.dir", this.defaultUserDir.getAbsolutePath());
setVariable("ivy.home", this.defaultUserDir.getAbsolutePath());
}
- public File getDefaultCache() {
+ public synchronized File getDefaultCache() {
if (defaultCache == null) {
String cache = getVariable("ivy.cache.dir");
if (cache != null) {
@@ -843,7 +844,7 @@ public class IvySettings implements Sort
return defaultCache;
}
- public void setDefaultRepositoryCacheBasedir(String repositoryCacheRoot) {
+ public synchronized void setDefaultRepositoryCacheBasedir(String repositoryCacheRoot) {
setVariable("ivy.cache.repository", repositoryCacheRoot, true);
if (defaultRepositoryCacheManager != null
&& "default-cache".equals(defaultRepositoryCacheManager.getName())
@@ -853,7 +854,7 @@ public class IvySettings implements Sort
}
}
- public void setDefaultResolutionCacheBasedir(String resolutionCacheRoot) {
+ public synchronized void setDefaultResolutionCacheBasedir(String resolutionCacheRoot) {
setVariable("ivy.cache.resolution", resolutionCacheRoot, true);
if (resolutionCacheManager != null
&& resolutionCacheManager instanceof DefaultResolutionCacheManager) {
@@ -862,7 +863,7 @@ public class IvySettings implements Sort
}
}
- public File getDefaultRepositoryCacheBasedir() {
+ public synchronized File getDefaultRepositoryCacheBasedir() {
String repositoryCacheRoot = getVariable("ivy.cache.repository");
if (repositoryCacheRoot != null) {
return Checks.checkAbsolute(repositoryCacheRoot, "ivy.cache.repository");
@@ -871,7 +872,7 @@ public class IvySettings implements Sort
}
}
- public File getDefaultResolutionCacheBasedir() {
+ public synchronized File getDefaultResolutionCacheBasedir() {
String resolutionCacheRoot = getVariable("ivy.cache.resolution");
if (resolutionCacheRoot != null) {
return Checks.checkAbsolute(resolutionCacheRoot, "ivy.cache.resolution");
@@ -880,11 +881,11 @@ public class IvySettings implements Sort
}
}
- public void setDictatorResolver(DependencyResolver resolver) {
+ public synchronized void setDictatorResolver(DependencyResolver resolver) {
dictatorResolver = resolver;
}
- public DependencyResolver getResolver(ModuleRevisionId mrid) {
+ public synchronized DependencyResolver getResolver(ModuleRevisionId mrid) {
if (dictatorResolver != null) {
return dictatorResolver;
}
@@ -892,11 +893,11 @@ public class IvySettings implements Sort
return getResolver(resolverName);
}
- public boolean hasResolver(String resolverName) {
+ public synchronized boolean hasResolver(String resolverName) {
return resolversMap.containsKey(resolverName);
}
- public DependencyResolver getResolver(String resolverName) {
+ public synchronized DependencyResolver getResolver(String resolverName) {
if (dictatorResolver != null) {
return dictatorResolver;
}
@@ -907,7 +908,7 @@ public class IvySettings implements Sort
return resolver;
}
- public DependencyResolver getDefaultResolver() {
+ public synchronized DependencyResolver getDefaultResolver() {
if (dictatorResolver != null) {
return dictatorResolver;
}
@@ -917,7 +918,7 @@ public class IvySettings implements Sort
return defaultResolver;
}
- public String getResolverName(ModuleRevisionId mrid) {
+ public synchronized String getResolverName(ModuleRevisionId mrid) {
ModuleSettings ms = (ModuleSettings) moduleSettings.getRule(mrid, new Filter() {
public boolean accept(Object o) {
return ((ModuleSettings) o).getResolverName() != null;
@@ -926,7 +927,7 @@ public class IvySettings implements Sort
return ms == null ? defaultResolverName : ms.getResolverName();
}
- public String getDefaultBranch(ModuleId moduleId) {
+ public synchronized String getDefaultBranch(ModuleId moduleId) {
ModuleSettings ms = (ModuleSettings) moduleSettings.getRule(moduleId, new Filter() {
public boolean accept(Object o) {
return ((ModuleSettings) o).getBranch() != null;
@@ -935,15 +936,15 @@ public class IvySettings implements Sort
return ms == null ? getDefaultBranch() : ms.getBranch();
}
- public String getDefaultBranch() {
+ public synchronized String getDefaultBranch() {
return defaultBranch;
}
- public void setDefaultBranch(String defaultBranch) {
+ public synchronized void setDefaultBranch(String defaultBranch) {
this.defaultBranch = defaultBranch;
}
- public ConflictManager getConflictManager(ModuleId moduleId) {
+ public synchronized ConflictManager getConflictManager(ModuleId moduleId) {
ModuleSettings ms = (ModuleSettings) moduleSettings.getRule(moduleId, new Filter() {
public boolean accept(Object o) {
return ((ModuleSettings) o).getConflictManager() != null;
@@ -962,7 +963,7 @@ public class IvySettings implements Sort
}
}
- public String getResolveMode(ModuleId moduleId) {
+ public synchronized String getResolveMode(ModuleId moduleId) {
ModuleSettings ms = (ModuleSettings) moduleSettings.getRule(moduleId, new Filter() {
public boolean accept(Object o) {
return ((ModuleSettings) o).getResolveMode() != null;
@@ -971,140 +972,140 @@ public class IvySettings implements Sort
return ms == null ? getDefaultResolveMode() : ms.getResolveMode();
}
- public String getDefaultResolveMode() {
+ public synchronized String getDefaultResolveMode() {
return defaultResolveMode;
}
- public void setDefaultResolveMode(String defaultResolveMode) {
+ public synchronized void setDefaultResolveMode(String defaultResolveMode) {
this.defaultResolveMode = defaultResolveMode;
}
- public void addConfigured(ConflictManager cm) {
+ public synchronized void addConfigured(ConflictManager cm) {
addConflictManager(cm.getName(), cm);
}
- public ConflictManager getConflictManager(String name) {
+ public synchronized ConflictManager getConflictManager(String name) {
if ("default".equals(name)) {
return getDefaultConflictManager();
}
return (ConflictManager) conflictsManager.get(name);
}
- public void addConflictManager(String name, ConflictManager cm) {
+ public synchronized void addConflictManager(String name, ConflictManager cm) {
init(cm);
conflictsManager.put(name, cm);
}
- public void addConfigured(LatestStrategy latest) {
+ public synchronized void addConfigured(LatestStrategy latest) {
addLatestStrategy(latest.getName(), latest);
}
- public LatestStrategy getLatestStrategy(String name) {
+ public synchronized LatestStrategy getLatestStrategy(String name) {
if ("default".equals(name)) {
return getDefaultLatestStrategy();
}
return (LatestStrategy) latestStrategies.get(name);
}
- public void addLatestStrategy(String name, LatestStrategy latest) {
+ public synchronized void addLatestStrategy(String name, LatestStrategy latest) {
init(latest);
latestStrategies.put(name, latest);
}
- public void addConfigured(LockStrategy lockStrategy) {
+ public synchronized void addConfigured(LockStrategy lockStrategy) {
addLockStrategy(lockStrategy.getName(), lockStrategy);
}
- public LockStrategy getLockStrategy(String name) {
+ public synchronized LockStrategy getLockStrategy(String name) {
if ("default".equals(name)) {
return getDefaultLockStrategy();
}
return (LockStrategy) lockStrategies.get(name);
}
- public void addLockStrategy(String name, LockStrategy lockStrategy) {
+ public synchronized void addLockStrategy(String name, LockStrategy lockStrategy) {
init(lockStrategy);
lockStrategies.put(name, lockStrategy);
}
- public void addConfigured(Namespace ns) {
+ public synchronized void addConfigured(Namespace ns) {
addNamespace(ns);
}
- public Namespace getNamespace(String name) {
+ public synchronized Namespace getNamespace(String name) {
if ("system".equals(name)) {
return getSystemNamespace();
}
return (Namespace) namespaces.get(name);
}
- public Namespace getSystemNamespace() {
+ public final Namespace getSystemNamespace() {
return Namespace.SYSTEM_NAMESPACE;
}
- public void addNamespace(Namespace ns) {
+ public synchronized void addNamespace(Namespace ns) {
init(ns);
namespaces.put(ns.getName(), ns);
}
- public void addConfigured(PatternMatcher m) {
+ public synchronized void addConfigured(PatternMatcher m) {
addMatcher(m);
}
- public PatternMatcher getMatcher(String name) {
+ public synchronized PatternMatcher getMatcher(String name) {
return (PatternMatcher) matchers.get(name);
}
- public void addMatcher(PatternMatcher m) {
+ public synchronized void addMatcher(PatternMatcher m) {
init(m);
matchers.put(m.getName(), m);
}
- public void addConfigured(RepositoryCacheManager c) {
+ public synchronized void addConfigured(RepositoryCacheManager c) {
addRepositoryCacheManager(c);
}
- public RepositoryCacheManager getRepositoryCacheManager(String name) {
+ public synchronized RepositoryCacheManager getRepositoryCacheManager(String name) {
return (RepositoryCacheManager) repositoryCacheManagers.get(name);
}
- public void addRepositoryCacheManager(RepositoryCacheManager c) {
+ public synchronized void addRepositoryCacheManager(RepositoryCacheManager c) {
init(c);
repositoryCacheManagers.put(c.getName(), c);
}
- public RepositoryCacheManager[] getRepositoryCacheManagers() {
+ public synchronized RepositoryCacheManager[] getRepositoryCacheManagers() {
return (RepositoryCacheManager[]) repositoryCacheManagers.values().toArray(
new RepositoryCacheManager[repositoryCacheManagers.size()]);
}
- public void addConfigured(ReportOutputter outputter) {
+ public synchronized void addConfigured(ReportOutputter outputter) {
addReportOutputter(outputter);
}
- public ReportOutputter getReportOutputter(String name) {
+ public synchronized ReportOutputter getReportOutputter(String name) {
return (ReportOutputter) reportOutputters.get(name);
}
- public void addReportOutputter(ReportOutputter outputter) {
+ public synchronized void addReportOutputter(ReportOutputter outputter) {
init(outputter);
reportOutputters.put(outputter.getName(), outputter);
}
- public ReportOutputter[] getReportOutputters() {
+ public synchronized ReportOutputter[] getReportOutputters() {
return (ReportOutputter[]) reportOutputters.values().toArray(
new ReportOutputter[reportOutputters.size()]);
}
- public void addConfigured(VersionMatcher vmatcher) {
+ public synchronized void addConfigured(VersionMatcher vmatcher) {
addVersionMatcher(vmatcher);
}
- public VersionMatcher getVersionMatcher(String name) {
+ public synchronized VersionMatcher getVersionMatcher(String name) {
return (VersionMatcher) versionMatchers.get(name);
}
- public void addVersionMatcher(VersionMatcher vmatcher) {
+ public synchronized void addVersionMatcher(VersionMatcher vmatcher) {
init(vmatcher);
versionMatchers.put(vmatcher.getName(), vmatcher);
@@ -1118,43 +1119,43 @@ public class IvySettings implements Sort
}
}
- public VersionMatcher[] getVersionMatchers() {
+ public synchronized VersionMatcher[] getVersionMatchers() {
return (VersionMatcher[]) versionMatchers.values().toArray(
new VersionMatcher[versionMatchers.size()]);
}
- public VersionMatcher getVersionMatcher() {
+ public synchronized VersionMatcher getVersionMatcher() {
if (versionMatcher == null) {
configureDefaultVersionMatcher();
}
return versionMatcher;
}
- public void configureDefaultVersionMatcher() {
+ public synchronized void configureDefaultVersionMatcher() {
addVersionMatcher(new LatestVersionMatcher());
addVersionMatcher(new SubVersionMatcher());
addVersionMatcher(new VersionRangeMatcher());
}
- public CircularDependencyStrategy getCircularDependencyStrategy() {
+ public synchronized CircularDependencyStrategy getCircularDependencyStrategy() {
if (circularDependencyStrategy == null) {
circularDependencyStrategy = getCircularDependencyStrategy("default");
}
return circularDependencyStrategy;
}
- public CircularDependencyStrategy getCircularDependencyStrategy(String name) {
+ public synchronized CircularDependencyStrategy getCircularDependencyStrategy(String name) {
if ("default".equals(name)) {
name = "warn";
}
return (CircularDependencyStrategy) circularDependencyStrategies.get(name);
}
- public void setCircularDependencyStrategy(CircularDependencyStrategy strategy) {
+ public synchronized void setCircularDependencyStrategy(CircularDependencyStrategy strategy) {
circularDependencyStrategy = strategy;
}
- public void addConfigured(CircularDependencyStrategy strategy) {
+ public synchronized void addConfigured(CircularDependencyStrategy strategy) {
addCircularDependencyStrategy(strategy);
}
@@ -1168,7 +1169,7 @@ public class IvySettings implements Sort
addCircularDependencyStrategy(IgnoreCircularDependencyStrategy.getInstance());
}
- public StatusManager getStatusManager() {
+ public synchronized StatusManager getStatusManager() {
if (statusManager == null) {
statusManager = StatusManager.newDefaultInstance();
}
@@ -1183,7 +1184,7 @@ public class IvySettings implements Sort
* Returns the file names of the files that should be ignored when
* creating a file listing.
*/
- public String[] getIgnorableFilenames() {
+ public synchronized String[] getIgnorableFilenames() {
return (String[]) listingIgnore.toArray(new String[listingIgnore.size()]);
}
@@ -1193,31 +1194,31 @@ public class IvySettings implements Sort
*
* @param names
*/
- public void filterIgnore(Collection names) {
+ public synchronized void filterIgnore(Collection names) {
names.removeAll(listingIgnore);
}
- public boolean isCheckUpToDate() {
+ public synchronized boolean isCheckUpToDate() {
return checkUpToDate;
}
- public void setCheckUpToDate(boolean checkUpToDate) {
+ public synchronized void setCheckUpToDate(boolean checkUpToDate) {
this.checkUpToDate = checkUpToDate;
}
- public boolean doValidate() {
+ public synchronized boolean doValidate() {
return validate;
}
- public void setValidate(boolean validate) {
+ public synchronized void setValidate(boolean validate) {
this.validate = validate;
}
- public String getVariable(String name) {
+ public synchronized String getVariable(String name) {
return variableContainer.getVariable(name);
}
- public ConflictManager getDefaultConflictManager() {
+ public synchronized ConflictManager getDefaultConflictManager() {
if (defaultConflictManager == null) {
defaultConflictManager = new LatestConflictManager(getDefaultLatestStrategy());
((LatestConflictManager) defaultConflictManager).setSettings(this);
@@ -1225,33 +1226,33 @@ public class IvySettings implements Sort
return defaultConflictManager;
}
- public void setDefaultConflictManager(ConflictManager defaultConflictManager) {
+ public synchronized void setDefaultConflictManager(ConflictManager defaultConflictManager) {
this.defaultConflictManager = defaultConflictManager;
}
- public LatestStrategy getDefaultLatestStrategy() {
+ public synchronized LatestStrategy getDefaultLatestStrategy() {
if (defaultLatestStrategy == null) {
defaultLatestStrategy = new LatestRevisionStrategy();
}
return defaultLatestStrategy;
}
- public void setDefaultLatestStrategy(LatestStrategy defaultLatestStrategy) {
+ public synchronized void setDefaultLatestStrategy(LatestStrategy defaultLatestStrategy) {
this.defaultLatestStrategy = defaultLatestStrategy;
}
- public LockStrategy getDefaultLockStrategy() {
+ public synchronized LockStrategy getDefaultLockStrategy() {
if (defaultLockStrategy == null) {
defaultLockStrategy = new NoLockStrategy();
}
return defaultLockStrategy;
}
- public void setDefaultLockStrategy(LockStrategy defaultLockStrategy) {
+ public synchronized void setDefaultLockStrategy(LockStrategy defaultLockStrategy) {
this.defaultLockStrategy = defaultLockStrategy;
}
- public RepositoryCacheManager getDefaultRepositoryCacheManager() {
+ public synchronized RepositoryCacheManager getDefaultRepositoryCacheManager() {
if (defaultRepositoryCacheManager == null) {
defaultRepositoryCacheManager
= new DefaultRepositoryCacheManager(
@@ -1261,11 +1262,11 @@ public class IvySettings implements Sort
return defaultRepositoryCacheManager;
}
- public void setDefaultRepositoryCacheManager(RepositoryCacheManager cache) {
+ public synchronized void setDefaultRepositoryCacheManager(RepositoryCacheManager cache) {
this.defaultRepositoryCacheManager = cache;
}
- public ResolutionCacheManager getResolutionCacheManager() {
+ public synchronized ResolutionCacheManager getResolutionCacheManager() {
if (resolutionCacheManager == null) {
resolutionCacheManager
= new DefaultResolutionCacheManager(getDefaultResolutionCacheBasedir());
@@ -1274,47 +1275,47 @@ public class IvySettings implements Sort
return resolutionCacheManager;
}
- public void setResolutionCacheManager(ResolutionCacheManager resolutionCacheManager) {
+ public synchronized void setResolutionCacheManager(ResolutionCacheManager resolutionCacheManager) {
this.resolutionCacheManager = resolutionCacheManager;
}
- public void addTrigger(Trigger trigger) {
+ public synchronized void addTrigger(Trigger trigger) {
init(trigger);
triggers.add(trigger);
}
- public List getTriggers() {
+ public synchronized List getTriggers() {
return triggers;
}
- public void addConfigured(Trigger trigger) {
+ public synchronized void addConfigured(Trigger trigger) {
addTrigger(trigger);
}
- public boolean isUseRemoteConfig() {
+ public synchronized boolean isUseRemoteConfig() {
return useRemoteConfig;
}
- public void setUseRemoteConfig(boolean useRemoteConfig) {
+ public synchronized void setUseRemoteConfig(boolean useRemoteConfig) {
this.useRemoteConfig = useRemoteConfig;
}
- public boolean logModulesInUse() {
+ public synchronized boolean logModulesInUse() {
String var = getVariable("ivy.log.modules.in.use");
return var == null || Boolean.valueOf(var).booleanValue();
}
- public boolean logModuleWhenFound() {
+ public synchronized boolean logModuleWhenFound() {
String var = getVariable("ivy.log.module.when.found");
return var == null || Boolean.valueOf(var).booleanValue();
}
- public boolean logResolvedRevision() {
+ public synchronized boolean logResolvedRevision() {
String var = getVariable("ivy.log.resolved.revision");
return var == null || Boolean.valueOf(var).booleanValue();
}
- public boolean debugConflictResolution() {
+ public synchronized boolean debugConflictResolution() {
if (debugConflictResolution == null) {
String var = getVariable("ivy.log.conflict.resolution");
debugConflictResolution = Boolean.valueOf(var != null
@@ -1323,7 +1324,7 @@ public class IvySettings implements Sort
return debugConflictResolution.booleanValue();
}
- public final boolean debugLocking() {
+ public synchronized boolean debugLocking() {
if (debugLocking == null) {
String var = getVariable("ivy.log.locking");
debugLocking = Boolean.valueOf(var != null
@@ -1332,7 +1333,7 @@ public class IvySettings implements Sort
return debugLocking.booleanValue();
}
- public boolean dumpMemoryUsage() {
+ public synchronized boolean dumpMemoryUsage() {
if (dumpMemoryUsage == null) {
String var = getVariable("ivy.log.memory");
dumpMemoryUsage = Boolean.valueOf(var != null
@@ -1342,11 +1343,11 @@ public class IvySettings implements Sort
}
- public boolean logNotConvertedExclusionRule() {
+ public synchronized boolean logNotConvertedExclusionRule() {
return logNotConvertedExclusionRule;
}
- public void setLogNotConvertedExclusionRule(boolean logNotConvertedExclusionRule) {
+ public synchronized void setLogNotConvertedExclusionRule(boolean logNotConvertedExclusionRule) {
this.logNotConvertedExclusionRule = logNotConvertedExclusionRule;
}
@@ -1399,23 +1400,23 @@ public class IvySettings implements Sort
}
}
- public long getInterruptTimeout() {
+ public final long getInterruptTimeout() {
return INTERUPT_TIMEOUT;
}
- public Collection getResolvers() {
+ public synchronized Collection getResolvers() {
return resolversMap.values();
}
- public Collection getResolverNames() {
+ public synchronized Collection getResolverNames() {
return resolversMap.keySet();
}
- public Collection getMatcherNames() {
+ public synchronized Collection getMatcherNames() {
return matchers.keySet();
}
- public IvyVariableContainer getVariableContainer() {
+ public synchronized IvyVariableContainer getVariableContainer() {
return variableContainer;
}
@@ -1424,42 +1425,42 @@ public class IvySettings implements Sort
*
* @param variables
*/
- public void setVariableContainer(IvyVariableContainer variables) {
+ public synchronized void setVariableContainer(IvyVariableContainer variables) {
variableContainer = variables;
}
- public RelativeUrlResolver getRelativeUrlResolver() {
+ public synchronized RelativeUrlResolver getRelativeUrlResolver() {
return new NormalRelativeUrlResolver();
}
- public void setDefaultCacheIvyPattern(String defaultCacheIvyPattern) {
+ public synchronized void setDefaultCacheIvyPattern(String defaultCacheIvyPattern) {
CacheUtil.checkCachePattern(defaultCacheIvyPattern);
this.defaultCacheIvyPattern = defaultCacheIvyPattern;
}
- public String getDefaultCacheIvyPattern() {
+ public synchronized String getDefaultCacheIvyPattern() {
return defaultCacheIvyPattern;
}
- public void setDefaultCacheArtifactPattern(String defaultCacheArtifactPattern) {
+ public synchronized void setDefaultCacheArtifactPattern(String defaultCacheArtifactPattern) {
CacheUtil.checkCachePattern(defaultCacheArtifactPattern);
this.defaultCacheArtifactPattern = defaultCacheArtifactPattern;
}
- public String getDefaultCacheArtifactPattern() {
+ public synchronized String getDefaultCacheArtifactPattern() {
return defaultCacheArtifactPattern;
}
- public void setDefaultUseOrigin(boolean useOrigin) {
+ public synchronized void setDefaultUseOrigin(boolean useOrigin) {
defaultUseOrigin = useOrigin;
}
- public boolean isDefaultUseOrigin() {
+ public synchronized boolean isDefaultUseOrigin() {
return defaultUseOrigin;
}
- public void useDeprecatedUseOrigin() {
+ public synchronized void useDeprecatedUseOrigin() {
Message.deprecated("useOrigin option is deprecated when calling resolve, use useOrigin"
+ " setting on the cache implementation instead");
setDefaultUseOrigin(true);
@@ -1473,7 +1474,7 @@ public class IvySettings implements Sort
* @throws IllegalStateException
* if the settings is not valid.
*/
- public void validate() {
+ public synchronized void validate() {
validateAll(resolversMap.values());
validateAll(conflictsManager.values());
validateAll(latestStrategies.values());