update artifacts on facet rename (IDEADEV-40824)
authornik <Nikolay.Chashnikov@jetbrains.com>
Mon, 9 Nov 2009 13:19:46 +0000 (16:19 +0300)
committernik <Nikolay.Chashnikov@jetbrains.com>
Mon, 9 Nov 2009 13:19:46 +0000 (16:19 +0300)
java/idea-ui/src/com/intellij/facet/impl/pointers/FacetPointerImpl.java
java/openapi/src/com/intellij/facet/pointers/FacetPointer.java
platform/lang-api/src/com/intellij/facet/FacetModel.java
platform/lang-api/src/com/intellij/facet/ModifiableFacetModel.java
platform/lang-impl/src/com/intellij/facet/FacetManagerImpl.java
platform/lang-impl/src/com/intellij/facet/impl/FacetModelBase.java
platform/lang-impl/src/com/intellij/facet/impl/FacetModelImpl.java

index 345e95fcd9b978c7b28e73301059ee963670c1f8..e79c41688cd48bf2c3049407673f664542764177 100644 (file)
 
 package com.intellij.facet.impl.pointers;
 
-import com.intellij.facet.Facet;
-import com.intellij.facet.FacetManager;
-import com.intellij.facet.FacetType;
-import com.intellij.facet.FacetTypeRegistry;
+import com.intellij.facet.*;
 import com.intellij.facet.pointers.FacetPointer;
 import com.intellij.facet.pointers.FacetPointersManager;
 import com.intellij.openapi.Disposable;
+import com.intellij.openapi.module.ModifiableModuleModel;
 import com.intellij.openapi.module.Module;
 import com.intellij.openapi.module.ModuleManager;
 import com.intellij.openapi.project.Project;
@@ -113,7 +111,7 @@ public class FacetPointerImpl<F extends Facet> implements FacetPointer<F> {
   }
 
   @Nullable
-  public F findFacet(ModulesProvider modulesProvider, FacetsProvider facetsProvider) {
+  public F findFacet(@NotNull ModulesProvider modulesProvider, @NotNull FacetsProvider facetsProvider) {
     final Module module = modulesProvider.getModule(myModuleName);
     if (module == null) return null;
     final FacetType<F, ?> type = getFacetType();
@@ -141,6 +139,25 @@ public class FacetPointerImpl<F extends Facet> implements FacetPointer<F> {
     return myFacetTypeId;
   }
 
+  @NotNull
+  public String getModuleName(@Nullable ModifiableModuleModel moduleModel) {
+    if (moduleModel != null && myFacet != null) {
+      final String newName = moduleModel.getNewName(myFacet.getModule());
+      if (newName != null) {
+        return newName;
+      }
+    }
+    return myModuleName;
+  }
+
+  @NotNull
+  public String getFacetName(@NotNull ModulesProvider modulesProvider, @NotNull FacetsProvider facetsProvider) {
+    if (myFacet != null) {
+      return modulesProvider.getFacetModel(myFacet.getModule()).getFacetName(myFacet);
+    }
+    return myFacetName;
+  }
+
   @Nullable
   public FacetType<F, ?> getFacetType() {
     //noinspection unchecked
index 4073cb6ff060f583ff6a689d27aec328709627ce..b741aae7a63037e496a0f130ffa1327536db7124 100644 (file)
@@ -18,6 +18,7 @@ package com.intellij.facet.pointers;
 
 import com.intellij.facet.Facet;
 import com.intellij.facet.FacetType;
+import com.intellij.openapi.module.ModifiableModuleModel;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.roots.ui.configuration.FacetsProvider;
 import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
@@ -48,8 +49,14 @@ public interface FacetPointer<F extends Facet> {
   FacetType<F, ?> getFacetType();
 
   @Nullable
-  F findFacet(ModulesProvider modulesProvider, FacetsProvider facetsProvider);
+  F findFacet(@NotNull ModulesProvider modulesProvider, @NotNull FacetsProvider facetsProvider);
 
   @NotNull
   String getFacetTypeId();
+
+  @NotNull
+  String getFacetName(@NotNull ModulesProvider modulesProvider, @NotNull FacetsProvider facetsProvider);
+
+  @NotNull 
+  String getModuleName(@Nullable ModifiableModuleModel moduleModel);
 }
index d2bde42cb7b8cea98f03f253c78a347d9674e325..f2369dc7944d51f0e1f3c146808b3f5445728827 100644 (file)
@@ -75,4 +75,7 @@ public interface FacetModel {
    */
   @NotNull
   <F extends Facet> Collection<F> getFacetsByType(@NotNull Facet underlyingFacet, FacetTypeId<F> typeId);
+
+  @NotNull
+  String getFacetName(@NotNull Facet facet);
 }
index 3cae806365f5dc30eaf3b759e1e9fecfe8873b75..9d858b24d56f08380fccb3d12130a66796dfb9c7 100644 (file)
@@ -38,8 +38,6 @@ public interface ModifiableFacetModel extends FacetModel {
   boolean isModified();
 
   boolean isNewFacet(Facet facet);
-  
-  String getFacetName(Facet facet);
 
   void addListener(@NotNull Listener listener, @Nullable Disposable parentDisposable);
 
index 8645719ada74a4d203e3cc466869aea23521a7be..2c5be630c7215061f239831a386768a646b2e42b 100644 (file)
@@ -115,6 +115,11 @@ public class FacetManagerImpl extends FacetManager implements ModuleComponent, P
   }
 
   @NotNull
+  public String getFacetName(@NotNull Facet facet) {
+    return myModel.getFacetName(facet);
+  }
+
+  @NotNull
   public <F extends Facet, C extends FacetConfiguration> F createFacet(@NotNull final FacetType<F, C> type, @NotNull final String name, @NotNull final C cofiguration,
                                                                           @Nullable final Facet underlying) {
     final F facet = type.createFacet(myModule, name, cofiguration, underlying);
index b4967cb961ff552f8916318168f112770f2e4c11..1be39a6d85a6065b4b51f8a9e31cd99f85812d9e 100644 (file)
@@ -82,6 +82,11 @@ public abstract class FacetModelBase implements FacetModel {
     return facets != null ? facets : Collections.<F>emptyList();
   }
 
+  @NotNull
+  public String getFacetName(@NotNull Facet facet) {
+    return facet.getName();
+  }
+
   @Nullable
   public <F extends Facet> F findFacet(final FacetTypeId<F> type, final String name) {
     final Collection<F> fs = getFacetsByType(type);
index bd137f76e7bf26241419a32296d0f67750a69499..aaaaee417cd18fcfa22c51e89400a182d7260083 100644 (file)
@@ -96,7 +96,8 @@ public class FacetModelImpl extends FacetModelBase implements ModifiableFacetMod
     return myFacets.toArray(new Facet[myFacets.size()]);
   }
 
-  public String getFacetName(final Facet facet) {
+  @NotNull
+  public String getFacetName(@NotNull final Facet facet) {
     return myFacet2NewName.containsKey(facet) ? myFacet2NewName.get(facet) : facet.getName();
   }