artifacts pointers fixed (IDEA-27203 & IDEA-27189)

This commit is contained in:
nik
2010-02-11 11:34:36 +03:00
parent 864c709bf2
commit acf2c70efa
2 changed files with 11 additions and 4 deletions
@@ -314,12 +314,13 @@ public class ArtifactManagerImpl extends ArtifactManager implements ProjectCompo
myModel.setArtifactsList(allArtifacts);
myModificationCount++;
final ArtifactListener publisher = myProject.getMessageBus().syncPublisher(TOPIC);
for (ArtifactImpl artifact : added) {
publisher.artifactAdded(artifact);
}
for (ArtifactImpl artifact : removed) {
publisher.artifactRemoved(artifact);
}
//it's important to send 'removed' events before 'added'. Otherwise when artifacts are reloaded from xml artifact pointers will be damaged
for (ArtifactImpl artifact : added) {
publisher.artifactAdded(artifact);
}
for (Pair<ArtifactImpl, String> pair : changed) {
publisher.artifactChanged(pair.getFirst(), pair.getSecond());
}
@@ -103,7 +103,13 @@ public class ArtifactPointerManagerImpl extends ArtifactPointerManager {
public ArtifactPointer createPointer(@NotNull Artifact artifact) {
ArtifactPointerImpl pointer = myPointers.get(artifact);
if (pointer == null) {
pointer = new ArtifactPointerImpl(artifact);
pointer = myUnresolvedPointers.get(artifact.getName());
if (pointer != null) {
pointer.setArtifact(artifact);
}
else {
pointer = new ArtifactPointerImpl(artifact);
}
myPointers.put(artifact, pointer);
}
return pointer;