From a63e7ee257f03993a0517dbfd1f6e0c38a6951e6 Mon Sep 17 00:00:00 2001 From: serge-rider Date: Mon, 27 Jun 2022 21:30:57 +0200 Subject: [PATCH] CB-2178 RM service refactoring and simplification --- .../rm/local/LocalResourceController.java | 26 ++----------------- .../service/rm/DBNResourceManagerRoot.java | 2 +- 2 files changed, 3 insertions(+), 25 deletions(-) diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/rm/local/LocalResourceController.java b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/rm/local/LocalResourceController.java index 2d8beb1959..2524019ddd 100644 --- a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/rm/local/LocalResourceController.java +++ b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/rm/local/LocalResourceController.java @@ -39,7 +39,6 @@ import java.nio.file.Path; import java.time.OffsetDateTime; import java.time.ZoneId; import java.util.*; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.stream.Collectors; /** @@ -56,7 +55,6 @@ public class LocalResourceController implements RMController { private static final String PROJECT_PREFIX_USER = "u_"; public static final String DEFAULT_CHANGE_ID = "0"; - private final List listeners = new CopyOnWriteArrayList<>(); private final SMCredentialsProvider credentialsProvider; private final Path rootPath; @@ -131,7 +129,7 @@ public class LocalResourceController implements RMController { } @Override - public void createProject(@NotNull RMProject project) throws DBException { + public RMProject createProject(@NotNull String id, @NotNull String name, @NotNull String description) throws DBException { throw new DBCFeatureNotSupportedException(); } @@ -219,7 +217,7 @@ public class LocalResourceController implements RMController { } catch (IOException e) { throw new DBException("Error deleting resource '" + resourcePath + "'", e); } - fireEvent( + RMEventManager.fireEvent( new RMEvent(RMEvent.Action.RESOURCE_DELETE, makeProjectFromId(projectId), rmResourcePath @@ -288,26 +286,6 @@ public class LocalResourceController implements RMController { } } - @Override - public void addRMEventListener(RMEventListener listener) { - this.listeners.add(listener); - } - - @Override - public void removeRMEventListener(RMEventListener listener) { - this.listeners.remove(listener); - } - - private void fireEvent(RMEvent event) { - for (var listener : listeners) { - try { - listener.handleRMEvent(event); - } catch (Exception e) { - log.error(e.getMessage(), e); - } - } - } - @NotNull private Path getTargetPath(@NotNull String projectId, @NotNull String resourcePath) throws DBException { Path projectPath = getProjectPath(projectId); diff --git a/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/DBNResourceManagerRoot.java b/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/DBNResourceManagerRoot.java index 4fea196437..f5aaf642ae 100644 --- a/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/DBNResourceManagerRoot.java +++ b/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/DBNResourceManagerRoot.java @@ -81,7 +81,7 @@ public class DBNResourceManagerRoot extends DBNNode implements DBPHiddenObject, } List projectNodes = new ArrayList<>(); resourceController = ((WebSession) session).getRmController(); - resourceController.addRMEventListener(this); + RMEventManager.addEventListener(this); for (RMProject project : resourceController.listAccessibleProjects()) { projectNodes.add(new DBNResourceManagerProject(this, project)); }