From 312bcb7545b1800fe14cfd97e35d45c79475fae2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 21 Aug 2025 15:32:03 +0000 Subject: [PATCH 1/2] Initial plan From 83dff2f0549bd0be6c4a16714951958dc44601be Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 21 Aug 2025 15:39:39 +0000 Subject: [PATCH 2/2] Fix timing issue for updateSolutionServerProxies calls - move from SolutionDeserializer to ServoyModel Co-authored-by: jcompagner <3274268+jcompagner@users.noreply.github.com> --- .../src/com/servoy/eclipse/core/ServoyModel.java | 10 ++++++---- .../eclipse/model/repository/SolutionDeserializer.java | 10 +++++----- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/com.servoy.eclipse.core/src/com/servoy/eclipse/core/ServoyModel.java b/com.servoy.eclipse.core/src/com/servoy/eclipse/core/ServoyModel.java index d4290be443..da14cffada 100644 --- a/com.servoy.eclipse.core/src/com/servoy/eclipse/core/ServoyModel.java +++ b/com.servoy.eclipse.core/src/com/servoy/eclipse/core/ServoyModel.java @@ -3018,10 +3018,12 @@ else if (DataSourceUtils.VIEW_DATASOURCE.equals(tableNode.getServerName())) { changedEditing.put(child.getUUID(), editingPersist); } - } - - // TODO maybe here update used DB severs/tables here instead of sooner? or maybe both now and before... (there is another todo added in the same commit in SolutionDeserializer where it currently does that) - + } + + // Update solution server proxies after all persists are fully processed including deletions. + // This ensures the data source collection reflects the current state of the solution. + ModelUtils.updateSolutionServerProxies(solution, ApplicationServerRegistry.get().getDeveloperRepository()); + // update the last modified time for the web client. solution.updateLastModifiedTime(); diff --git a/com.servoy.eclipse.model/src/com/servoy/eclipse/model/repository/SolutionDeserializer.java b/com.servoy.eclipse.model/src/com/servoy/eclipse/model/repository/SolutionDeserializer.java index f14b1b7945..a13464c83a 100644 --- a/com.servoy.eclipse.model/src/com/servoy/eclipse/model/repository/SolutionDeserializer.java +++ b/com.servoy.eclipse.model/src/com/servoy/eclipse/model/repository/SolutionDeserializer.java @@ -326,11 +326,11 @@ public Object visit(IPersist o) return CONTINUE_TRAVERSAL; } - }); - - // TODO isn't this done too soon? I mean a deleted form from disk for example would not yet be removed from the solution at this point right? (see the other TODO that was added in ServoyModel in the same commit) - ModelUtils.updateSolutionServerProxies(solution, repository); - + }); + + // ModelUtils.updateSolutionServerProxies() moved to ServoyModel.handleChangedFiles() + // for better timing - after all persists are fully processed including deletions + return changedFilesCopy; // what remains of the day } catch (Exception e)