mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-55657 & other repository attach fixes
This commit is contained in:
@@ -26,6 +26,8 @@ import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
public interface MavenFacade extends Remote {
|
||||
void ping() throws RemoteException;
|
||||
|
||||
void set(MavenFacadeLogger logger, MavenFacadeDownloadListener downloadListener) throws RemoteException;
|
||||
|
||||
MavenFacadeEmbedder createEmbedder(MavenFacadeSettings settings) throws RemoteException;
|
||||
|
||||
@@ -36,6 +36,11 @@ import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
public class MavenFacadeImpl extends RemoteObject implements MavenFacade {
|
||||
@Override
|
||||
public void ping() throws RemoteException {
|
||||
// no op
|
||||
}
|
||||
|
||||
public void set(MavenFacadeLogger logger, MavenFacadeDownloadListener downloadListener) throws RemoteException {
|
||||
try {
|
||||
MavenFacadeGlobalsManager.set(logger, downloadListener);
|
||||
|
||||
+11
-3
@@ -114,11 +114,19 @@ public class MavenFacadeManager {
|
||||
}
|
||||
|
||||
private synchronized MavenFacade getFacade() {
|
||||
if (myFacade == null) {
|
||||
try {
|
||||
myFacade.ping();
|
||||
}
|
||||
catch (Exception ex) {
|
||||
try {
|
||||
if (myFacade == null) {
|
||||
UnicastRemoteObject.exportObject(myLogger, 0);
|
||||
UnicastRemoteObject.exportObject(myDownloadListener, 0);
|
||||
}
|
||||
else {
|
||||
// todo [anton] if myFacade != null reinit
|
||||
}
|
||||
myFacade = mySupport.acquire(this, "");
|
||||
UnicastRemoteObject.exportObject(myLogger, 0);
|
||||
UnicastRemoteObject.exportObject(myDownloadListener, 0);
|
||||
myFacade.set(myLogger, myDownloadListener);
|
||||
}
|
||||
catch (Exception e) {
|
||||
|
||||
+2
-3
@@ -74,7 +74,7 @@ public class MavenProjectsManager extends SimpleProjectComponent
|
||||
|
||||
private MavenProjectsManagerState myState = new MavenProjectsManagerState();
|
||||
|
||||
private MavenEmbeddersManager myEmbeddersManager;
|
||||
private final MavenEmbeddersManager myEmbeddersManager;
|
||||
|
||||
private MavenProjectsTree myProjectsTree;
|
||||
private MavenProjectsManagerWatcher myWatcher;
|
||||
@@ -103,6 +103,7 @@ public class MavenProjectsManager extends SimpleProjectComponent
|
||||
|
||||
public MavenProjectsManager(Project project) {
|
||||
super(project);
|
||||
myEmbeddersManager = new MavenEmbeddersManager(myProject);
|
||||
}
|
||||
|
||||
public MavenProjectsManagerState getState() {
|
||||
@@ -239,8 +240,6 @@ public class MavenProjectsManager extends SimpleProjectComponent
|
||||
}
|
||||
|
||||
private void initWorkers() {
|
||||
myEmbeddersManager = new MavenEmbeddersManager(myProject);
|
||||
|
||||
myReadingProcessor = new MavenProjectsProcessor(myProject, ProjectBundle.message("maven.reading"), false, myEmbeddersManager);
|
||||
myResolvingProcessor = new MavenProjectsProcessor(myProject, ProjectBundle.message("maven.resolving"), true, myEmbeddersManager);
|
||||
myPluginsResolvingProcessor =
|
||||
|
||||
+1
-1
@@ -331,7 +331,7 @@ public class RepositoryAttachDialog extends DialogWrapper {
|
||||
}
|
||||
else {
|
||||
final Pair<MavenArtifactInfo, MavenRepositoryInfo> artifactAndRepo = myCoordinates.get(getCoordinateText());
|
||||
final MavenRepositoryInfo repository = artifactAndRepo.second;
|
||||
final MavenRepositoryInfo repository = artifactAndRepo == null? null : artifactAndRepo.second;
|
||||
return repository != null? Collections.singletonList(repository) : ContainerUtil.findAll(myRepositories.values(), Condition.NOT_NULL);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user