Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsliebig2008-02-14 12:06:00 +0000
committersliebig2008-02-14 12:06:00 +0000
commit693b4cbaf1b80d9ac91bf0d7e9e6fecd1a31de47 (patch)
tree5ef2325b82c5e649fe651237e0e3249a07351e7c /bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java
parentc239559e5461d37fffe4a2576dc95bc6ef60209b (diff)
downloadrt.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.java16
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

Back to the top