remove unused property: show one clear status dialog

IDEA-CR-58460

GitOrigin-RevId: d749e5f078b4d82f2348678b42c04f52033eb75b
This commit is contained in:
Anna Kozlova
2020-02-17 19:08:55 +00:00
committed by intellij-monorepo-bot
parent e79ff6eab6
commit 47ab4db8e2
@@ -16,12 +16,13 @@ import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleUtilCore;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiElement;
import com.intellij.psi.SmartPointerManager;
import com.intellij.psi.SmartPsiElementPointer;
import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NotNull;
import java.util.List;
import java.util.Objects;
import java.util.function.Function;
@@ -66,14 +67,18 @@ public class UnusedPropertyUtil {
if (key == null) return;
final PropertiesFile file = PropertiesImplUtil.getPropertiesFile(myRepresentativePointer.getContainingFile());
LOG.assertTrue(file != null);
file.getResourceBundle()
.getPropertiesFiles()
List<PropertiesFile> propertiesFiles = file.getResourceBundle().getPropertiesFiles();
if (!FileModificationService.getInstance()
.preparePsiElementsForWrite(ContainerUtil.map2List(propertiesFiles, p -> p.getContainingFile()))) {
return;
}
WriteAction.run(() -> propertiesFiles
.stream()
.flatMap(f -> f.findPropertiesByKey(key).stream())
.filter(Objects::nonNull)
.map(IProperty::getPsiElement)
.filter(FileModificationService.getInstance()::preparePsiElementForWrite)
.forEach(e -> WriteAction.run(() -> e.delete()));
.forEach(e -> e.delete())
);
}
}
}