From 1bde0a1fe1daa96112df9e07061b7ff81efbe197 Mon Sep 17 00:00:00 2001 From: Dmitry Boulytchev Date: Tue, 21 Feb 2012 17:13:33 +0400 Subject: [PATCH] Fixed bug in integrate (compile-server). --- .../src/org/jetbrains/ether/dependencyView/Mappings.java | 8 ++++---- .../org/jetbrains/ether/dependencyView/MultiMaplet.java | 3 ++- .../ether/dependencyView/PersistentMultiMaplet.java | 7 +++++++ .../ether/dependencyView/TransientMultiMaplet.java | 9 ++++++++- 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/jps/model/src/org/jetbrains/ether/dependencyView/Mappings.java b/jps/model/src/org/jetbrains/ether/dependencyView/Mappings.java index 9d4e522c83e4..cc67d6620648 100644 --- a/jps/model/src/org/jetbrains/ether/dependencyView/Mappings.java +++ b/jps/model/src/org/jetbrains/ether/dependencyView/Mappings.java @@ -1605,7 +1605,7 @@ public class Mappings { } } - if (delta.isDifferentiated()) { + if (delta.isDifferentiated() && false) { for (DependencyContext.S c : delta.getChangedClasses()) { myClassToSubclasses.remove(c); @@ -1651,9 +1651,9 @@ public class Mappings { } } else { - mySourceFileToClasses.putAll(delta.mySourceFileToClasses); - mySourceFileToUsages.putAll(delta.mySourceFileToUsages); - mySourceFileToAnnotationUsages.putAll(delta.mySourceFileToAnnotationUsages); + mySourceFileToClasses.replaceAll(delta.mySourceFileToClasses); + mySourceFileToUsages.replaceAll(delta.mySourceFileToUsages); + mySourceFileToAnnotationUsages.replaceAll(delta.mySourceFileToAnnotationUsages); } final Collection compiledSet = new HashSet(compiled.size()); diff --git a/jps/model/src/org/jetbrains/ether/dependencyView/MultiMaplet.java b/jps/model/src/org/jetbrains/ether/dependencyView/MultiMaplet.java index 68b1f350dd68..a7152b3684dc 100644 --- a/jps/model/src/org/jetbrains/ether/dependencyView/MultiMaplet.java +++ b/jps/model/src/org/jetbrains/ether/dependencyView/MultiMaplet.java @@ -30,7 +30,8 @@ interface MultiMaplet { Collection get(final K key); void put(final K key, final V value); void put(final K key, final Collection value); - void putAll(MultiMaplet m); + void putAll(MultiMaplet m); + void replaceAll(MultiMaplet m); void remove(final K key); void removeFrom(final K key, final V value); void removeAll(final K key, final Collection value); diff --git a/jps/model/src/org/jetbrains/ether/dependencyView/PersistentMultiMaplet.java b/jps/model/src/org/jetbrains/ether/dependencyView/PersistentMultiMaplet.java index 3cfc2966da50..f1d288696244 100644 --- a/jps/model/src/org/jetbrains/ether/dependencyView/PersistentMultiMaplet.java +++ b/jps/model/src/org/jetbrains/ether/dependencyView/PersistentMultiMaplet.java @@ -141,6 +141,13 @@ class PersistentMultiMaplet implements MultiMaplet { @Override public void putAll(MultiMaplet m) { + for (Map.Entry> entry : m.entrySet()) { + put(entry.getKey(), entry.getValue()); + } + } + + @Override + public void replaceAll(MultiMaplet m) { for (Map.Entry> entry : m.entrySet()) { final K key = entry.getKey(); remove(key); diff --git a/jps/model/src/org/jetbrains/ether/dependencyView/TransientMultiMaplet.java b/jps/model/src/org/jetbrains/ether/dependencyView/TransientMultiMaplet.java index 2177cfdbd44b..7a5f2b85eb90 100644 --- a/jps/model/src/org/jetbrains/ether/dependencyView/TransientMultiMaplet.java +++ b/jps/model/src/org/jetbrains/ether/dependencyView/TransientMultiMaplet.java @@ -54,6 +54,13 @@ class TransientMultiMaplet implements MultiMaplet { return myMap.get(key); } + @Override + public void putAll(final MultiMaplet m) { + for (Map.Entry> e : m.entrySet()) { + put(e.getKey(), e.getValue()); + } + } + @Override public void put(final K key, final Collection value) { final Collection x = myMap.get(key); @@ -102,7 +109,7 @@ class TransientMultiMaplet implements MultiMaplet { } @Override - public void putAll(MultiMaplet m) { + public void replaceAll(MultiMaplet m) { for (Map.Entry> e : m.entrySet()) { remove(e.getKey()); put(e.getKey(), e.getValue());