From c55ea73acf8655ce744073c784b0a0a44752eb81 Mon Sep 17 00:00:00 2001 From: nik Date: Wed, 2 Dec 2009 17:14:07 +0300 Subject: [PATCH] [rev by D. Avdeed] ArtifactManager: service -> component --- .../impl/artifacts/ArtifactManagerImpl.java | 6 ++++-- .../artifacts/ArtifactPointerManagerImpl.java | 15 ++++++++++----- .../packaging/artifacts/ArtifactManager.java | 3 +-- resources/src/META-INF/IdeaPlugin.xml | 2 -- resources/src/componentSets/Compiler.xml | 4 ++++ 5 files changed, 19 insertions(+), 11 deletions(-) diff --git a/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactManagerImpl.java b/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactManagerImpl.java index e79a55ba907e..b3c58b3a17be 100644 --- a/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactManagerImpl.java +++ b/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactManagerImpl.java @@ -65,11 +65,11 @@ public class ArtifactManagerImpl extends ArtifactManager implements ProjectCompo }; private Map myWatchedOutputs = new HashMap(); - public ArtifactManagerImpl(Project project, VirtualFileManager virtualFileManager) { + public ArtifactManagerImpl(Project project) { myProject = project; myModel = new ArtifactManagerModel(); myResolvingContext = new DefaultPackagingElementResolvingContext(myProject); - virtualFileManager.addVirtualFileListener(new ArtifactVirtualFileListener(myProject, this), myProject); + ((ArtifactPointerManagerImpl)ArtifactPointerManager.getInstance(project)).setArtifactManager(this); } @NotNull @@ -225,6 +225,7 @@ public class ArtifactManagerImpl extends ArtifactManager implements ProjectCompo } public void initComponent() { + VirtualFileManager.getInstance().addVirtualFileListener(new ArtifactVirtualFileListener(myProject, this), myProject); updateWatchedRoots(); } @@ -326,6 +327,7 @@ public class ArtifactManagerImpl extends ArtifactManager implements ProjectCompo finally { myInsideCommit = false; } + updateWatchedRoots(); } public Project getProject() { diff --git a/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactPointerManagerImpl.java b/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactPointerManagerImpl.java index 92401f8a24ef..60ebae5d470a 100644 --- a/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactPointerManagerImpl.java +++ b/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactPointerManagerImpl.java @@ -29,10 +29,9 @@ import java.util.Map; public class ArtifactPointerManagerImpl extends ArtifactPointerManager { private final Map myUnresolvedPointers = new HashMap(); private final Map myPointers = new HashMap(); - private final Project myProject; + private ArtifactManager myArtifactManager; public ArtifactPointerManagerImpl(Project project) { - myProject = project; project.getMessageBus().connect().subscribe(ArtifactManager.TOPIC, new ArtifactAdapter() { @Override public void artifactRemoved(@NotNull Artifact artifact) { @@ -73,6 +72,10 @@ public class ArtifactPointerManagerImpl extends ArtifactPointerManager { }); } + public void setArtifactManager(ArtifactManager artifactManager) { + myArtifactManager = artifactManager; + } + private void disposePointer(Artifact artifact) { final ArtifactPointerImpl pointer = myPointers.remove(artifact); if (pointer != null) { @@ -82,9 +85,11 @@ public class ArtifactPointerManagerImpl extends ArtifactPointerManager { } public ArtifactPointer createPointer(@NotNull String name) { - final Artifact artifact = ArtifactManager.getInstance(myProject).findArtifact(name); - if (artifact != null) { - return createPointer(artifact); + if (myArtifactManager != null) { + final Artifact artifact = myArtifactManager.findArtifact(name); + if (artifact != null) { + return createPointer(artifact); + } } ArtifactPointerImpl pointer = myUnresolvedPointers.get(name); diff --git a/java/compiler/openapi/src/com/intellij/packaging/artifacts/ArtifactManager.java b/java/compiler/openapi/src/com/intellij/packaging/artifacts/ArtifactManager.java index 353216e390d7..9610bfa3e741 100644 --- a/java/compiler/openapi/src/com/intellij/packaging/artifacts/ArtifactManager.java +++ b/java/compiler/openapi/src/com/intellij/packaging/artifacts/ArtifactManager.java @@ -15,7 +15,6 @@ */ package com.intellij.packaging.artifacts; -import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.ModificationTracker; import com.intellij.packaging.elements.CompositePackagingElement; @@ -41,7 +40,7 @@ public abstract class ArtifactManager implements ArtifactModel { }; public static ArtifactManager getInstance(@NotNull Project project) { - return ServiceManager.getService(project, ArtifactManager.class); + return project.getComponent(ArtifactManager.class); } public abstract Artifact[] getSortedArtifacts(); diff --git a/resources/src/META-INF/IdeaPlugin.xml b/resources/src/META-INF/IdeaPlugin.xml index 0fa1b38604a2..3114b28d7b71 100644 --- a/resources/src/META-INF/IdeaPlugin.xml +++ b/resources/src/META-INF/IdeaPlugin.xml @@ -344,8 +344,6 @@ - + + com.intellij.packaging.artifacts.ArtifactManager + com.intellij.packaging.impl.artifacts.ArtifactManagerImpl + com.intellij.compiler.CompilerConfiguration com.intellij.compiler.CompilerConfigurationImpl