mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
cleanup (default interface methods, path)
This commit is contained in:
@@ -173,7 +173,7 @@ public class CaptureConfigurable implements SearchableConfigurable {
|
||||
}
|
||||
});
|
||||
try {
|
||||
JDOMUtil.writeDocument(new Document(rootElement), wrapper.getFile(), "\n");
|
||||
JDOMUtil.write(rootElement, wrapper.getFile());
|
||||
}
|
||||
catch (Exception ex) {
|
||||
final String msg = ex.getLocalizedMessage();
|
||||
|
||||
+2
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 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.
|
||||
@@ -47,7 +47,6 @@ import com.intellij.util.io.HttpRequests;
|
||||
import com.intellij.util.xmlb.XmlSerializer;
|
||||
import com.intellij.util.xmlb.annotations.MapAnnotation;
|
||||
import com.intellij.util.xmlb.annotations.Tag;
|
||||
import org.jdom.Document;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -179,7 +178,7 @@ public class PluginsAdvertiser implements StartupActivity {
|
||||
if (!plugins.isFile()) {
|
||||
FileUtil.ensureCanCreateFile(plugins);
|
||||
}
|
||||
JDOMUtil.writeDocument(new Document(XmlSerializer.serialize(new KnownExtensions(extensions))), plugins, "\n");
|
||||
JDOMUtil.write(XmlSerializer.serialize(new KnownExtensions(extensions)), plugins);
|
||||
}
|
||||
|
||||
public static void openDownloadPage() {
|
||||
|
||||
@@ -18,21 +18,22 @@ package com.intellij.util
|
||||
import com.intellij.openapi.util.JDOMUtil
|
||||
import com.intellij.openapi.util.io.BufferExposingByteArrayOutputStream
|
||||
import com.intellij.reference.SoftReference
|
||||
import com.intellij.util.io.inputStream
|
||||
import com.intellij.util.io.outputStream
|
||||
import com.intellij.util.text.CharSequenceReader
|
||||
import com.sun.org.apache.xerces.internal.impl.Constants
|
||||
import org.apache.xerces.util.SecurityManager
|
||||
import org.jdom.Document
|
||||
import org.jdom.Element
|
||||
import org.jdom.JDOMException
|
||||
import org.jdom.Parent
|
||||
import org.jdom.filter.ElementFilter
|
||||
import org.jdom.input.SAXBuilder
|
||||
import org.jdom.input.SAXHandler
|
||||
import org.xml.sax.EntityResolver
|
||||
import org.xml.sax.InputSource
|
||||
import org.xml.sax.XMLReader
|
||||
import java.io.CharArrayReader
|
||||
import java.io.InputStream
|
||||
import java.io.Reader
|
||||
import java.nio.file.Files
|
||||
import java.io.*
|
||||
import java.nio.file.Path
|
||||
|
||||
private val cachedSaxBuilder = ThreadLocal<SoftReference<SAXBuilder>>()
|
||||
@@ -57,13 +58,22 @@ private fun getSaxBuilder(): SAXBuilder {
|
||||
return saxBuilder
|
||||
}
|
||||
|
||||
@JvmOverloads
|
||||
@Throws(IOException::class)
|
||||
fun write(element: Parent, file: Path, lineSeparator: String = "\n") {
|
||||
BufferedOutputStream(file.outputStream()).use {
|
||||
JDOMUtil.write(element, it, lineSeparator)
|
||||
}
|
||||
}
|
||||
|
||||
fun loadElement(chars: CharSequence) = loadElement(CharSequenceReader(chars))
|
||||
|
||||
fun loadElement(reader: Reader): Element = loadDocument(reader).detachRootElement()
|
||||
|
||||
fun loadElement(stream: InputStream): Element = loadDocument(stream.reader()).detachRootElement()
|
||||
|
||||
fun loadElement(path: Path): Element = loadDocument(Files.newInputStream(path).bufferedReader()).detachRootElement()
|
||||
@Throws(IOException::class, JDOMException::class)
|
||||
fun loadElement(path: Path): Element = loadDocument(path.inputStream().bufferedReader()).detachRootElement()
|
||||
|
||||
private fun loadDocument(reader: Reader): Document = reader.use { getSaxBuilder().build(it) }
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
package com.intellij.openapi.util;
|
||||
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.CharsetToolkit;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
@@ -368,7 +369,13 @@ public class JDOMUtil {
|
||||
write(document, file, lineSeparator);
|
||||
}
|
||||
|
||||
public static void write(@NotNull Parent element, @NotNull File file) throws IOException {
|
||||
write(element, file, "\n");
|
||||
}
|
||||
|
||||
public static void write(@NotNull Parent element, @NotNull File file, @NotNull String lineSeparator) throws IOException {
|
||||
FileUtil.createParentDirs(file);
|
||||
|
||||
OutputStream stream = new BufferedOutputStream(new FileOutputStream(file));
|
||||
try {
|
||||
write(element, stream, lineSeparator);
|
||||
|
||||
+24
-20
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 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,12 +24,11 @@ import com.intellij.openapi.progress.BackgroundTaskQueue;
|
||||
import com.intellij.openapi.progress.ProgressIndicator;
|
||||
import com.intellij.openapi.progress.Task;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.JDOMUtil;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.util.JdomKt;
|
||||
import com.intellij.util.io.PathKt;
|
||||
import gnu.trove.THashSet;
|
||||
import org.jdom.Document;
|
||||
import org.jdom.Element;
|
||||
import org.jdom.JDOMException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -44,6 +43,7 @@ import org.jetbrains.idea.maven.utils.*;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Path;
|
||||
import java.util.*;
|
||||
|
||||
public class MavenIndicesManager implements Disposable {
|
||||
@@ -62,7 +62,7 @@ public class MavenIndicesManager implements Disposable {
|
||||
IDLE, WAITING, UPDATING
|
||||
}
|
||||
|
||||
private volatile File myTestIndicesDir;
|
||||
private volatile Path myTestIndicesDir;
|
||||
|
||||
private volatile MavenIndexerWrapper myIndexer;
|
||||
private volatile MavenIndices myIndices;
|
||||
@@ -79,7 +79,7 @@ public class MavenIndicesManager implements Disposable {
|
||||
}
|
||||
|
||||
@TestOnly
|
||||
public void setTestIndexDir(File indicesDir) {
|
||||
public void setTestIndexDir(Path indicesDir) {
|
||||
myTestIndicesDir = indicesDir;
|
||||
}
|
||||
|
||||
@@ -98,13 +98,15 @@ public class MavenIndicesManager implements Disposable {
|
||||
myIndexer = MavenServerManager.getInstance().createIndexer();
|
||||
|
||||
myDownloadListener = new MavenServerDownloadListener() {
|
||||
@Override
|
||||
public void artifactDownloaded(File file, String relativePath) {
|
||||
addArtifact(file, relativePath);
|
||||
}
|
||||
};
|
||||
MavenServerManager.getInstance().addDownloadListener(myDownloadListener);
|
||||
|
||||
myIndices = new MavenIndices(myIndexer, getIndicesDir(), new MavenIndex.IndexListener() {
|
||||
myIndices = new MavenIndices(myIndexer, getIndicesDir().toFile(), new MavenIndex.IndexListener() {
|
||||
@Override
|
||||
public void indexIsBroken(MavenIndex index) {
|
||||
scheduleUpdate(null, Collections.singletonList(index), false);
|
||||
}
|
||||
@@ -113,16 +115,18 @@ public class MavenIndicesManager implements Disposable {
|
||||
loadUserArchetypes();
|
||||
}
|
||||
|
||||
private File getIndicesDir() {
|
||||
@NotNull
|
||||
private Path getIndicesDir() {
|
||||
return myTestIndicesDir == null
|
||||
? MavenUtil.getPluginSystemDir("Indices")
|
||||
: myTestIndicesDir;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
doShutdown();
|
||||
if (ApplicationManager.getApplication().isUnitTestMode()) {
|
||||
FileUtil.delete(getIndicesDir());
|
||||
PathKt.delete(getIndicesDir());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -226,6 +230,7 @@ public class MavenIndicesManager implements Disposable {
|
||||
}
|
||||
if (toSchedule.isEmpty()) return;
|
||||
myUpdatingQueue.run(new Task.Backgroundable(projectOrNull, IndicesBundle.message("maven.indices.updating"), true) {
|
||||
@Override
|
||||
public void run(@NotNull ProgressIndicator indicator) {
|
||||
try {
|
||||
doUpdateIndices(projectOrNull, toSchedule, fullUpdate, new MavenProgressIndicator(indicator));
|
||||
@@ -257,7 +262,7 @@ public class MavenIndicesManager implements Disposable {
|
||||
}
|
||||
|
||||
try {
|
||||
getIndicesObject().updateOrRepair(each, fullUpdate, fullUpdate ? getMavenSettings(projectOrNull, indicator) : null, indicator);
|
||||
MavenIndices.updateOrRepair(each, fullUpdate, fullUpdate ? getMavenSettings(projectOrNull, indicator) : null, indicator);
|
||||
if (projectOrNull != null) {
|
||||
MavenRehighlighter.rehighlight(projectOrNull);
|
||||
}
|
||||
@@ -332,15 +337,15 @@ public class MavenIndicesManager implements Disposable {
|
||||
|
||||
private void loadUserArchetypes() {
|
||||
try {
|
||||
File file = getUserArchetypesFile();
|
||||
if (!file.exists()) return;
|
||||
|
||||
Element root = JDOMUtil.load(file);
|
||||
Path file = getUserArchetypesFile();
|
||||
if (!PathKt.exists(file)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Store artifact to set to remove duplicate created by old IDEA (https://youtrack.jetbrains.com/issue/IDEA-72105)
|
||||
Collection<MavenArchetype> result = new LinkedHashSet<>();
|
||||
|
||||
List<Element> children = root.getChildren(ELEMENT_ARCHETYPE);
|
||||
List<Element> children = JdomKt.loadElement(file).getChildren(ELEMENT_ARCHETYPE);
|
||||
for (int i = children.size() - 1; i >= 0; i--) {
|
||||
Element each = children.get(i);
|
||||
|
||||
@@ -385,16 +390,15 @@ public class MavenIndicesManager implements Disposable {
|
||||
root.addContent(childElement);
|
||||
}
|
||||
try {
|
||||
File file = getUserArchetypesFile();
|
||||
file.getParentFile().mkdirs();
|
||||
JDOMUtil.writeDocument(new Document(root), file, "\n");
|
||||
JdomKt.write(root, getUserArchetypesFile());
|
||||
}
|
||||
catch (IOException e) {
|
||||
MavenLog.LOG.warn(e);
|
||||
}
|
||||
}
|
||||
|
||||
private File getUserArchetypesFile() {
|
||||
return new File(getIndicesDir(), "UserArchetypes.xml");
|
||||
@NotNull
|
||||
private Path getUserArchetypesFile() {
|
||||
return getIndicesDir().resolve("UserArchetypes.xml");
|
||||
}
|
||||
}
|
||||
|
||||
+4
-9
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2009 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 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.
|
||||
@@ -70,19 +70,13 @@ public class MavenProjectIndicesManager extends MavenSimpleProjectComponent {
|
||||
}
|
||||
|
||||
getMavenProjectManager().addManagerListener(new MavenProjectsManager.Listener() {
|
||||
@Override
|
||||
public void activated() {
|
||||
scheduleUpdateIndicesList();
|
||||
}
|
||||
|
||||
public void projectsScheduled() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void importAndResolveScheduled() {
|
||||
}
|
||||
});
|
||||
|
||||
getMavenProjectManager().addProjectsTreeListener(new MavenProjectsTree.ListenerAdapter() {
|
||||
getMavenProjectManager().addProjectsTreeListener(new MavenProjectsTree.Listener() {
|
||||
@Override
|
||||
public void projectsUpdated(List<Pair<MavenProject, MavenProjectChanges>> updated, List<MavenProject> deleted) {
|
||||
scheduleUpdateIndicesList();
|
||||
@@ -102,6 +96,7 @@ public class MavenProjectIndicesManager extends MavenSimpleProjectComponent {
|
||||
|
||||
public void scheduleUpdateIndicesList(@Nullable final Consumer<List<MavenIndex>> consumer) {
|
||||
myUpdateQueue.queue(new Update(MavenProjectIndicesManager.this) {
|
||||
@Override
|
||||
public void run() {
|
||||
Set<Pair<String, String>> remoteRepositoriesIdsAndUrls;
|
||||
File localRepository;
|
||||
|
||||
+2
-10
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 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.
|
||||
@@ -379,20 +379,12 @@ public class MavenProjectsNavigator extends MavenSimpleProjectComponent implemen
|
||||
scheduleStructureRequest(() -> myStructure.update());
|
||||
}
|
||||
|
||||
private class MyProjectsListener extends MavenProjectsTree.ListenerAdapter implements MavenProjectsManager.Listener {
|
||||
private class MyProjectsListener implements MavenProjectsManager.Listener, MavenProjectsTree.Listener {
|
||||
@Override
|
||||
public void activated() {
|
||||
scheduleStructureUpdate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void projectsScheduled() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void importAndResolveScheduled() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void projectsIgnoredStateChanged(final List<MavenProject> ignored, final List<MavenProject> unignored, boolean fromImport) {
|
||||
scheduleStructureRequest(() -> myStructure.updateIgnored(ContainerUtil.concat(ignored, unignored)));
|
||||
|
||||
+25
-15
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 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.
|
||||
@@ -40,7 +40,6 @@ import com.intellij.openapi.roots.ModuleRootManager;
|
||||
import com.intellij.openapi.roots.ProjectRootManager;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.util.*;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.VfsUtil;
|
||||
import com.intellij.openapi.vfs.VfsUtilCore;
|
||||
@@ -51,6 +50,7 @@ import com.intellij.util.EventDispatcher;
|
||||
import com.intellij.util.NullableConsumer;
|
||||
import com.intellij.util.ObjectUtils;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.io.PathKt;
|
||||
import com.intellij.util.ui.update.Update;
|
||||
import gnu.trove.THashMap;
|
||||
import gnu.trove.THashSet;
|
||||
@@ -69,6 +69,7 @@ import org.jetbrains.idea.maven.utils.*;
|
||||
import javax.swing.event.HyperlinkEvent;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Path;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
@@ -306,9 +307,9 @@ public class MavenProjectsManager extends MavenSimpleProjectComponent
|
||||
|
||||
private void initProjectsTree(boolean tryToLoadExisting) {
|
||||
if (tryToLoadExisting) {
|
||||
File file = getProjectsTreeFile();
|
||||
Path file = getProjectsTreeFile();
|
||||
try {
|
||||
if (file.exists()) {
|
||||
if (PathKt.exists(file)) {
|
||||
myProjectsTree = MavenProjectsTree.read(myProject, file);
|
||||
}
|
||||
}
|
||||
@@ -353,11 +354,12 @@ public class MavenProjectsManager extends MavenSimpleProjectComponent
|
||||
}
|
||||
}
|
||||
|
||||
private File getProjectsTreeFile() {
|
||||
return new File(getProjectsTreesDir(), myProject.getLocationHash() + "/tree.dat");
|
||||
private Path getProjectsTreeFile() {
|
||||
return getProjectsTreesDir().resolve(myProject.getLocationHash()).resolve("tree.dat");
|
||||
}
|
||||
|
||||
private static File getProjectsTreesDir() {
|
||||
@NotNull
|
||||
private static Path getProjectsTreesDir() {
|
||||
return MavenUtil.getPluginSystemDir("Projects");
|
||||
}
|
||||
|
||||
@@ -385,6 +387,7 @@ public class MavenProjectsManager extends MavenSimpleProjectComponent
|
||||
|
||||
private void listenForSettingsChanges() {
|
||||
getImportingSettings().addListener(new MavenImportingSettings.Listener() {
|
||||
@Override
|
||||
public void autoImportChanged() {
|
||||
if (myProject.isDisposed()) return;
|
||||
|
||||
@@ -393,10 +396,12 @@ public class MavenProjectsManager extends MavenSimpleProjectComponent
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createModuleGroupsChanged() {
|
||||
scheduleImportSettings(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createModuleForAggregatorsChanged() {
|
||||
scheduleImportSettings();
|
||||
}
|
||||
@@ -404,7 +409,7 @@ public class MavenProjectsManager extends MavenSimpleProjectComponent
|
||||
}
|
||||
|
||||
private void listenForProjectsTreeChanges() {
|
||||
myProjectsTree.addListener(new MavenProjectsTree.ListenerAdapter() {
|
||||
myProjectsTree.addListener(new MavenProjectsTree.Listener() {
|
||||
@Override
|
||||
public void projectsIgnoredStateChanged(List<MavenProject> ignored, List<MavenProject> unignored, boolean fromImport) {
|
||||
if (!fromImport) scheduleImport();
|
||||
@@ -528,7 +533,7 @@ public class MavenProjectsManager extends MavenSimpleProjectComponent
|
||||
mySaveQueue.flush();
|
||||
|
||||
if (isUnitTestMode()) {
|
||||
FileUtil.delete(getProjectsTreesDir());
|
||||
PathKt.delete(getProjectsTreesDir());
|
||||
}
|
||||
} finally {
|
||||
initLock.unlock();
|
||||
@@ -701,10 +706,12 @@ public class MavenProjectsManager extends MavenSimpleProjectComponent
|
||||
@Nullable
|
||||
public MavenProject findProject(@NotNull Module module) {
|
||||
VirtualFile f = findPomFile(module, new MavenModelsProvider() {
|
||||
@Override
|
||||
public Module[] getModules() {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public VirtualFile[] getContentRoots(Module module) {
|
||||
return ModuleRootManager.getInstance(module).getContentRoots();
|
||||
}
|
||||
@@ -804,9 +811,7 @@ public class MavenProjectsManager extends MavenSimpleProjectComponent
|
||||
public Set<MavenRemoteRepository> getRemoteRepositories() {
|
||||
Set<MavenRemoteRepository> result = new THashSet<>();
|
||||
for (MavenProject each : getProjects()) {
|
||||
for (MavenRemoteRepository eachRepository : each.getRemoteRepositories()) {
|
||||
result.add(eachRepository);
|
||||
}
|
||||
result.addAll(each.getRemoteRepositories());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@@ -989,6 +994,7 @@ public class MavenProjectsManager extends MavenSimpleProjectComponent
|
||||
private Promise<List<Module>> scheduleImport() {
|
||||
final AsyncPromise<List<Module>> result = new AsyncPromise<>();
|
||||
runWhenFullyOpen(() -> myImportingQueue.queue(new Update(MavenProjectsManager.this) {
|
||||
@Override
|
||||
public void run() {
|
||||
result.setResult(importProjects());
|
||||
}
|
||||
@@ -1178,6 +1184,7 @@ public class MavenProjectsManager extends MavenSimpleProjectComponent
|
||||
}
|
||||
else {
|
||||
MavenUtil.runInBackground(myProject, ProjectBundle.message("maven.project.importing"), false, new MavenTask() {
|
||||
@Override
|
||||
public void run(MavenProgressIndicator indicator) throws MavenProcessCanceledException {
|
||||
r.run();
|
||||
}
|
||||
@@ -1257,10 +1264,13 @@ public class MavenProjectsManager extends MavenSimpleProjectComponent
|
||||
}
|
||||
|
||||
public interface Listener {
|
||||
void activated();
|
||||
default void activated() {
|
||||
}
|
||||
|
||||
void projectsScheduled();
|
||||
default void projectsScheduled() {
|
||||
}
|
||||
|
||||
void importAndResolveScheduled();
|
||||
default void importAndResolveScheduled() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+20
-43
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2009 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 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.
|
||||
@@ -32,6 +32,7 @@ import com.intellij.util.containers.ArrayListSet;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.containers.MultiMap;
|
||||
import com.intellij.util.containers.Stack;
|
||||
import com.intellij.util.io.PathKt;
|
||||
import gnu.trove.THashSet;
|
||||
import gnu.trove.TObjectHashingStrategy;
|
||||
import org.jdom.Element;
|
||||
@@ -48,6 +49,7 @@ import org.jetbrains.idea.maven.server.NativeMavenProjectHolder;
|
||||
import org.jetbrains.idea.maven.utils.*;
|
||||
|
||||
import java.io.*;
|
||||
import java.nio.file.Path;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.locks.Lock;
|
||||
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
||||
@@ -88,6 +90,7 @@ public class MavenProjectsTree {
|
||||
private final Project myProject;
|
||||
|
||||
private final MavenProjectReaderProjectLocator myProjectLocator = new MavenProjectReaderProjectLocator() {
|
||||
@Override
|
||||
public VirtualFile findProjectFile(MavenId coordinates) {
|
||||
MavenProject project = findProject(coordinates);
|
||||
return project == null ? null : project.getFile();
|
||||
@@ -99,11 +102,10 @@ public class MavenProjectsTree {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static MavenProjectsTree read(Project project, File file) throws IOException {
|
||||
public static MavenProjectsTree read(Project project, Path file) throws IOException {
|
||||
MavenProjectsTree result = new MavenProjectsTree(project);
|
||||
|
||||
DataInputStream in = new DataInputStream(new BufferedInputStream(new FileInputStream(file)));
|
||||
try {
|
||||
try (DataInputStream in = new DataInputStream(new BufferedInputStream(PathKt.inputStream(file)))) {
|
||||
try {
|
||||
if (!STORAGE_VERSION.equals(in.readUTF())) return null;
|
||||
result.myManagedFilesPaths = readCollection(in, new LinkedHashSet<>());
|
||||
@@ -115,16 +117,13 @@ public class MavenProjectsTree {
|
||||
}
|
||||
catch (IOException e) {
|
||||
in.close();
|
||||
file.delete();
|
||||
PathKt.delete(file);
|
||||
throw e;
|
||||
}
|
||||
catch (Throwable e) {
|
||||
throw new IOException(e);
|
||||
}
|
||||
}
|
||||
finally {
|
||||
in.close();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -165,13 +164,11 @@ public class MavenProjectsTree {
|
||||
return result;
|
||||
}
|
||||
|
||||
public void save(File file) throws IOException {
|
||||
public void save(@NotNull Path file) throws IOException {
|
||||
synchronized (myStateLock) {
|
||||
readLock();
|
||||
try {
|
||||
file.getParentFile().mkdirs();
|
||||
DataOutputStream out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(file)));
|
||||
try {
|
||||
try (DataOutputStream out = new DataOutputStream(new BufferedOutputStream(PathKt.outputStream(file)))) {
|
||||
out.writeUTF(STORAGE_VERSION);
|
||||
writeCollection(out, myManagedFilesPaths);
|
||||
writeCollection(out, myIgnoredFilesPaths);
|
||||
@@ -180,9 +177,6 @@ public class MavenProjectsTree {
|
||||
writeCollection(out, myExplicitProfiles.getDisabledProfiles());
|
||||
writeProjectsRecursively(out, myRootProjects);
|
||||
}
|
||||
finally {
|
||||
out.close();
|
||||
}
|
||||
}
|
||||
finally {
|
||||
readUnlock();
|
||||
@@ -373,8 +367,8 @@ public class MavenProjectsTree {
|
||||
}
|
||||
}
|
||||
|
||||
private void updateExplicitProfiles(Collection<String> explicitProfiles, Collection<String> temporarilyRemovedExplicitProfiles,
|
||||
Collection<String> available) {
|
||||
private static void updateExplicitProfiles(Collection<String> explicitProfiles, Collection<String> temporarilyRemovedExplicitProfiles,
|
||||
Collection<String> available) {
|
||||
Collection<String> removedProfiles = new THashSet<>(explicitProfiles);
|
||||
removedProfiles.removeAll(available);
|
||||
temporarilyRemovedExplicitProfiles.addAll(removedProfiles);
|
||||
@@ -1357,6 +1351,7 @@ public class MavenProjectsTree {
|
||||
console,
|
||||
process,
|
||||
new EmbedderTask() {
|
||||
@Override
|
||||
public void run(MavenEmbedderWrapper embedder) throws MavenProcessCanceledException {
|
||||
process.checkCanceled();
|
||||
process.setText(ProjectBundle.message("maven.updating.folders.pom", mavenProject.getDisplayName()));
|
||||
@@ -1656,48 +1651,30 @@ public class MavenProjectsTree {
|
||||
}
|
||||
|
||||
public interface Listener extends EventListener {
|
||||
void profilesChanged();
|
||||
|
||||
void projectsIgnoredStateChanged(List<MavenProject> ignored, List<MavenProject> unignored, boolean fromImport);
|
||||
|
||||
void projectsUpdated(List<Pair<MavenProject, MavenProjectChanges>> updated, List<MavenProject> deleted);
|
||||
|
||||
void projectResolved(Pair<MavenProject, MavenProjectChanges> projectWithChanges,
|
||||
@Nullable NativeMavenProjectHolder nativeMavenProject);
|
||||
|
||||
void pluginsResolved(MavenProject project);
|
||||
|
||||
void foldersResolved(Pair<MavenProject, MavenProjectChanges> projectWithChanges);
|
||||
|
||||
void artifactsDownloaded(MavenProject project);
|
||||
}
|
||||
|
||||
public static class ListenerAdapter implements Listener {
|
||||
public void profilesChanged() {
|
||||
default void profilesChanged() {
|
||||
}
|
||||
|
||||
public void projectsIgnoredStateChanged(List<MavenProject> ignored, List<MavenProject> unignored, boolean fromImport) {
|
||||
default void projectsIgnoredStateChanged(List<MavenProject> ignored, List<MavenProject> unignored, boolean fromImport) {
|
||||
}
|
||||
|
||||
public void projectsUpdated(List<Pair<MavenProject, MavenProjectChanges>> updated, List<MavenProject> deleted) {
|
||||
default void projectsUpdated(List<Pair<MavenProject, MavenProjectChanges>> updated, List<MavenProject> deleted) {
|
||||
}
|
||||
|
||||
public void projectResolved(Pair<MavenProject, MavenProjectChanges> projectWithChanges,
|
||||
@Nullable NativeMavenProjectHolder nativeMavenProject) {
|
||||
default void projectResolved(Pair<MavenProject, MavenProjectChanges> projectWithChanges,
|
||||
@Nullable NativeMavenProjectHolder nativeMavenProject) {
|
||||
}
|
||||
|
||||
public void pluginsResolved(MavenProject project) {
|
||||
default void pluginsResolved(MavenProject project) {
|
||||
}
|
||||
|
||||
public void foldersResolved(Pair<MavenProject, MavenProjectChanges> projectWithChanges) {
|
||||
default void foldersResolved(Pair<MavenProject, MavenProjectChanges> projectWithChanges) {
|
||||
}
|
||||
|
||||
public void artifactsDownloaded(MavenProject project) {
|
||||
default void artifactsDownloaded(MavenProject project) {
|
||||
}
|
||||
}
|
||||
|
||||
private static class MavenCoordinateHashCodeStrategy implements TObjectHashingStrategy<MavenCoordinate> {
|
||||
|
||||
@Override
|
||||
public int computeHashCode(MavenCoordinate object) {
|
||||
String artifactId = object.getArtifactId();
|
||||
|
||||
+2
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 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.
|
||||
@@ -25,7 +25,6 @@ import com.intellij.openapi.project.DumbAwareRunnable;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.ui.update.MergingUpdateQueue;
|
||||
import com.intellij.util.ui.update.Update;
|
||||
@@ -188,7 +187,7 @@ public class MavenShortcutsManager extends MavenSimpleProjectComponent implement
|
||||
}
|
||||
}
|
||||
|
||||
private class MyProjectsTreeListener extends MavenProjectsTree.ListenerAdapter implements MavenProjectsManager.Listener {
|
||||
private class MyProjectsTreeListener implements MavenProjectsManager.Listener, MavenProjectsTree.Listener {
|
||||
private final Map<MavenProject, Boolean> mySheduledProjects = new THashMap<>();
|
||||
private final MergingUpdateQueue myUpdateQueue = new MavenMergingUpdateQueue(getComponentName() + ": Keymap Update",
|
||||
500, true, myProject);
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2009 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 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.
|
||||
@@ -35,7 +35,7 @@ public class MavenEditorTabTitleUpdater extends MavenSimpleProjectComponent {
|
||||
public void initComponent() {
|
||||
if (!isNormalProject()) return;
|
||||
|
||||
MavenProjectsManager.getInstance(myProject).addProjectsTreeListener(new MavenProjectsTree.ListenerAdapter() {
|
||||
MavenProjectsManager.getInstance(myProject).addProjectsTreeListener(new MavenProjectsTree.Listener() {
|
||||
@Override
|
||||
public void projectsUpdated(List<Pair<MavenProject, MavenProjectChanges>> updated, List<MavenProject> deleted) {
|
||||
updateTabName(MavenUtil.collectFirsts(updated));
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 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.
|
||||
@@ -69,7 +69,7 @@ public class MavenRehighlighter {
|
||||
}
|
||||
});
|
||||
|
||||
mavenProjectManager.addProjectsTreeListener(new MavenProjectsTree.ListenerAdapter() {
|
||||
mavenProjectManager.addProjectsTreeListener(new MavenProjectsTree.Listener() {
|
||||
@Override
|
||||
public void projectsUpdated(List<Pair<MavenProject, MavenProjectChanges>> updated, List<MavenProject> deleted) {
|
||||
for (Pair<MavenProject, MavenProjectChanges> each : updated) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 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.
|
||||
@@ -80,6 +80,7 @@ import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URL;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.Future;
|
||||
@@ -220,9 +221,10 @@ public class MavenUtil {
|
||||
Notifications.Bus.notify(new Notification(MAVEN_NOTIFICATION_GROUP, title, e.getMessage(), NotificationType.ERROR), project);
|
||||
}
|
||||
|
||||
public static File getPluginSystemDir(String folder) {
|
||||
@NotNull
|
||||
public static java.nio.file.Path getPluginSystemDir(@NotNull String folder) {
|
||||
// PathManager.getSystemPath() may return relative path
|
||||
return new File(PathManager.getSystemPath(), "Maven" + "/" + folder).getAbsoluteFile();
|
||||
return Paths.get(PathManager.getSystemPath()).toAbsolutePath().resolve("Maven").resolve(folder);
|
||||
}
|
||||
|
||||
public static File getBaseDir(@NotNull VirtualFile file) {
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 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.
|
||||
@@ -28,7 +28,7 @@ public abstract class MavenDomWithIndicesTestCase extends MavenDomTestCase {
|
||||
}
|
||||
|
||||
protected MavenIndicesTestFixture createIndicesFixture() {
|
||||
return new MavenIndicesTestFixture(myDir, myProject);
|
||||
return new MavenIndicesTestFixture(myDir.toPath(), myProject);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2009 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 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.
|
||||
@@ -28,7 +28,7 @@ import java.util.List;
|
||||
public class MavenExtensionCompletionAndResolutionTest extends MavenDomWithIndicesTestCase {
|
||||
@Override
|
||||
protected MavenIndicesTestFixture createIndicesFixture() {
|
||||
return new MavenIndicesTestFixture(myDir, myProject, "plugins");
|
||||
return new MavenIndicesTestFixture(myDir.toPath(), myProject, "plugins");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+2
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2009 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 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.
|
||||
@@ -17,7 +17,6 @@ package org.jetbrains.idea.maven.dom;
|
||||
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.VirtualFileManager;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiReference;
|
||||
import com.intellij.psi.xml.XmlTag;
|
||||
@@ -29,7 +28,7 @@ import java.util.List;
|
||||
public class MavenPluginCompletionAndResolutionTest extends MavenDomWithIndicesTestCase {
|
||||
@Override
|
||||
protected MavenIndicesTestFixture createIndicesFixture() {
|
||||
return new MavenIndicesTestFixture(myDir, myProject, "plugins");
|
||||
return new MavenIndicesTestFixture(myDir.toPath(), myProject, "plugins");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+13
-9
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2009 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 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.
|
||||
@@ -33,15 +33,19 @@ public class MavenIndicesManagerTest extends MavenIndicesTestCase {
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
myIndicesFixture = new MavenIndicesTestFixture(myDir, myProject);
|
||||
myIndicesFixture = new MavenIndicesTestFixture(myDir.toPath(), myProject);
|
||||
myIndicesFixture.setUp();
|
||||
MavenServerManager.getInstance().setUseMaven2(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
myIndicesFixture.tearDown();
|
||||
super.tearDown();
|
||||
try {
|
||||
myIndicesFixture.tearDown();
|
||||
}
|
||||
finally {
|
||||
super.tearDown();
|
||||
}
|
||||
}
|
||||
|
||||
public void testEnsuringLocalRepositoryIndex() throws Exception {
|
||||
@@ -51,17 +55,17 @@ public class MavenIndicesManagerTest extends MavenIndicesTestCase {
|
||||
File dir4 = myIndicesFixture.getRepositoryHelper().getTestData("dir/bar");
|
||||
|
||||
List<MavenIndex> indices1 = myIndicesFixture.getIndicesManager().ensureIndicesExist(myProject, dir1,
|
||||
Collections.<Pair<String, String>>emptyList());
|
||||
Collections.emptyList());
|
||||
assertEquals(1, indices1.size());
|
||||
assertTrue(myIndicesFixture.getIndicesManager().getIndices().contains(indices1.get(0)));
|
||||
|
||||
assertEquals(indices1, myIndicesFixture.getIndicesManager().ensureIndicesExist(myProject, dir2,
|
||||
Collections.<Pair<String, String>>emptyList()));
|
||||
Collections.emptyList()));
|
||||
assertEquals(indices1, myIndicesFixture.getIndicesManager().ensureIndicesExist(myProject, dir3,
|
||||
Collections.<Pair<String, String>>emptyList()));
|
||||
Collections.emptyList()));
|
||||
|
||||
List<MavenIndex> indices2 = myIndicesFixture.getIndicesManager().ensureIndicesExist(myProject, dir4,
|
||||
Collections.<Pair<String, String>>emptyList());
|
||||
Collections.emptyList());
|
||||
assertFalse(indices1.get(0).equals(indices2.get(0)));
|
||||
}
|
||||
|
||||
@@ -87,7 +91,7 @@ public class MavenIndicesManagerTest extends MavenIndicesTestCase {
|
||||
public void testIndexedArchetypes() throws Exception {
|
||||
myIndicesFixture.getRepositoryHelper().addTestData("archetypes");
|
||||
myIndicesFixture.getIndicesManager().ensureIndicesExist(myProject, myIndicesFixture.getRepositoryHelper().getTestData("archetypes"),
|
||||
Collections.<Pair<String, String>>emptyList());
|
||||
Collections.emptyList());
|
||||
|
||||
assertArchetypeExists("org.apache.maven.archetypes:maven-archetype-foobar:1.0");
|
||||
}
|
||||
|
||||
+11
-6
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2009 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 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.
|
||||
@@ -23,9 +23,10 @@ import org.jetbrains.idea.maven.server.MavenServerManager;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Path;
|
||||
|
||||
public class MavenIndicesTestFixture {
|
||||
private File myDir;
|
||||
private Path myDir;
|
||||
private Project myProject;
|
||||
private String myLocalRepoDir;
|
||||
private String[] myExtraRepoDirs;
|
||||
@@ -33,11 +34,15 @@ public class MavenIndicesTestFixture {
|
||||
private MavenCustomRepositoryHelper myRepositoryHelper;
|
||||
private MavenProjectIndicesManager myIndicesManager;
|
||||
|
||||
public MavenIndicesTestFixture(File dir, Project project) {
|
||||
public MavenIndicesTestFixture(Path dir, Project project) {
|
||||
this(dir, project, "local1", "local2");
|
||||
}
|
||||
|
||||
public MavenIndicesTestFixture(File dir, Project project, String localRepoDir, String... extraRepoDirs) {
|
||||
public MavenIndicesTestFixture(File dir, Project project) {
|
||||
this(dir.toPath(), project);
|
||||
}
|
||||
|
||||
public MavenIndicesTestFixture(Path dir, Project project, String localRepoDir, String... extraRepoDirs) {
|
||||
myDir = dir;
|
||||
myProject = project;
|
||||
myLocalRepoDir = localRepoDir;
|
||||
@@ -45,7 +50,7 @@ public class MavenIndicesTestFixture {
|
||||
}
|
||||
|
||||
public void setUp() throws Exception {
|
||||
myRepositoryHelper = new MavenCustomRepositoryHelper(myDir, ArrayUtil.append(myExtraRepoDirs, myLocalRepoDir));
|
||||
myRepositoryHelper = new MavenCustomRepositoryHelper(myDir.toFile(), ArrayUtil.append(myExtraRepoDirs, myLocalRepoDir));
|
||||
|
||||
for (String each : myExtraRepoDirs) {
|
||||
addToRepository(each);
|
||||
@@ -54,7 +59,7 @@ public class MavenIndicesTestFixture {
|
||||
MavenProjectsManager.getInstance(myProject).getGeneralSettings().setLocalRepository(
|
||||
myRepositoryHelper.getTestDataPath(myLocalRepoDir));
|
||||
|
||||
getIndicesManager().setTestIndexDir(new File(myDir, "MavenIndices"));
|
||||
getIndicesManager().setTestIndexDir(myDir.resolve("MavenIndices"));
|
||||
myIndicesManager = MavenProjectIndicesManager.getInstance(myProject);
|
||||
myIndicesManager.doInit();
|
||||
}
|
||||
|
||||
+11
-7
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2009 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 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.
|
||||
@@ -23,14 +23,18 @@ public class MavenProjectIndicesManagerTest extends MavenIndicesTestCase {
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
myIndicesFixture = new MavenIndicesTestFixture(myDir, myProject);
|
||||
myIndicesFixture = new MavenIndicesTestFixture(myDir.toPath(), myProject);
|
||||
myIndicesFixture.setUp();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
myIndicesFixture.tearDown();
|
||||
super.tearDown();
|
||||
try {
|
||||
myIndicesFixture.tearDown();
|
||||
}
|
||||
finally {
|
||||
super.tearDown();
|
||||
}
|
||||
}
|
||||
|
||||
public void testAutomaticallyAddAndUpdateLocalRepository() throws Exception {
|
||||
@@ -78,7 +82,7 @@ public class MavenProjectIndicesManagerTest extends MavenIndicesTestCase {
|
||||
|
||||
public void testUpdatingIndexUsingMirrors() throws Exception {
|
||||
myIndicesFixture.tearDown();
|
||||
myIndicesFixture = new MavenIndicesTestFixture(myDir, myProject, "local2", "remote_mirror");
|
||||
myIndicesFixture = new MavenIndicesTestFixture(myDir.toPath(), myProject, "local2", "remote_mirror");
|
||||
myIndicesFixture.setUp();
|
||||
|
||||
updateSettingsXmlFully("<settings>" +
|
||||
@@ -127,7 +131,7 @@ public class MavenProjectIndicesManagerTest extends MavenIndicesTestCase {
|
||||
assertUnorderedElementsAreEqual(myIndicesFixture.getProjectIndicesManager().getGroupIds(), "test", "jmock", "junit");
|
||||
|
||||
myIndicesFixture.tearDown();
|
||||
myIndicesFixture = new MavenIndicesTestFixture(myDir, myProject, "local2", "remote_mirror");
|
||||
myIndicesFixture = new MavenIndicesTestFixture(myDir.toPath(), myProject, "local2", "remote_mirror");
|
||||
myIndicesFixture.setUp();
|
||||
|
||||
updateSettingsXmlFully("<settings>" +
|
||||
@@ -147,7 +151,7 @@ public class MavenProjectIndicesManagerTest extends MavenIndicesTestCase {
|
||||
|
||||
public void testCheckingLocalRepositoryForAbsentIndices() throws Exception {
|
||||
myIndicesFixture.tearDown();
|
||||
myIndicesFixture = new MavenIndicesTestFixture(myDir, myProject, "local2");
|
||||
myIndicesFixture = new MavenIndicesTestFixture(myDir.toPath(), myProject, "local2");
|
||||
myIndicesFixture.setUp();
|
||||
|
||||
myIndicesFixture.addToRepository("local1");
|
||||
|
||||
+16
-12
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2009 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 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.
|
||||
@@ -26,14 +26,18 @@ public class MavenSearcherTest extends MavenIndicesTestCase {
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
myIndicesFixture = new MavenIndicesTestFixture(myDir, myProject);
|
||||
myIndicesFixture = new MavenIndicesTestFixture(myDir.toPath(), myProject);
|
||||
myIndicesFixture.setUp();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
myIndicesFixture.tearDown();
|
||||
super.tearDown();
|
||||
try {
|
||||
myIndicesFixture.tearDown();
|
||||
}
|
||||
finally {
|
||||
super.tearDown();
|
||||
}
|
||||
}
|
||||
|
||||
public void testClassSearch() throws Exception {
|
||||
@@ -117,12 +121,12 @@ public class MavenSearcherTest extends MavenIndicesTestCase {
|
||||
private List<String> getClassSearchResults(String pattern) {
|
||||
List<String> actualArtifacts = new ArrayList<>();
|
||||
for (MavenClassSearchResult eachResult : new MavenClassSearcher().search(myProject, pattern, 100)) {
|
||||
String s = eachResult.className + "(" + eachResult.packageName + ")";
|
||||
StringBuilder s = new StringBuilder(eachResult.className + "(" + eachResult.packageName + ")");
|
||||
for (MavenArtifactInfo eachVersion : eachResult.versions) {
|
||||
if (s.length() > 0) s += " ";
|
||||
s += eachVersion.getGroupId() + ":" + eachVersion.getArtifactId()+ ":" + eachVersion.getVersion();
|
||||
if (s.length() > 0) s.append(" ");
|
||||
s.append(eachVersion.getGroupId()).append(":").append(eachVersion.getArtifactId()).append(":").append(eachVersion.getVersion());
|
||||
}
|
||||
actualArtifacts.add(s);
|
||||
actualArtifacts.add(s.toString());
|
||||
}
|
||||
return actualArtifacts;
|
||||
}
|
||||
@@ -130,12 +134,12 @@ public class MavenSearcherTest extends MavenIndicesTestCase {
|
||||
private void assertArtifactSearchResults(String pattern, String... expected) {
|
||||
List<String> actual = new ArrayList<>();
|
||||
for (MavenArtifactSearchResult eachResult : new MavenArtifactSearcher(true).search(myProject, pattern, 100)) {
|
||||
String s = "";
|
||||
StringBuilder s = new StringBuilder();
|
||||
for (MavenArtifactInfo eachVersion : eachResult.versions) {
|
||||
if (s.length() > 0) s += " ";
|
||||
s += eachVersion.getGroupId() + ":" + eachVersion.getArtifactId()+ ":" + eachVersion.getVersion();
|
||||
if (s.length() > 0) s.append(" ");
|
||||
s.append(eachVersion.getGroupId()).append(":").append(eachVersion.getArtifactId()).append(":").append(eachVersion.getVersion());
|
||||
}
|
||||
actual.add(s);
|
||||
actual.add(s.toString());
|
||||
}
|
||||
assertOrderedElementsAreEqual(actual, expected);
|
||||
}
|
||||
|
||||
+5
-5
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 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.
|
||||
@@ -864,7 +864,7 @@ public class MavenProjectsManagerTest extends MavenImportingTestCase {
|
||||
|
||||
public void testDoNotScheduleResolveOfInvalidProjectsDeleted() throws Exception {
|
||||
final boolean[] called = new boolean[1];
|
||||
myProjectsManager.addProjectsTreeListener(new MavenProjectsTree.ListenerAdapter() {
|
||||
myProjectsManager.addProjectsTreeListener(new MavenProjectsTree.Listener() {
|
||||
@Override
|
||||
public void projectResolved(Pair<MavenProject, MavenProjectChanges> projectWithChanges,
|
||||
NativeMavenProjectHolder nativeMavenProject) {
|
||||
@@ -1086,14 +1086,14 @@ public class MavenProjectsManagerTest extends MavenImportingTestCase {
|
||||
|
||||
final StringBuilder log = new StringBuilder();
|
||||
myProjectsManager.performScheduledImportInTests();
|
||||
myProjectsManager.addProjectsTreeListener(new MavenProjectsTree.ListenerAdapter() {
|
||||
myProjectsManager.addProjectsTreeListener(new MavenProjectsTree.Listener() {
|
||||
@Override
|
||||
public void projectsUpdated(List<Pair<MavenProject, MavenProjectChanges>> updated, List<MavenProject> deleted) {
|
||||
for (Pair<MavenProject, MavenProjectChanges> each : updated) {
|
||||
log.append("updated: " + each.first.getDisplayName() + " ");
|
||||
log.append("updated: ").append(each.first.getDisplayName()).append(" ");
|
||||
}
|
||||
for (MavenProject each : deleted) {
|
||||
log.append("deleted: " + each.getDisplayName() + " ");
|
||||
log.append("deleted: ").append(each.getDisplayName()).append(" ");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
+3
-4
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 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.
|
||||
@@ -17,7 +17,6 @@ package org.jetbrains.idea.maven.project.importing;
|
||||
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.util.Function;
|
||||
import org.jetbrains.idea.maven.project.MavenProject;
|
||||
import org.jetbrains.idea.maven.project.MavenProjectsTree;
|
||||
|
||||
@@ -61,7 +60,7 @@ public class MavenProjectsTreeIgnoresTest extends MavenProjectsTreeTestCase {
|
||||
assertEquals("ignored: m1 ", myLog);
|
||||
myLog = "";
|
||||
|
||||
myTree.setIgnoredFilesPatterns(Collections.<String>emptyList());
|
||||
myTree.setIgnoredFilesPatterns(Collections.emptyList());
|
||||
|
||||
assertEquals("unignored: m1 ", myLog);
|
||||
myLog = "";
|
||||
@@ -78,7 +77,7 @@ public class MavenProjectsTreeIgnoresTest extends MavenProjectsTreeTestCase {
|
||||
assertEquals("", myLog);
|
||||
}
|
||||
|
||||
private class MyLoggingListener extends MavenProjectsTree.ListenerAdapter {
|
||||
private class MyLoggingListener implements MavenProjectsTree.Listener {
|
||||
@Override
|
||||
public void projectsIgnoredStateChanged(List<MavenProject> ignored, List<MavenProject> unignored, boolean fromImport) {
|
||||
if (!ignored.isEmpty()) myLog += "ignored: " + format(ignored) + " ";
|
||||
|
||||
+6
-7
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 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 com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.testFramework.PlatformTestUtil;
|
||||
import com.intellij.util.Function;
|
||||
import org.jetbrains.idea.maven.model.MavenExplicitProfiles;
|
||||
import org.jetbrains.idea.maven.project.MavenEmbeddersManager;
|
||||
import org.jetbrains.idea.maven.project.MavenProject;
|
||||
@@ -31,7 +30,7 @@ import org.jetbrains.idea.maven.server.MavenServerManager;
|
||||
import org.jetbrains.idea.maven.server.NativeMavenProjectHolder;
|
||||
import org.jetbrains.idea.maven.utils.MavenUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.nio.file.Path;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
@@ -624,7 +623,7 @@ public class MavenProjectsTreeReadingTest extends MavenProjectsTreeTestCase {
|
||||
MavenEmbeddersManager embeddersManager = new MavenEmbeddersManager(myProject);
|
||||
final List<NativeMavenProjectHolder> nativeProject = new ArrayList<>();
|
||||
try {
|
||||
myTree.addListener(new MavenProjectsTree.ListenerAdapter() {
|
||||
myTree.addListener(new MavenProjectsTree.Listener() {
|
||||
@Override
|
||||
public void projectResolved(Pair<MavenProject, MavenProjectChanges> projectWithChanges,
|
||||
NativeMavenProjectHolder nativeMavenProject) {
|
||||
@@ -674,7 +673,7 @@ public class MavenProjectsTreeReadingTest extends MavenProjectsTreeTestCase {
|
||||
MavenEmbeddersManager embeddersManager = new MavenEmbeddersManager(myProject);
|
||||
try {
|
||||
final NativeMavenProjectHolder[] nativeProject = new NativeMavenProjectHolder[1];
|
||||
myTree.addListener(new MavenProjectsTree.ListenerAdapter() {
|
||||
myTree.addListener(new MavenProjectsTree.Listener() {
|
||||
@Override
|
||||
public void projectResolved(Pair<MavenProject, MavenProjectChanges> projectWithChanges,
|
||||
NativeMavenProjectHolder nativeMavenProject) {
|
||||
@@ -1867,7 +1866,7 @@ public class MavenProjectsTreeReadingTest extends MavenProjectsTreeTestCase {
|
||||
embeddersManager.releaseInTests();
|
||||
}
|
||||
|
||||
File f = new File(myDir, "tree.dat");
|
||||
Path f = myDir.toPath().resolve("tree.dat");
|
||||
myTree.save(f);
|
||||
MavenProjectsTree read = MavenProjectsTree.read(myProject, f);
|
||||
|
||||
@@ -2239,7 +2238,7 @@ public class MavenProjectsTreeReadingTest extends MavenProjectsTreeTestCase {
|
||||
PlatformTestUtil.assertPathsEqual(pathFromBasedir("my-target/test-classes"), project.getTestOutputDirectory());
|
||||
}
|
||||
|
||||
private static class MyLoggingListener extends MavenProjectsTree.ListenerAdapter {
|
||||
private static class MyLoggingListener implements MavenProjectsTree.Listener {
|
||||
String log = "";
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user