Improve process labels for remote processes
This commit is contained in:
@@ -44,8 +44,12 @@ public class LiveProcessCommand {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "LiveProcessCommand [processKey=" + processKey + ", action=" + action + ", projectName=" + projectName
|
||||
+ ", processId=" + processId + "]";
|
||||
return "LiveProcessCommand [\n" +
|
||||
" processKey=" + processKey + ",\n" +
|
||||
" label=" + label +",\n" +
|
||||
" action=" + action + ",\n" +
|
||||
" projectName=" + projectName+"\n" +
|
||||
" processId=" + processId + "\n]";
|
||||
}
|
||||
|
||||
public String getProjectName() {
|
||||
|
||||
@@ -125,7 +125,7 @@ public class SpringProcessCommandHandler {
|
||||
SpringProcessConnector[] connectedProcesses = connectorService.getConnectedProcesses();
|
||||
for (SpringProcessConnector process : connectedProcesses) {
|
||||
String processKey = process.getProcessKey();
|
||||
String label = process.getLabel();
|
||||
String label = createLabel(process);
|
||||
result.add(new LiveProcessCommand(COMMAND_REFRESH, processKey, label, process.getProjectName(), process.getProcessId()));
|
||||
result.add(new LiveProcessCommand(COMMAND_DISCONNECT, processKey, label, process.getProjectName(), process.getProcessId()));
|
||||
alreadyConnected.add(processKey);
|
||||
@@ -137,7 +137,7 @@ public class SpringProcessCommandHandler {
|
||||
for (SpringProcessDescriptor localProcess : localProcesses) {
|
||||
String processKey = localProcess.getProcessKey();
|
||||
if (!alreadyConnected.contains(processKey)) {
|
||||
String label = localProcess.getLabel();
|
||||
String label = createLabel(localProcess);
|
||||
|
||||
LiveProcessCommand command = new LiveProcessCommand(COMMAND_CONNECT, processKey, label, localProcess.getProjectName(), null);
|
||||
result.add(command);
|
||||
@@ -150,14 +150,29 @@ public class SpringProcessCommandHandler {
|
||||
for (RemoteBootAppData remoteProcess : remoteProcesses) {
|
||||
String processKey = SpringProcessConnectorRemote.getProcessKey(remoteProcess);
|
||||
if (!alreadyConnected.contains(processKey)) {
|
||||
String label = "remote process: " + remoteProcess.getJmxurl();
|
||||
result.add(new LiveProcessCommand(COMMAND_CONNECT, processKey, label, null, remoteProcess.getProcessId()));
|
||||
String label = createLabel(remoteProcess);
|
||||
result.add(new LiveProcessCommand(COMMAND_CONNECT, processKey, label, null, remoteProcess.getProcessID()));
|
||||
}
|
||||
}
|
||||
log.info("getProcessCommands => {}", result);
|
||||
log.debug("getProcessCommands => {}", result);
|
||||
return CompletableFuture.completedFuture((Object[]) result.toArray(new Object[result.size()]));
|
||||
}
|
||||
|
||||
private String createLabel(RemoteBootAppData remoteProcess) {
|
||||
//For the case of a not yet connected Remote BootApp
|
||||
return remoteProcess.getProcessID() + " ("+SpringProcessConnectorRemote.getProcessName(remoteProcess);
|
||||
}
|
||||
|
||||
private String createLabel(SpringProcessDescriptor localProcess) {
|
||||
//For the case of a not yet connected local process
|
||||
return localProcess.getProcessID() + " ("+localProcess.getProcessName()+")";
|
||||
}
|
||||
|
||||
private String createLabel(SpringProcessConnector process) {
|
||||
//For the case of an already connected process (local or remote).
|
||||
return process.getProcessId() +" ("+process.getProcessName() + ")";
|
||||
}
|
||||
|
||||
private String getProcessKey(ExecuteCommandParams params) {
|
||||
List<Object> arguments = params.getArguments();
|
||||
for (Object arg : arguments) {
|
||||
|
||||
@@ -16,7 +16,6 @@ package org.springframework.ide.vscode.boot.java.livehover.v2;
|
||||
public interface SpringProcessConnector {
|
||||
|
||||
String getProcessKey();
|
||||
String getLabel();
|
||||
|
||||
void connect() throws Exception;
|
||||
SpringProcessLiveData refresh() throws Exception;
|
||||
@@ -26,5 +25,5 @@ public interface SpringProcessConnector {
|
||||
void removeConnectorChangeListener(SpringProcessConnectionChangeListener listener);
|
||||
String getProjectName();
|
||||
String getProcessId();
|
||||
|
||||
String getProcessName();
|
||||
}
|
||||
|
||||
@@ -95,11 +95,6 @@ public class SpringProcessConnectorOverJMX implements SpringProcessConnector {
|
||||
return processKey;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getLabel() {
|
||||
return processID + " (" + processName + ") ";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void connect() throws Exception {
|
||||
jmxServiceURL = new JMXServiceURL(jmxURL);
|
||||
@@ -187,4 +182,17 @@ public class SpringProcessConnectorOverJMX implements SpringProcessConnector {
|
||||
public String getProcessId() {
|
||||
return processID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProcessName() {
|
||||
return processName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "SpringProcessConnectorOverJMX [jmxURL=" + jmxURL + ", processID=" + processID + ", processName="
|
||||
+ processName + ", listeners=" + listeners + ", jmxConnection=" + jmxConnection + ", jmxServiceURL="
|
||||
+ jmxServiceURL + ", notificationListener=" + notificationListener + "]";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.ide.vscode.commons.languageserver.util.Settings;
|
||||
import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguageServer;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
* @author Martin Lippert
|
||||
@@ -87,7 +88,7 @@ public class SpringProcessConnectorRemote {
|
||||
+ port + ", keepChecking=" + keepChecking + "]";
|
||||
}
|
||||
|
||||
public String getProcessId() {
|
||||
public String getProcessID() {
|
||||
return processId;
|
||||
}
|
||||
|
||||
@@ -199,15 +200,23 @@ public class SpringProcessConnectorRemote {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static String getProcessName(RemoteBootAppData appData) {
|
||||
if (StringUtils.hasText(appData.getHost())) {
|
||||
return "remote process - "+ appData.getHost();
|
||||
} else {
|
||||
return "remote process - " + appData.getJmxurl();
|
||||
}
|
||||
}
|
||||
|
||||
public static String getProcessKey(RemoteBootAppData appData) {
|
||||
return "remote process - " + appData.getJmxurl();
|
||||
}
|
||||
|
||||
|
||||
public void connectProcess(RemoteBootAppData remoteProcess) {
|
||||
String processKey = getProcessKey(remoteProcess);
|
||||
String processID = remoteProcess.getProcessId();
|
||||
String processName = processKey;
|
||||
String processID = remoteProcess.getProcessID();
|
||||
String processName = getProcessName(remoteProcess);
|
||||
String jmxURL = remoteProcess.getJmxurl();
|
||||
String host = remoteProcess.getHost();
|
||||
String port = remoteProcess.getPort();
|
||||
|
||||
@@ -82,10 +82,6 @@ public class SpringProcessDescriptor {
|
||||
return vm;
|
||||
}
|
||||
|
||||
public String getLabel() {
|
||||
return processID + " (" + processName + ")";
|
||||
}
|
||||
|
||||
public SpringProcessStatus getStatus() {
|
||||
return this.status;
|
||||
}
|
||||
@@ -193,4 +189,12 @@ public class SpringProcessDescriptor {
|
||||
return projectName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "SpringProcessDescriptor [processKey=" + processKey + ", processID=" + processID + ", processName="
|
||||
+ processName + "]";
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user