mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
properties: introduce isValid for ResourceBundle object and check it in project tree node EA-93126
This commit is contained in:
+5
@@ -57,6 +57,11 @@ public class EmptyResourceBundle {
|
||||
public Project getProject() {
|
||||
throw new IllegalStateException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValid() {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
}
|
||||
public static ResourceBundle getInstance() {
|
||||
|
||||
+2
@@ -53,4 +53,6 @@ public abstract class ResourceBundle {
|
||||
public Project getProject() {
|
||||
return getDefaultPropertiesFile().getProject();
|
||||
}
|
||||
|
||||
public abstract boolean isValid();
|
||||
}
|
||||
|
||||
+10
@@ -85,6 +85,16 @@ public class CustomResourceBundle extends ResourceBundle {
|
||||
return baseDir;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValid() {
|
||||
for (PropertiesFile file : myFiles) {
|
||||
if (!file.getContainingFile().isValid()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean equals(final Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
|
||||
+1
@@ -56,6 +56,7 @@ public class ResourceBundleImpl extends ResourceBundle {
|
||||
return myDefaultPropertiesFile.getParent().getVirtualFile();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValid() {
|
||||
return myValid && myDefaultPropertiesFile.getContainingFile().isValid();
|
||||
}
|
||||
|
||||
+7
-6
@@ -29,6 +29,7 @@ import com.intellij.ide.projectView.impl.nodes.PsiFileNode;
|
||||
import com.intellij.ide.util.treeView.AbstractTreeNode;
|
||||
import com.intellij.ide.util.treeView.ValidateableNode;
|
||||
import com.intellij.lang.properties.*;
|
||||
import com.intellij.lang.properties.ResourceBundle;
|
||||
import com.intellij.lang.properties.editor.ResourceBundleAsVirtualFile;
|
||||
import com.intellij.lang.properties.psi.PropertiesFile;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
@@ -41,22 +42,22 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiFileSystemItem;
|
||||
import com.intellij.psi.PsiManager;
|
||||
import com.intellij.util.ObjectUtils;
|
||||
import com.intellij.util.containers.MultiMap;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.tree.DefaultMutableTreeNode;
|
||||
import javax.swing.tree.TreeNode;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
public class ResourceBundleNode extends ProjectViewNode<ResourceBundle> implements ValidateableNode, DropTargetNode {
|
||||
public ResourceBundleNode(Project project, ResourceBundle resourceBundle, final ViewSettings settings) {
|
||||
super(project, resourceBundle, settings);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public Collection<AbstractTreeNode> getChildren() {
|
||||
@@ -128,12 +129,12 @@ public class ResourceBundleNode extends ProjectViewNode<ResourceBundle> implemen
|
||||
if (!Comparing.equal(newBundle, currentBundle)) {
|
||||
return false;
|
||||
}
|
||||
return !(currentBundle instanceof ResourceBundleImpl) || ((ResourceBundleImpl)currentBundle).isValid();
|
||||
return ObjectUtils.notNull(currentBundle).isValid();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValid() {
|
||||
return getValue().getDefaultPropertiesFile().getContainingFile().isValid();
|
||||
return ObjectUtils.notNull(getValue()).isValid();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user