mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
cleanup — getRootElement
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -34,7 +34,7 @@ binding.setVariable("loadModule", {File moduleFile ->
|
||||
def moduleName = FileUtil.getNameWithoutExtension(moduleFile)
|
||||
def module = JpsElementFactory.instance.createModule(moduleName, JpsJavaModuleType.INSTANCE, JpsElementFactory.instance.createDummyElement())
|
||||
def expander = createModuleMacroExpander(new HashMap<String, String>(), moduleFile)
|
||||
def rootElement = JDOMUtil.loadDocument(moduleFile).rootElement
|
||||
def rootElement = JDOMUtil.load(moduleFile)
|
||||
expander.substitute(rootElement, SystemInfo.isFileSystemCaseSensitive)
|
||||
JpsModuleRootModelSerializer.loadRootModel(module, JDomSerializationUtil.findComponent(rootElement, "NewModuleRootManager"),
|
||||
JpsJavaSdkType.INSTANCE)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2012 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -34,7 +34,6 @@ import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.util.InvalidDataException;
|
||||
import com.intellij.openapi.util.JDOMUtil;
|
||||
import org.jdom.Document;
|
||||
import org.jdom.Element;
|
||||
import org.jdom.JDOMException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -62,6 +61,7 @@ public class ExistingModuleLoader extends ModuleBuilder {
|
||||
return moduleLoader;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public Module createModule(@NotNull ModifiableModuleModel moduleModel)
|
||||
throws InvalidDataException, IOException, ModuleWithNameAlreadyExists, JDOMException, ConfigurationException {
|
||||
@@ -75,14 +75,17 @@ public class ExistingModuleLoader extends ModuleBuilder {
|
||||
return moduleModel.loadModule(moduleFilePath);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setupRootModel(ModifiableRootModel modifiableRootModel) throws ConfigurationException {
|
||||
// empty
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModuleType getModuleType() {
|
||||
return null; // no matter
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean validate(final Project current, final Project dest) {
|
||||
if (getName() == null) return false;
|
||||
String moduleFilePath = getModuleFilePath();
|
||||
@@ -94,8 +97,7 @@ public class ExistingModuleLoader extends ModuleBuilder {
|
||||
if (result.openingIsCanceled()) {
|
||||
return false;
|
||||
}
|
||||
final Document document = JDOMUtil.loadDocument(file);
|
||||
final Element root = document.getRootElement();
|
||||
final Element root = JDOMUtil.load(file);
|
||||
final Set<String> usedMacros = PathMacrosCollector.getMacroNames(root);
|
||||
final Set<String> definedMacros = PathMacros.getInstance().getAllMacroNames();
|
||||
usedMacros.remove("$" + PathMacrosImpl.MODULE_DIR_MACRO_NAME + "$");
|
||||
|
||||
+10
-7
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2012 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -166,10 +166,12 @@ public class ProjectFromSourcesBuilderImpl extends ProjectImportBuilder implemen
|
||||
public void setOpenProjectSettingsAfter(boolean on) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFileToImport(String path) {
|
||||
setBaseProjectPath(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Module> commit(@NotNull final Project project, final ModifiableModuleModel model, final ModulesProvider modulesProvider) {
|
||||
final boolean fromProjectStructure = model != null;
|
||||
ModifiableModelsProvider modelsProvider = new IdeaModifiableModelsProvider();
|
||||
@@ -306,6 +308,7 @@ public class ProjectFromSourcesBuilderImpl extends ProjectImportBuilder implemen
|
||||
myUpdaters.add(updater);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasRootsFromOtherDetectors(ProjectStructureDetector thisDetector) {
|
||||
for (ProjectStructureDetector projectStructureDetector : Extensions.getExtensions(ProjectStructureDetector.EP_NAME)) {
|
||||
if (projectStructureDetector != thisDetector && !getProjectRoots(projectStructureDetector).isEmpty()) {
|
||||
@@ -321,7 +324,7 @@ public class ProjectFromSourcesBuilderImpl extends ProjectImportBuilder implemen
|
||||
List<ModuleDescriptor> modules = new ArrayList<ModuleDescriptor>();
|
||||
for (DetectedProjectRoot root : roots) {
|
||||
if (root instanceof DetectedContentRoot) {
|
||||
modules.add(new ModuleDescriptor(root.getDirectory(), ((DetectedContentRoot)root).getModuleType(), Collections.<DetectedSourceRoot>emptyList()));
|
||||
modules.add(new ModuleDescriptor(root.getDirectory(), ((DetectedContentRoot)root).getModuleType(), Collections.emptyList()));
|
||||
}
|
||||
}
|
||||
projectDescriptor.setModules(modules);
|
||||
@@ -405,10 +408,10 @@ public class ProjectFromSourcesBuilderImpl extends ProjectImportBuilder implemen
|
||||
}
|
||||
|
||||
private static boolean isTestRootName(final String name) {
|
||||
return "test".equalsIgnoreCase(name) ||
|
||||
"tests".equalsIgnoreCase(name) ||
|
||||
"testSource".equalsIgnoreCase(name) ||
|
||||
"testSources".equalsIgnoreCase(name) ||
|
||||
return "test".equalsIgnoreCase(name) ||
|
||||
"tests".equalsIgnoreCase(name) ||
|
||||
"testSource".equalsIgnoreCase(name) ||
|
||||
"testSources".equalsIgnoreCase(name) ||
|
||||
"testSrc".equalsIgnoreCase(name) ||
|
||||
"tst".equalsIgnoreCase(name);
|
||||
}
|
||||
@@ -437,7 +440,7 @@ public class ProjectFromSourcesBuilderImpl extends ProjectImportBuilder implemen
|
||||
if (moduleDescriptor.isReuseExistingElement()) {
|
||||
final File file = new File(moduleDescriptor.computeModuleFilePath());
|
||||
if (file.exists()) {
|
||||
final Element rootElement = JDOMUtil.loadDocument(file).getRootElement();
|
||||
final Element rootElement = JDOMUtil.load(file);
|
||||
final String type = rootElement.getAttributeValue("type");
|
||||
if (type != null) {
|
||||
return ModuleTypeManager.getInstance().findByID(type);
|
||||
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -44,14 +44,14 @@ public class InspectionProfilesConverterTest extends LightIdeaTestCase {
|
||||
try {
|
||||
final String relativePath = "/inspection/converter/";
|
||||
final File projectFile = new File(JavaTestUtil.getJavaTestDataPath() + relativePath + dirName + "/options.ipr");
|
||||
for (Element element : JDOMUtil.loadDocument(projectFile).getRootElement().getChildren("component")) {
|
||||
for (Element element : JDOMUtil.load(projectFile).getChildren("component")) {
|
||||
if (Comparing.strEqual(element.getAttributeValue("name"), "InspectionProjectProfileManager")) {
|
||||
final InspectionProjectProfileManager profileManager = InspectionProjectProfileManager.getInstance(getProject());
|
||||
profileManager.loadState(element);
|
||||
|
||||
Element configElement = profileManager.getState();
|
||||
final File file = new File(JavaTestUtil.getJavaTestDataPath() + relativePath + dirName + "/options.after.xml");
|
||||
PlatformTestUtil.assertElementsEqual(JDOMUtil.loadDocument(file).getRootElement(), configElement);
|
||||
PlatformTestUtil.assertElementsEqual(JDOMUtil.load(file), configElement);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
+21
-17
@@ -1,3 +1,18 @@
|
||||
/*
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.testFramework.codeInsight.hierarchy;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightTestCase;
|
||||
@@ -6,7 +21,6 @@ import com.intellij.ide.hierarchy.HierarchyTreeStructure;
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import com.intellij.openapi.util.JDOMUtil;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import org.jdom.Document;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -36,7 +50,7 @@ public abstract class HierarchyViewTestBase extends CodeInsightTestCase {
|
||||
final String verificationFilePath = getTestDataPath() + "/" + getBasePath() + "/" + getTestName(false) + "_verification.xml";
|
||||
HierarchyTreeStructure structure = treeStructureComputable.compute();
|
||||
try {
|
||||
checkHierarchyTreeStructure(structure, JDOMUtil.loadDocument(new File(verificationFilePath)));
|
||||
checkHierarchyTreeStructure(structure, JDOMUtil.load(new File(verificationFilePath)));
|
||||
} catch (Throwable e) {
|
||||
assertEquals("XML structure comparison for your convenience, actual failure details BELOW",
|
||||
FileUtil.loadFile(new File(verificationFilePath)), dump(structure, null, 0));
|
||||
@@ -80,10 +94,9 @@ public abstract class HierarchyViewTestBase extends CodeInsightTestCase {
|
||||
}
|
||||
}
|
||||
|
||||
private static void checkHierarchyTreeStructure(final HierarchyTreeStructure treeStructure, final Document document) {
|
||||
private static void checkHierarchyTreeStructure(final HierarchyTreeStructure treeStructure, final Element rootElement) {
|
||||
final HierarchyNodeDescriptor rootNodeDescriptor = (HierarchyNodeDescriptor)treeStructure.getRootElement();
|
||||
rootNodeDescriptor.update();
|
||||
final Element rootElement = document.getRootElement();
|
||||
if (rootElement == null || !NODE_ELEMENT_NAME.equals(rootElement.getName())) {
|
||||
throw new IllegalArgumentException("Incorrect root element in verification resource");
|
||||
}
|
||||
@@ -130,20 +143,11 @@ public abstract class HierarchyViewTestBase extends CodeInsightTestCase {
|
||||
}
|
||||
assertEquals(messageBuilder.toString(), expectedChildren.size(), children.length);
|
||||
|
||||
Arrays.sort(children, new Comparator<Object>() {
|
||||
@Override
|
||||
public int compare(final Object first, final Object second) {
|
||||
return ((HierarchyNodeDescriptor)first).getHighlightedText().getText()
|
||||
.compareTo(((HierarchyNodeDescriptor)second).getHighlightedText().getText());
|
||||
}
|
||||
});
|
||||
Arrays.sort(children, (first, second) -> ((HierarchyNodeDescriptor)first).getHighlightedText().getText()
|
||||
.compareTo(((HierarchyNodeDescriptor)second).getHighlightedText().getText()));
|
||||
|
||||
Collections.sort(expectedChildren, new Comparator<Element>() {
|
||||
@Override
|
||||
public int compare(final Element first, final Element second) {
|
||||
return first.getAttributeValue(TEXT_ATTR_NAME).compareTo(second.getAttributeValue(TEXT_ATTR_NAME));
|
||||
}
|
||||
});
|
||||
Collections.sort(expectedChildren,
|
||||
(first, second) -> first.getAttributeValue(TEXT_ATTR_NAME).compareTo(second.getAttributeValue(TEXT_ATTR_NAME)));
|
||||
|
||||
//noinspection unchecked
|
||||
final Iterator<Element> iterator = expectedChildren.iterator();
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2013 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -63,7 +63,7 @@ public class JpsGlobalElementSaver {
|
||||
return new Element("application");
|
||||
}
|
||||
try {
|
||||
return JDOMUtil.loadDocument(configFile).getRootElement();
|
||||
return JDOMUtil.load(configFile);
|
||||
}
|
||||
catch (JDOMException e) {
|
||||
throw new RuntimeException(e);
|
||||
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2012 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -83,7 +83,7 @@ public abstract class JpsLoaderBase {
|
||||
private static Element tryLoadRootElement(File file) throws IOException, JDOMException {
|
||||
for (int i = 0; i < MAX_ATTEMPTS - 1; i++) {
|
||||
try {
|
||||
return JDOMUtil.loadDocument(file).getRootElement();
|
||||
return JDOMUtil.load(file);
|
||||
}
|
||||
catch (Exception e) {
|
||||
LOG.info("Loading attempt #" + i + " failed", e);
|
||||
@@ -95,6 +95,6 @@ public abstract class JpsLoaderBase {
|
||||
}
|
||||
catch (InterruptedException ignored) { }
|
||||
}
|
||||
return JDOMUtil.loadDocument(file).getRootElement();
|
||||
return JDOMUtil.load(file);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2013 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -60,7 +60,7 @@ public class InspectionProfileLoadUtil {
|
||||
public static Profile load(@NotNull File file,
|
||||
@NotNull InspectionToolRegistrar registrar,
|
||||
@NotNull ProfileManager profileManager) throws JDOMException, IOException, InvalidDataException {
|
||||
Element element = JDOMUtil.loadDocument(file).getRootElement();
|
||||
Element element = JDOMUtil.load(file);
|
||||
InspectionProfileImpl profile = new InspectionProfileImpl(getProfileName(file, element), registrar, profileManager);
|
||||
final Element profileElement = element.getChild(PROFILE_TAG);
|
||||
if (profileElement != null) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -78,12 +78,7 @@ public class JDomConvertingUtil extends JDomSerializationUtil {
|
||||
}
|
||||
|
||||
public static Condition<Element> createAttributeValueFilter(@NonNls final String name, @NonNls final Collection<String> value) {
|
||||
return new Condition<Element>() {
|
||||
@Override
|
||||
public boolean value(final Element element) {
|
||||
return value.contains(element.getAttributeValue(name));
|
||||
}
|
||||
};
|
||||
return element -> value.contains(element.getAttributeValue(name));
|
||||
}
|
||||
|
||||
public static Condition<Element> createOptionElementFilter(@NonNls final String optionName) {
|
||||
@@ -103,25 +98,20 @@ public class JDomConvertingUtil extends JDomSerializationUtil {
|
||||
}
|
||||
|
||||
public static void copyChildren(Element from, Element to) {
|
||||
copyChildren(from, to, Conditions.<Element>alwaysTrue());
|
||||
copyChildren(from, to, Conditions.alwaysTrue());
|
||||
}
|
||||
|
||||
public static void copyChildren(Element from, Element to, Condition<Element> filter) {
|
||||
final List<Element> list = from.getChildren();
|
||||
for (Element element : list) {
|
||||
if (filter.value(element)) {
|
||||
to.addContent((Element)element.clone());
|
||||
to.addContent(element.clone());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static Condition<Element> createElementNameFilter(@NonNls final String elementName) {
|
||||
return new Condition<Element>() {
|
||||
@Override
|
||||
public boolean value(final Element element) {
|
||||
return elementName.equals(element.getName());
|
||||
}
|
||||
};
|
||||
return element -> elementName.equals(element.getName());
|
||||
}
|
||||
|
||||
public static List<Element> removeChildren(final Element element, final Condition<Element> filter) {
|
||||
@@ -145,25 +135,6 @@ public class JDomConvertingUtil extends JDomSerializationUtil {
|
||||
return element;
|
||||
}
|
||||
|
||||
public static void addChildAfter(final Element parent, final Element child, final Condition<Element> filter, boolean addFirstIfNotFound) {
|
||||
List list = parent.getContent();
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
Object o = list.get(i);
|
||||
if (o instanceof Element && filter.value((Element)o)) {
|
||||
if (i < list.size() - 1) {
|
||||
parent.addContent(i + 1, child);
|
||||
}
|
||||
else {
|
||||
parent.addContent(child);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (addFirstIfNotFound) {
|
||||
parent.addContent(0, child);
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static Element findChild(Element parent, final Condition<Element> filter) {
|
||||
final List<Element> list = parent.getChildren();
|
||||
|
||||
+56
-68
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -45,7 +45,10 @@ import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.options.SearchableConfigurable;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.util.*;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.InvalidDataException;
|
||||
import com.intellij.openapi.util.JDOMUtil;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.VfsUtilCore;
|
||||
@@ -59,7 +62,6 @@ import com.intellij.profile.codeInspection.ui.SingleInspectionProfilePanel;
|
||||
import com.intellij.ui.IdeBorderFactory;
|
||||
import com.intellij.ui.ListCellRendererWrapper;
|
||||
import com.intellij.util.Alarm;
|
||||
import com.intellij.util.Consumer;
|
||||
import com.intellij.util.SystemProperties;
|
||||
import com.intellij.util.containers.HashMap;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
@@ -185,13 +187,10 @@ public abstract class InspectionToolsConfigurable extends BaseConfigurable
|
||||
|
||||
@Override
|
||||
public Runnable enableSearch(final String option) {
|
||||
return new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
SingleInspectionProfilePanel panel = getSelectedPanel();
|
||||
if (panel != null) {
|
||||
panel.setFilter(option);
|
||||
}
|
||||
return () -> {
|
||||
SingleInspectionProfilePanel panel = getSelectedPanel();
|
||||
if (panel != null) {
|
||||
panel.setFilter(option);
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -382,30 +381,27 @@ public abstract class InspectionToolsConfigurable extends BaseConfigurable
|
||||
public void export() {
|
||||
final FileChooserDescriptor descriptor = FileChooserDescriptorFactory.createSingleFolderDescriptor();
|
||||
descriptor.setDescription("Choose directory to store profile file");
|
||||
FileChooser.chooseFile(descriptor, getProject(), wholePanel, null, new Consumer<VirtualFile>() {
|
||||
@Override
|
||||
public void consume(VirtualFile file) {
|
||||
final Element element = new Element("inspections");
|
||||
try {
|
||||
final SingleInspectionProfilePanel panel = getSelectedPanel();
|
||||
LOG.assertTrue(panel != null);
|
||||
final InspectionProfileImpl profile = getSelectedObject();
|
||||
LOG.assertTrue(true);
|
||||
profile.writeExternal(element);
|
||||
final String filePath =
|
||||
FileUtil.toSystemDependentName(file.getPath()) + File.separator + FileUtil.sanitizeFileName(profile.getName()) + ".xml";
|
||||
if (new File(filePath).isFile()) {
|
||||
if (Messages
|
||||
.showOkCancelDialog(wholePanel, "File \'" + filePath + "\' already exist. Do you want to overwrite it?", "Warning",
|
||||
Messages.getQuestionIcon()) != Messages.OK) {
|
||||
return;
|
||||
}
|
||||
FileChooser.chooseFile(descriptor, getProject(), wholePanel, null, file -> {
|
||||
final Element element = new Element("inspections");
|
||||
try {
|
||||
final SingleInspectionProfilePanel panel = getSelectedPanel();
|
||||
LOG.assertTrue(panel != null);
|
||||
final InspectionProfileImpl profile = getSelectedObject();
|
||||
LOG.assertTrue(true);
|
||||
profile.writeExternal(element);
|
||||
final String filePath =
|
||||
FileUtil.toSystemDependentName(file.getPath()) + File.separator + FileUtil.sanitizeFileName(profile.getName()) + ".xml";
|
||||
if (new File(filePath).isFile()) {
|
||||
if (Messages
|
||||
.showOkCancelDialog(wholePanel, "File \'" + filePath + "\' already exist. Do you want to overwrite it?", "Warning",
|
||||
Messages.getQuestionIcon()) != Messages.OK) {
|
||||
return;
|
||||
}
|
||||
JDOMUtil.writeDocument(new Document(element), filePath, SystemProperties.getLineSeparator());
|
||||
}
|
||||
catch (IOException e1) {
|
||||
LOG.error(e1);
|
||||
}
|
||||
JDOMUtil.writeDocument(new Document(element), filePath, SystemProperties.getLineSeparator());
|
||||
}
|
||||
catch (IOException e1) {
|
||||
LOG.error(e1);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -419,38 +415,35 @@ public abstract class InspectionToolsConfigurable extends BaseConfigurable
|
||||
}
|
||||
};
|
||||
descriptor.setDescription("Choose profile file");
|
||||
FileChooser.chooseFile(descriptor, getProject(), wholePanel, null, new Consumer<VirtualFile>() {
|
||||
@Override
|
||||
public void consume(VirtualFile file) {
|
||||
if (file != null) {
|
||||
final InspectionProfileImpl profile;
|
||||
try {
|
||||
Element rootElement = JDOMUtil.loadDocument(VfsUtilCore.virtualToIoFile(file)).getRootElement();
|
||||
profile = importInspectionProfile(rootElement, myApplicationProfileManager, getProject(), wholePanel);
|
||||
if (getProfilePanel(profile) != null) {
|
||||
if (Messages.showOkCancelDialog(wholePanel, "Profile with name \'" +
|
||||
profile.getName() +
|
||||
"\' already exists. Do you want to overwrite it?", "Warning",
|
||||
Messages.getInformationIcon()) != Messages.OK) {
|
||||
return;
|
||||
}
|
||||
FileChooser.chooseFile(descriptor, getProject(), wholePanel, null, file -> {
|
||||
if (file != null) {
|
||||
final InspectionProfileImpl profile;
|
||||
try {
|
||||
Element rootElement = JDOMUtil.load(VfsUtilCore.virtualToIoFile(file));
|
||||
profile = importInspectionProfile(rootElement, myApplicationProfileManager, getProject(), wholePanel);
|
||||
if (getProfilePanel(profile) != null) {
|
||||
if (Messages.showOkCancelDialog(wholePanel, "Profile with name \'" +
|
||||
profile.getName() +
|
||||
"\' already exists. Do you want to overwrite it?", "Warning",
|
||||
Messages.getInformationIcon()) != Messages.OK) {
|
||||
return;
|
||||
}
|
||||
final ModifiableModel model = profile.getModifiableModel();
|
||||
model.setModified(true);
|
||||
addProfile((InspectionProfileImpl)model, profile);
|
||||
}
|
||||
final ModifiableModel model = profile.getModifiableModel();
|
||||
model.setModified(true);
|
||||
addProfile((InspectionProfileImpl)model, profile);
|
||||
|
||||
//TODO myDeletedProfiles ? really need this
|
||||
myDeletedProfiles.remove(profile);
|
||||
}
|
||||
catch (JDOMException e) {
|
||||
LOG.error(e);
|
||||
}
|
||||
catch (IOException e) {
|
||||
LOG.error(e);
|
||||
}
|
||||
catch (InvalidDataException e) {
|
||||
LOG.error(e);
|
||||
}
|
||||
//TODO myDeletedProfiles ? really need this
|
||||
myDeletedProfiles.remove(profile);
|
||||
}
|
||||
catch (JDOMException e) {
|
||||
LOG.error(e);
|
||||
}
|
||||
catch (IOException e) {
|
||||
LOG.error(e);
|
||||
}
|
||||
catch (InvalidDataException e) {
|
||||
LOG.error(e);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -628,12 +621,7 @@ public abstract class InspectionToolsConfigurable extends BaseConfigurable
|
||||
panel.setVisible(true);//make sure that UI was initialized
|
||||
mySelectionAlarm = new Alarm(Alarm.ThreadToUse.SWING_THREAD);
|
||||
mySelectionAlarm.cancelAllRequests();
|
||||
mySelectionAlarm.addRequest(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
panel.updateSelection();
|
||||
}
|
||||
}, 200);
|
||||
mySelectionAlarm.addRequest(panel::updateSelection, 200);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -96,6 +96,6 @@ public class CoreProjectLoader {
|
||||
|
||||
@NotNull
|
||||
public static TreeMap<String, Element> loadStorageFile(@NotNull ComponentManager componentManager, @NotNull VirtualFile modulesXml) throws JDOMException, IOException {
|
||||
return FileStorageCoreUtil.load(JDOMUtil.loadDocument(modulesXml.contentsToByteArray()).getRootElement(), PathMacroManager.getInstance(componentManager), false);
|
||||
return FileStorageCoreUtil.load(JDOMUtil.load(modulesXml.getInputStream()), PathMacroManager.getInstance(componentManager), false);
|
||||
}
|
||||
}
|
||||
|
||||
+14
-24
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -37,22 +37,19 @@ import com.intellij.openapi.util.JDOMUtil;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.vfs.VfsUtilCore;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import org.jdom.Document;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.io.File;
|
||||
import java.io.FilenameFilter;
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
|
||||
/**
|
||||
* 1. chooses file where test results were saved
|
||||
* 2. finds the configuration element saved during export
|
||||
* 3. creates corresponding configuration with {@link SMTRunnerConsoleProperties} if configuration implements {@link SMRunnerConsolePropertiesProvider}
|
||||
*
|
||||
*
|
||||
* Without console properties no navigation, no rerun failed is possible.
|
||||
*/
|
||||
public abstract class AbstractImportTestsAction extends AnAction {
|
||||
@@ -87,7 +84,7 @@ public abstract class AbstractImportTestsAction extends AnAction {
|
||||
|
||||
@Nullable
|
||||
public abstract VirtualFile getFile(@NotNull Project project);
|
||||
|
||||
|
||||
@Override
|
||||
public void actionPerformed(AnActionEvent e) {
|
||||
final Project project = e.getProject();
|
||||
@@ -102,7 +99,7 @@ public abstract class AbstractImportTestsAction extends AnAction {
|
||||
LOG.info("Failed to detect test framework in " + file.getPath() +
|
||||
"; use " + (properties != null ? properties.getTestFrameworkName() + " from toolbar" : "no properties"));
|
||||
}
|
||||
final Executor executor = properties != null ? properties.getExecutor()
|
||||
final Executor executor = properties != null ? properties.getExecutor()
|
||||
: ExecutorRegistry.getInstance().getExecutorById(DefaultRunExecutor.EXECUTOR_ID);
|
||||
ExecutionEnvironmentBuilder builder = ExecutionEnvironmentBuilder.create(project, executor, profile);
|
||||
ExecutionTarget target = profile.getTarget();
|
||||
@@ -122,25 +119,19 @@ public abstract class AbstractImportTestsAction extends AnAction {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void adjustHistory(Project project) {
|
||||
int historySize = getHistorySize();
|
||||
|
||||
final File[] files = TestStateStorage.getTestHistoryRoot(project).listFiles(new FilenameFilter() {
|
||||
@Override
|
||||
public boolean accept(File dir, String name) {
|
||||
return name.endsWith(".xml");
|
||||
}
|
||||
final File[] files = TestStateStorage.getTestHistoryRoot(project).listFiles((dir, name) -> {
|
||||
return name.endsWith(".xml");
|
||||
});
|
||||
if (files != null && files.length >= historySize + 1) {
|
||||
Arrays.sort(files, new Comparator<File>() {
|
||||
@Override
|
||||
public int compare(File o1, File o2) {
|
||||
final long l1 = o1.lastModified();
|
||||
final long l2 = o2.lastModified();
|
||||
if (l1 == l2) return FileUtil.compareFiles(o1, o2);
|
||||
return l1 < l2 ? -1 : 1;
|
||||
}
|
||||
Arrays.sort(files, (o1, o2) -> {
|
||||
final long l1 = o1.lastModified();
|
||||
final long l2 = o2.lastModified();
|
||||
if (l1 == l2) return FileUtil.compareFiles(o1, o2);
|
||||
return l1 < l2 ? -1 : 1;
|
||||
});
|
||||
FileUtil.delete(files[0]);
|
||||
}
|
||||
@@ -158,8 +149,7 @@ public abstract class AbstractImportTestsAction extends AnAction {
|
||||
myFile = file;
|
||||
myProject = project;
|
||||
try {
|
||||
final Document document = JDOMUtil.loadDocument(VfsUtilCore.virtualToIoFile(myFile));
|
||||
final Element config = document.getRootElement().getChild("config");
|
||||
final Element config = JDOMUtil.load(VfsUtilCore.virtualToIoFile(myFile)).getChild("config");
|
||||
if (config != null) {
|
||||
String configTypeId = config.getAttributeValue("configId");
|
||||
if (configTypeId != null) {
|
||||
@@ -189,7 +179,7 @@ public abstract class AbstractImportTestsAction extends AnAction {
|
||||
if (DefaultExecutionTarget.INSTANCE.getId().equals(myTargetId)) {
|
||||
return DefaultExecutionTarget.INSTANCE;
|
||||
}
|
||||
final RunnerAndConfigurationSettingsImpl settings =
|
||||
final RunnerAndConfigurationSettingsImpl settings =
|
||||
new RunnerAndConfigurationSettingsImpl(RunManagerImpl.getInstanceImpl(myProject), myConfiguration, false);
|
||||
for (ExecutionTargetProvider provider : Extensions.getExtensions(ExecutionTargetProvider.EXTENSION_NAME)) {
|
||||
for (ExecutionTarget target : provider.getTargets(myProject, settings)) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -19,7 +19,7 @@
|
||||
* User: mike
|
||||
* Date: Aug 19, 2002
|
||||
* Time: 8:21:52 PM
|
||||
* To change template for new class use
|
||||
* To change template for new class use
|
||||
* Code Style | Class Templates options (Tools | IDE Options).
|
||||
*/
|
||||
package com.intellij.openapi.application.ex;
|
||||
@@ -369,7 +369,7 @@ public class PathManagerEx {
|
||||
CLASS_STRATEGY_CACHE.put(aClass, determineLookupStrategy(substitutor));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static FileSystemLocation computeClassLocation(Class<?> clazz) {
|
||||
String classRootPath = PathManager.getJarPathForClass(clazz);
|
||||
if (classRootPath == null) {
|
||||
@@ -406,7 +406,7 @@ public class PathManagerEx {
|
||||
}
|
||||
|
||||
try {
|
||||
Element element = JDomSerializationUtil.findComponent(JDOMUtil.loadDocument(modulesXml).getRootElement(), ModuleManagerImpl.COMPONENT_NAME);
|
||||
Element element = JDomSerializationUtil.findComponent(JDOMUtil.load(modulesXml), ModuleManagerImpl.COMPONENT_NAME);
|
||||
assert element != null;
|
||||
ModuleManagerImpl.ModulePath[] files = ModuleManagerImpl.getPathsToModuleFiles(element);
|
||||
for (ModuleManagerImpl.ModulePath file : files) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -143,9 +143,7 @@ expected:
|
||||
|
||||
File file = new File(testDir + "/expected.xml");
|
||||
try {
|
||||
Document expectedDocument = JDOMUtil.loadDocument(file);
|
||||
|
||||
compareWithExpected(expectedDocument, doc, checkRange);
|
||||
compareWithExpected(JDOMUtil.loadDocument(file), doc, checkRange);
|
||||
}
|
||||
catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
|
||||
@@ -19,22 +19,17 @@ import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.CharsetToolkit;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import com.intellij.util.SmartList;
|
||||
import com.intellij.util.containers.StringInterner;
|
||||
import com.intellij.util.io.URLUtil;
|
||||
import com.intellij.util.text.CharArrayUtil;
|
||||
import com.intellij.util.text.CharSequenceReader;
|
||||
import com.intellij.util.text.StringFactory;
|
||||
import org.jdom.*;
|
||||
import org.jdom.filter.ElementFilter;
|
||||
import org.jdom.filter.Filter;
|
||||
import org.jdom.input.DOMBuilder;
|
||||
import org.jdom.input.SAXBuilder;
|
||||
import org.jdom.output.DOMOutputter;
|
||||
import org.jdom.output.Format;
|
||||
import org.jdom.output.XMLOutputter;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.xml.sax.EntityResolver;
|
||||
@@ -137,17 +132,6 @@ public class JDOMUtil {
|
||||
return list.toArray(new Element[list.size()]);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@SuppressWarnings("unused")
|
||||
@NotNull
|
||||
public static String concatTextNodesValues(@NotNull final Object[] nodes) {
|
||||
StringBuilder result = new StringBuilder();
|
||||
for (Object node : nodes) {
|
||||
result.append(((Content)node).getValue());
|
||||
}
|
||||
return result.toString();
|
||||
}
|
||||
|
||||
public static void addContent(@NotNull final Element targetElement, final Object node) {
|
||||
if (node instanceof Content) {
|
||||
Content content = (Content)node;
|
||||
@@ -253,11 +237,6 @@ public class JDOMUtil {
|
||||
return getSaxBuilder().build(new CharArrayReader(chars, 0, length));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static Document loadDocument(byte[] bytes) throws IOException, JDOMException {
|
||||
return loadDocument(new ByteArrayInputStream(bytes));
|
||||
}
|
||||
|
||||
private static SAXBuilder getSaxBuilder() {
|
||||
SoftReference<SAXBuilder> reference = ourSaxBuilder.get();
|
||||
SAXBuilder saxBuilder = com.intellij.reference.SoftReference.dereference(reference);
|
||||
@@ -305,9 +284,6 @@ public class JDOMUtil {
|
||||
return loadDocument(new InputStreamReader(stream, CharsetToolkit.UTF8_CHARSET));
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated Use com.intellij.util.loadElement
|
||||
*/
|
||||
@Contract("null -> null; !null -> !null")
|
||||
public static Element load(Reader reader) throws JDOMException, IOException {
|
||||
return reader == null ? null : loadDocument(reader).detachRootElement();
|
||||
@@ -548,19 +524,6 @@ public class JDOMUtil {
|
||||
return buffer == null ? text : buffer.toString();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@Deprecated
|
||||
@NotNull
|
||||
public static List<Element> getChildrenFromAllNamespaces(@NotNull final Element element, @NotNull @NonNls final String name) {
|
||||
List<Element> result = new SmartList<Element>();
|
||||
for (Element child : element.getChildren()) {
|
||||
if (name.equals(child.getName())) {
|
||||
result.add(child);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static class MyXMLOutputter extends XMLOutputter {
|
||||
@Override
|
||||
@NotNull
|
||||
@@ -665,35 +628,6 @@ public class JDOMUtil {
|
||||
public boolean hasNullAttributes = false;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@Deprecated
|
||||
public static org.w3c.dom.Element convertToDOM(@NotNull Element e) {
|
||||
try {
|
||||
final Document d = new Document();
|
||||
final Element newRoot = new Element(e.getName());
|
||||
final List attributes = e.getAttributes();
|
||||
|
||||
for (Object o : attributes) {
|
||||
Attribute attr = (Attribute)o;
|
||||
newRoot.setAttribute(attr.getName(), attr.getValue(), attr.getNamespace());
|
||||
}
|
||||
|
||||
d.addContent(newRoot);
|
||||
newRoot.addContent(e.cloneContent());
|
||||
|
||||
return new DOMOutputter().output(d).getDocumentElement();
|
||||
}
|
||||
catch (JDOMException e1) {
|
||||
throw new RuntimeException(e1);
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@Deprecated
|
||||
public static Element convertFromDOM(org.w3c.dom.Element e) {
|
||||
return new DOMBuilder().build(e);
|
||||
}
|
||||
|
||||
public static String getValue(Object node) {
|
||||
if (node instanceof Content) {
|
||||
Content content = (Content)node;
|
||||
@@ -708,39 +642,6 @@ public class JDOMUtil {
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@Nullable
|
||||
@Deprecated
|
||||
public static Element cloneElement(@NotNull Element element, @NotNull ElementFilter elementFilter) {
|
||||
Element result = new Element(element.getName(), element.getNamespace());
|
||||
List<Attribute> attributes = element.getAttributes();
|
||||
if (!attributes.isEmpty()) {
|
||||
ArrayList<Attribute> list = new ArrayList<Attribute>(attributes.size());
|
||||
for (Attribute attribute : attributes) {
|
||||
list.add(attribute.clone());
|
||||
}
|
||||
result.setAttributes(list);
|
||||
}
|
||||
|
||||
for (Namespace namespace : element.getAdditionalNamespaces()) {
|
||||
result.addNamespaceDeclaration(namespace);
|
||||
}
|
||||
|
||||
boolean hasContent = false;
|
||||
for (Content content : element.getContent()) {
|
||||
if (content instanceof Element) {
|
||||
if (elementFilter.matches(content)) {
|
||||
hasContent = true;
|
||||
}
|
||||
else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
result.addContent(content.clone());
|
||||
}
|
||||
return hasContent ? result : null;
|
||||
}
|
||||
|
||||
public static boolean isEmpty(@Nullable Element element) {
|
||||
return element == null || (element.getAttributes().isEmpty() && element.getContent().isEmpty());
|
||||
}
|
||||
|
||||
+5
-8
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2009 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -20,7 +20,6 @@ import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.util.JDOMUtil;
|
||||
import com.maddyhome.idea.copyright.CopyrightProfile;
|
||||
import org.jdom.Document;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -35,15 +34,13 @@ public class ExternalOptionHelper {
|
||||
public static List<CopyrightProfile> loadOptions(File file) {
|
||||
try {
|
||||
List<CopyrightProfile> profiles = new ArrayList<CopyrightProfile>();
|
||||
Document doc = JDOMUtil.loadDocument(file);
|
||||
Element root = doc.getRootElement();
|
||||
Element root = JDOMUtil.load(file);
|
||||
if (root.getName().equals("component")) {
|
||||
final Element copyrightElement = root.getChild("copyright");
|
||||
if (copyrightElement != null) extractNewNoticeAndKeyword(copyrightElement, profiles);
|
||||
} else {
|
||||
List list = root.getChildren("component");
|
||||
for (Object element : list) {
|
||||
Element component = (Element)element;
|
||||
}
|
||||
else {
|
||||
for (Element component : root.getChildren("component")) {
|
||||
String name = component.getAttributeValue("name");
|
||||
if (name.equals("CopyrightManager")) {
|
||||
for (Object o : component.getChildren("copyright")) {
|
||||
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2012 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -21,7 +21,6 @@ import com.intellij.openapi.util.io.FileUtil;
|
||||
import org.jdom.Element;
|
||||
import org.jdom.JDOMException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.devkit.model.JpsIdeaSdkProperties;
|
||||
import org.jetbrains.jps.devkit.model.JpsIdeaSdkType;
|
||||
import org.jetbrains.jps.devkit.model.JpsPluginModuleProperties;
|
||||
@@ -44,6 +43,7 @@ import org.jetbrains.jps.model.library.JpsOrderRootType;
|
||||
import org.jetbrains.jps.model.library.sdk.JpsSdk;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
import org.jetbrains.jps.model.module.JpsTypedModule;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@@ -77,7 +77,7 @@ public class JpsPluginSyntheticArtifactProvider extends JpsSyntheticArtifactProv
|
||||
File pluginXmlFile = JpsPathUtil.urlToFile(pluginXmlUrl);
|
||||
if (pluginXmlFile.exists()) {
|
||||
try {
|
||||
Element rootElement = JDOMUtil.loadDocument(pluginXmlFile).getRootElement();
|
||||
Element rootElement = JDOMUtil.load(pluginXmlFile);
|
||||
for (Element dependsElement : JDOMUtil.getChildren(rootElement, "depends")) {
|
||||
String relativePath = dependsElement.getAttributeValue("config-file");
|
||||
if (relativePath != null) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2012 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -62,7 +62,7 @@ public class EclipseProjectFinder implements EclipseXml {
|
||||
final File file = new File(rootPath, DOT_PROJECT_EXT);
|
||||
if (file.isFile()) {
|
||||
try {
|
||||
name = JDOMUtil.loadDocument(file).getRootElement().getChildText(NAME_TAG);
|
||||
name = JDOMUtil.load(file).getChildText(NAME_TAG);
|
||||
if (StringUtil.isEmptyOrSpaces(name)) {
|
||||
return null;
|
||||
}
|
||||
@@ -89,19 +89,19 @@ public class EclipseProjectFinder implements EclipseXml {
|
||||
final File file = new File(projectPath, DOT_PROJECT_EXT);
|
||||
if (file.isFile()) {
|
||||
try {
|
||||
for (Object o : JDOMUtil.loadDocument(file).getRootElement().getChildren(LINKED_RESOURCES)) {
|
||||
for (Object l : ((Element)o).getChildren(LINK)) {
|
||||
if (Comparing.strEqual(((Element)l).getChildText(NAME_TAG), resourceName)) {
|
||||
for (Element o : JDOMUtil.load(file).getChildren(LINKED_RESOURCES)) {
|
||||
for (Element l : o.getChildren(LINK)) {
|
||||
if (Comparing.strEqual(l.getChildText(NAME_TAG), resourceName)) {
|
||||
LinkedResource linkedResource = new LinkedResource();
|
||||
final String relativeToLinkedResourcePath =
|
||||
independentPath.length() > resourceName.length() ? independentPath.substring(resourceName.length()) : "";
|
||||
|
||||
final Element locationURI = ((Element)l).getChild("locationURI");
|
||||
final Element locationURI = l.getChild("locationURI");
|
||||
if (locationURI != null) {
|
||||
linkedResource.setURI(FileUtil.toSystemIndependentName(locationURI.getText()) + relativeToLinkedResourcePath);
|
||||
}
|
||||
|
||||
final Element location = ((Element)l).getChild("location");
|
||||
final Element location = l.getChild("location");
|
||||
if (location != null) {
|
||||
linkedResource.setLocation(FileUtil.toSystemIndependentName(location.getText()) + relativeToLinkedResourcePath);
|
||||
}
|
||||
|
||||
+17
-5
@@ -1,9 +1,23 @@
|
||||
/*
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.jetbrains.jps.eclipse.model;
|
||||
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.util.JDOMUtil;
|
||||
import com.intellij.util.containers.HashSet;
|
||||
import org.jdom.Document;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -51,8 +65,7 @@ public class JpsEclipseClasspathSerializer extends JpsModuleClasspathSerializer
|
||||
final JpsIdeaSpecificSettings settings;
|
||||
final Element root;
|
||||
if (emlFile.isFile()) {
|
||||
final Document emlDocument = JDOMUtil.loadDocument(emlFile);
|
||||
root = emlDocument.getRootElement();
|
||||
root = JDOMUtil.load(emlFile);
|
||||
settings = new JpsIdeaSpecificSettings(expander);
|
||||
settings.initLevels(root, module, levels);
|
||||
} else {
|
||||
@@ -60,9 +73,8 @@ public class JpsEclipseClasspathSerializer extends JpsModuleClasspathSerializer
|
||||
root = null;
|
||||
}
|
||||
|
||||
final Document document = JDOMUtil.loadDocument(classpathFile);
|
||||
final JpsEclipseClasspathReader reader = new JpsEclipseClasspathReader(classpathDir, paths, new HashSet<String>(), levels);
|
||||
reader.readClasspath(module, null, document.getRootElement(), expander);//todo
|
||||
reader.readClasspath(module, null, JDOMUtil.load(classpathFile), expander);//todo
|
||||
if (settings != null) {
|
||||
settings.updateEntries(root, module, projectSdkType);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -90,11 +90,7 @@ public class EclipseImlTest extends IdeaTestCase {
|
||||
EclipseClasspathReader classpathReader = new EclipseClasspathReader(path, project, null);
|
||||
classpathReader.init(rootModel);
|
||||
classpathReader.readClasspath(rootModel, classpathElement);
|
||||
ApplicationManager.getApplication().runWriteAction(new Runnable() {
|
||||
public void run() {
|
||||
rootModel.commit();
|
||||
}
|
||||
});
|
||||
ApplicationManager.getApplication().runWriteAction(rootModel::commit);
|
||||
|
||||
final Element actualImlElement = new Element("root");
|
||||
((ModuleRootManagerImpl)ModuleRootManager.getInstance(module)).getState().writeExternal(actualImlElement);
|
||||
@@ -104,8 +100,7 @@ public class EclipseImlTest extends IdeaTestCase {
|
||||
PathMacroManager.getInstance(project).collapsePaths(actualImlElement);
|
||||
PathMacros.getInstance().removeMacro(JUNIT);
|
||||
|
||||
final Element expectedIml =
|
||||
JDOMUtil.loadDocument(new File(project.getBaseDir().getPath() + "/expected", "expected.iml")).getRootElement();
|
||||
Element expectedIml = JDOMUtil.load(new File(project.getBaseDir().getPath() + "/expected", "expected.iml"));
|
||||
PlatformTestUtil.assertElementsEqual(expectedIml, actualImlElement);
|
||||
}
|
||||
|
||||
|
||||
+2
-4
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,7 +22,6 @@ import com.intellij.util.containers.ConcurrentFactoryMap;
|
||||
import com.intellij.util.containers.FactoryMap;
|
||||
import com.intellij.util.xmlb.XmlSerializer;
|
||||
import gnu.trove.THashMap;
|
||||
import org.jdom.Document;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.builders.storage.BuildDataPaths;
|
||||
@@ -122,8 +121,7 @@ public class JpsGradleExtensionServiceImpl extends JpsGradleExtensionService {
|
||||
if (config == null) {
|
||||
config = new GradleProjectConfiguration();
|
||||
try {
|
||||
final Document document = JDOMUtil.loadDocument(configFile);
|
||||
XmlSerializer.deserializeInto(config, document.getRootElement());
|
||||
XmlSerializer.deserializeInto(config, JDOMUtil.load(configFile));
|
||||
}
|
||||
catch (Exception e) {
|
||||
LOG.info(e);
|
||||
|
||||
+14
-18
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -24,7 +24,6 @@ import com.intellij.openapi.compiler.CompilerMessageCategory;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.externalSystem.model.project.ExternalSystemSourceType;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemConstants;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.ModuleAdapter;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -80,6 +79,7 @@ public class GradleResourceCompilerConfigurationGenerator {
|
||||
assert externalProjectDataCache != null;
|
||||
|
||||
project.getMessageBus().connect(project).subscribe(ProjectTopics.MODULES, new ModuleAdapter() {
|
||||
@Override
|
||||
public void moduleRemoved(@NotNull Project project, @NotNull Module module) {
|
||||
myModulesConfigurationHash.remove(module.getName());
|
||||
}
|
||||
@@ -130,20 +130,17 @@ public class GradleResourceCompilerConfigurationGenerator {
|
||||
final Document document = new Document(new Element("gradle-project-configuration"));
|
||||
XmlSerializer.serializeInto(projectConfig, document.getRootElement());
|
||||
final boolean finalConfigurationUpdateRequired = configurationUpdateRequired;
|
||||
buildManager.runCommand(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (finalConfigurationUpdateRequired) {
|
||||
buildManager.clearState(myProject);
|
||||
}
|
||||
FileUtil.createIfDoesntExist(gradleConfigFile);
|
||||
try {
|
||||
JDOMUtil.writeDocument(document, gradleConfigFile, "\n");
|
||||
myModulesConfigurationHash.putAll(affectedConfigurationHash);
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
buildManager.runCommand(() -> {
|
||||
if (finalConfigurationUpdateRequired) {
|
||||
buildManager.clearState(myProject);
|
||||
}
|
||||
FileUtil.createIfDoesntExist(gradleConfigFile);
|
||||
try {
|
||||
JDOMUtil.writeDocument(document, gradleConfigFile, "\n");
|
||||
myModulesConfigurationHash.putAll(affectedConfigurationHash);
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -153,8 +150,7 @@ public class GradleResourceCompilerConfigurationGenerator {
|
||||
final GradleProjectConfiguration projectConfig = new GradleProjectConfiguration();
|
||||
if (gradleConfigFile.exists()) {
|
||||
try {
|
||||
final Document document = JDOMUtil.loadDocument(gradleConfigFile);
|
||||
XmlSerializer.deserializeInto(projectConfig, document.getRootElement());
|
||||
XmlSerializer.deserializeInto(projectConfig, JDOMUtil.load(gradleConfigFile));
|
||||
|
||||
// filter orphan modules
|
||||
final Set<String> actualModules = myModulesConfigurationHash.keySet();
|
||||
|
||||
+16
-3
@@ -1,3 +1,18 @@
|
||||
/*
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.jetbrains.jps.maven.model.impl;
|
||||
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
@@ -7,7 +22,6 @@ import com.intellij.util.containers.ConcurrentFactoryMap;
|
||||
import com.intellij.util.containers.FactoryMap;
|
||||
import com.intellij.util.xmlb.XmlSerializer;
|
||||
import gnu.trove.THashMap;
|
||||
import org.jdom.Document;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.builders.storage.BuildDataPaths;
|
||||
@@ -108,8 +122,7 @@ public class JpsMavenExtensionServiceImpl extends JpsMavenExtensionService {
|
||||
if (config == null) {
|
||||
config = new MavenProjectConfiguration();
|
||||
try {
|
||||
final Document document = JDOMUtil.loadDocument(configFile);
|
||||
XmlSerializer.deserializeInto(config, document.getRootElement());
|
||||
XmlSerializer.deserializeInto(config, JDOMUtil.load(configFile));
|
||||
}
|
||||
catch (Exception e) {
|
||||
LOG.info(e);
|
||||
|
||||
+2
-4
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -335,9 +335,7 @@ public class MavenIndicesManager implements Disposable {
|
||||
File file = getUserArchetypesFile();
|
||||
if (!file.exists()) return;
|
||||
|
||||
Document doc = JDOMUtil.loadDocument(file);
|
||||
Element root = doc.getRootElement();
|
||||
if (root == null) return;
|
||||
Element root = JDOMUtil.load(file);
|
||||
|
||||
// Store artifact to set to remove duplicate created by old IDEA (https://youtrack.jetbrains.com/issue/IDEA-72105)
|
||||
Collection<MavenArchetype> result = new LinkedHashSet<MavenArchetype>();
|
||||
|
||||
Reference in New Issue
Block a user