Fix progress for connect/disconnect process. Project change -> delete

then create
This commit is contained in:
aboyko
2022-08-11 18:30:46 -04:00
parent 37b93e0833
commit a15ad9261a
2 changed files with 17 additions and 12 deletions

View File

@@ -90,6 +90,8 @@ public class SpringProcessConnectorService {
final ProgressTask progressTask = getProgressTask(
"spring-process-connector-service-connect-" + processKey);
progressTask.progressBegin("Connect", null);
scheduleConnect(progressTask, processKey, connector, 0, TimeUnit.SECONDS, 0);
}
catch (Exception e) {
@@ -104,7 +106,9 @@ public class SpringProcessConnectorService {
if (connector != null) {
final ProgressTask progressTask = getProgressTask(
"spring-process-connector-service-refresh-data-" + processKey);
progressTask.progressBegin("Refresh", null);
scheduleRefresh(progressTask, processKey, connector, 0, TimeUnit.SECONDS, 0);
}
}
@@ -125,6 +129,8 @@ public class SpringProcessConnectorService {
final ProgressTask progressTask = getProgressTask(
"spring-process-connector-service-disconnect-" + processKey);
progressTask.progressBegin("Disconnect", null);
scheduleDisconnect(progressTask, processKey, connector, 0, TimeUnit.SECONDS, 0);
}
}
@@ -151,9 +157,10 @@ public class SpringProcessConnectorService {
this.scheduler.schedule(() -> {
progressTask.progressEvent(progressMessage);
try {
progressTask.progressEvent(progressMessage);
connector.connect();
progressTask.progressDone();
refreshProcess(processKey);
}
@@ -171,8 +178,6 @@ public class SpringProcessConnectorService {
.error("Failed to connect to process " + processKey + " after retries: " + retryNo, e));
}
}
} finally {
progressTask.progressDone();
}
}, delay, unit);
}
@@ -183,9 +188,10 @@ public class SpringProcessConnectorService {
this.scheduler.schedule(() -> {
progressTask.progressEvent(message);
try {
progressTask.progressEvent(message);
connector.disconnect();
progressTask.progressDone();
}
catch (Exception e) {
log.info("problem occured during process disconnect", e);
@@ -200,8 +206,6 @@ public class SpringProcessConnectorService {
.error("Failed to disconnect from process " + processKey + " after retries: " + retryNo, e));
}
} finally {
progressTask.progressDone();
}
}, delay, unit);
}
@@ -211,9 +215,10 @@ public class SpringProcessConnectorService {
log.info(progressMessage);
this.scheduler.schedule(() -> {
progressTask.progressEvent(progressMessage);
this.scheduler.schedule(() -> {
try {
progressTask.progressEvent(progressMessage);
SpringProcessLiveData newLiveData = connector.refresh(this.liveDataProvider.getCurrent(processKey));
if (newLiveData != null) {
@@ -223,6 +228,7 @@ public class SpringProcessConnectorService {
this.connectedSuccess.put(processKey, true);
}
progressTask.progressDone();
}
catch (Exception e) {
@@ -243,8 +249,6 @@ public class SpringProcessConnectorService {
disconnectProcess(processKey);
}
}
} finally {
progressTask.progressDone();
}
}, delay, unit);
}

View File

@@ -352,7 +352,8 @@ public class JdtLsProjectCache implements InitializableJavaProjectsService, Serv
: new JdtLsJavaProject(server.getClient(), projectUri, classpath, JdtLsProjectCache.this);
IJavaProject oldProject = table.put(uri, newProject);
if (oldProject != null) {
notifyChanged(newProject);
notifyDelete(oldProject);
notifyCreated(newProject);
} else {
notifyCreated(newProject);
}