IDEA-150835: Provide an API which tells which production module corresponding to...
[idea/community.git] / platform / external-system-impl / src / com / intellij / openapi / externalSystem / service / project / AbstractIdeModifiableModelsProvider.java
index 1721400de6078653c0aac2484d8b943580c180c8..cc2de2f9af28bcd5949178960742eb5e7b25c9e4 100644 (file)
@@ -55,6 +55,7 @@ public abstract class AbstractIdeModifiableModelsProvider extends IdeModelsProvi
   private ModifiableModuleModel myModifiableModuleModel;
   private Map<Module, ModifiableRootModel> myModifiableRootModels = new THashMap<Module, ModifiableRootModel>();
   private Map<Module, ModifiableFacetModel> myModifiableFacetModels = new THashMap<Module, ModifiableFacetModel>();
+  private Map<Module, String> myProductionModulesForTestModules = new THashMap<Module, String>();
   private Map<Library, Library.ModifiableModel> myModifiableLibraryModels = new IdentityHashMap<Library, Library.ModifiableModel>();
   private ModifiableArtifactModel myModifiableArtifactModel;
   private AbstractIdeModifiableModelsProvider.MyPackagingElementResolvingContext myPackagingElementResolvingContext;
@@ -361,6 +362,9 @@ public abstract class AbstractIdeModifiableModelsProvider extends IdeModelsProvi
             model.commit();
           }
         }
+        for (Map.Entry<Module, String> entry : myProductionModulesForTestModules.entrySet()) {
+          TestModuleProperties.getInstance(entry.getKey()).setProductionModuleName(entry.getValue());
+        }
 
         for (Map.Entry<Module, ModifiableFacetModel> each : myModifiableFacetModels.entrySet()) {
           if(!each.getKey().isDisposed()) {
@@ -397,4 +401,9 @@ public abstract class AbstractIdeModifiableModelsProvider extends IdeModelsProvi
     myModifiableFacetModels.clear();
     myModifiableLibraryModels.clear();
   }
+
+  @Override
+  public void setTestModuleProperties(Module testModule, String productionModuleName) {
+    myProductionModulesForTestModules.put(testModule, productionModuleName);
+  }
 }