From be00f8e12c8a1749de20e6d7ddaa7e588a5cd568 Mon Sep 17 00:00:00 2001 From: Serega Vasiliev Date: Tue, 1 Oct 2013 12:15:55 +0200 Subject: [PATCH] remove obsolete dependent facet from module (jsf) --- .../DetachFacetConversionProcessor.java | 22 +++++++------------ .../conversion/impl/ModuleSettingsImpl.java | 12 ++++++++-- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/conversion/DetachFacetConversionProcessor.java b/platform/lang-impl/src/com/intellij/conversion/DetachFacetConversionProcessor.java index ce823d4360e2..23b79e0f2172 100644 --- a/platform/lang-impl/src/com/intellij/conversion/DetachFacetConversionProcessor.java +++ b/platform/lang-impl/src/com/intellij/conversion/DetachFacetConversionProcessor.java @@ -19,11 +19,10 @@ package com.intellij.conversion; import com.intellij.facet.FacetManagerImpl; import org.jdom.Element; import org.jetbrains.annotations.NotNull; -import org.jetbrains.jps.model.serialization.facet.JpsFacetSerializer; -import java.util.List; +import java.util.Collection; -public class DetachFacetConversionProcessor extends ConversionProcessor{ +public class DetachFacetConversionProcessor extends ConversionProcessor { private final String[] myFacetNames; public DetachFacetConversionProcessor(@NotNull String... names) { @@ -44,20 +43,15 @@ public class DetachFacetConversionProcessor extends ConversionProcessor children = parent.getChildren(name); - return children.toArray(new Element[children.size()]); + private static Element[] getElements(ModuleSettings moduleSettings, String facetName) { + Collection elements = moduleSettings.getFacetElements(facetName); + return elements.toArray(new Element[elements.size()]); } } diff --git a/platform/lang-impl/src/com/intellij/conversion/impl/ModuleSettingsImpl.java b/platform/lang-impl/src/com/intellij/conversion/impl/ModuleSettingsImpl.java index 6df742082ba0..e547dd0f46e2 100644 --- a/platform/lang-impl/src/com/intellij/conversion/impl/ModuleSettingsImpl.java +++ b/platform/lang-impl/src/com/intellij/conversion/impl/ModuleSettingsImpl.java @@ -76,12 +76,20 @@ public class ModuleSettingsImpl extends ComponentManagerSettingsImpl implements public Collection getFacetElements(@NotNull String facetTypeId) { final Element facetManager = getComponentElement(FacetManagerImpl.COMPONENT_NAME); final ArrayList elements = new ArrayList(); - for (Element child : JDOMUtil.getChildren(facetManager, JpsFacetSerializer.FACET_TAG)) { + + addFacetTypes(facetTypeId, facetManager, elements); + + return elements; + } + + private static void addFacetTypes(@NotNull String facetTypeId, @Nullable Element parent, @NotNull ArrayList elements) { + for (Element child : JDOMUtil.getChildren(parent, JpsFacetSerializer.FACET_TAG)) { if (facetTypeId.equals(child.getAttributeValue(JpsFacetSerializer.TYPE_ATTRIBUTE))) { elements.add(child); + } else { + addFacetTypes(facetTypeId, child, elements); } } - return elements; } @Override