diff options
author | sliebig | 2008-02-14 12:06:00 +0000 |
---|---|---|
committer | sliebig | 2008-02-14 12:06:00 +0000 |
commit | 693b4cbaf1b80d9ac91bf0d7e9e6fecd1a31de47 (patch) | |
tree | 5ef2325b82c5e649fe651237e0e3249a07351e7c /bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java | |
parent | c239559e5461d37fffe4a2576dc95bc6ef60209b (diff) | |
download | rt.equinox.p2-693b4cbaf1b80d9ac91bf0d7e9e6fecd1a31de47.tar.gz rt.equinox.p2-693b4cbaf1b80d9ac91bf0d7e9e6fecd1a31de47.tar.xz rt.equinox.p2-693b4cbaf1b80d9ac91bf0d7e9e6fecd1a31de47.zip |
made accessing the mappingRules thread safe
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java')
-rw-r--r-- | bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java index 50ba8f79b..01029c87f 100644 --- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java +++ b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java @@ -376,8 +376,8 @@ public class SimpleArtifactRepository extends AbstractArtifactRepository impleme String baseLocation = getLocation(descriptor); String mirrorLocation = getMirror(baseLocation); IStatus result = getTransport().download(mirrorLocation, destination, monitor); - if (mirrors != null) - mirrors.reportResult(mirrorLocation, result); + if (mirrors != null) + mirrors.reportResult(mirrorLocation, result); if (result.isOK() || baseLocation.equals(mirrorLocation)) return result; //maybe we hit a bad mirror - try the base location @@ -782,12 +782,14 @@ public class SimpleArtifactRepository extends AbstractArtifactRepository impleme if (oldValue == newValue || (oldValue != null && oldValue.equals(newValue))) return oldValue; if (PUBLISH_PACK_FILES_AS_SIBLINGS.equals(key)) { - if (Boolean.TRUE.toString().equals(newValue)) { - mappingRules = PACKED_MAPPING_RULES; - } else { - mappingRules = DEFAULT_MAPPING_RULES; + synchronized (this) { + if (Boolean.TRUE.toString().equals(newValue)) { + mappingRules = PACKED_MAPPING_RULES; + } else { + mappingRules = DEFAULT_MAPPING_RULES; + } + initializeMapper(); } - initializeMapper(); } save(); //force repository manager to reload this repository because it caches properties |