mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
OpenShift Origin - API change to support separate tool window for OSh3 servers
This commit is contained in:
+6
@@ -1,10 +1,16 @@
|
||||
package com.intellij.remoteServer.configuration;
|
||||
|
||||
import com.intellij.openapi.components.PersistentStateComponent;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public abstract class ServerConfiguration {
|
||||
public abstract PersistentStateComponent<?> getSerializer();
|
||||
|
||||
@Nullable
|
||||
public String getCustomToolWindowId() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-4
@@ -17,12 +17,9 @@ package com.intellij.remoteServer.impl.runtime.ui;
|
||||
|
||||
import com.intellij.ide.util.treeView.AbstractTreeNode;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.remoteServer.configuration.RemoteServer;
|
||||
import com.intellij.remoteServer.configuration.RemoteServersManager;
|
||||
import com.intellij.remoteServer.impl.runtime.ui.tree.TreeBuilderBase;
|
||||
import com.intellij.ui.treeStructure.Tree;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -82,6 +79,6 @@ public class DefaultRemoteServersViewContribution extends RemoteServersViewContr
|
||||
|
||||
@Override
|
||||
public List<RemoteServer<?>> getRemoteServers() {
|
||||
return ContainerUtil.filter(RemoteServersManager.getInstance().getServers(), server -> server.getType().getCustomToolWindowId() == null);
|
||||
return getRemoteServersByToolWindowId(null);
|
||||
}
|
||||
}
|
||||
|
||||
+13
@@ -18,10 +18,13 @@ package com.intellij.remoteServer.impl.runtime.ui;
|
||||
import com.intellij.ide.util.treeView.AbstractTreeNode;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.remoteServer.configuration.RemoteServer;
|
||||
import com.intellij.remoteServer.configuration.RemoteServersManager;
|
||||
import com.intellij.remoteServer.impl.runtime.ui.tree.ServersTreeNodeSelector;
|
||||
import com.intellij.remoteServer.impl.runtime.ui.tree.ServersTreeStructure;
|
||||
import com.intellij.remoteServer.runtime.ServerConnection;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -58,4 +61,14 @@ public abstract class RemoteServersViewContribution extends RemoteServersViewCon
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public static String getRemoteServerToolWindowId(RemoteServer<?> server) {
|
||||
String serverToolWindowId = server.getConfiguration().getCustomToolWindowId();
|
||||
return serverToolWindowId != null ? serverToolWindowId : server.getType().getCustomToolWindowId();
|
||||
}
|
||||
|
||||
protected static List<RemoteServer<?>> getRemoteServersByToolWindowId(@Nullable String toolWindowId) {
|
||||
return ContainerUtil.filter(RemoteServersManager.getInstance().getServers(),
|
||||
server -> getRemoteServerToolWindowId(server) == toolWindowId);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -52,7 +52,7 @@ public class RemoteServersViewImpl extends RemoteServersView {
|
||||
}
|
||||
|
||||
private static String getToolWindowId(ServerConnection<?> connection) {
|
||||
String customToolWindowId = connection.getServer().getType().getCustomToolWindowId();
|
||||
String customToolWindowId = RemoteServersViewContribution.getRemoteServerToolWindowId(connection.getServer());
|
||||
return StringUtil.notNullize(customToolWindowId, DefaultServersToolWindowManager.WINDOW_ID);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user