apache/incubator-kie-tools

Make `private` members to be `protected` for `DefaultVsCodeKieEditorChannelApiImpl`

Closed this issue · 3 comments

Is it possible to make the private constructor arguments protected in the DefaultVsCodeKieEditorChannelApiImpl class class?

In the DefaultVsCodeKieEditorChannelApiImpl class, all of its members are private, making complicated for other classes extending it to use them.

Here's an extract of the constructor:

export class DefaultVsCodeKieEditorChannelApiImpl implements KogitoEditorChannelApi, JavaCodeCompletionChannelApi {
  constructor(
-    private readonly editor: VsCodeKieEditorController,
-    private readonly resourceContentService: ResourceContentService,
-    private readonly workspaceApi: WorkspaceChannelApi,
-    private readonly backendProxy: BackendProxy,
-    private readonly notificationsApi: NotificationsChannelApi,
-    private readonly javaCodeCompletionApi: JavaCodeCompletionApi,
-    private readonly viewType: string,
-    private readonly i18n: I18n<VsCodeI18n>
+    protected readonly editor: VsCodeKieEditorController,
+    protected readonly resourceContentService: ResourceContentService,
+    protected readonly workspaceApi: WorkspaceChannelApi,
+    protected readonly backendProxy: BackendProxy,
+    protected readonly notificationsApi: NotificationsChannelApi,
+    protected readonly javaCodeCompletionApi: JavaCodeCompletionApi,
+    protected readonly viewType: string,
+    protected readonly i18n: I18n<VsCodeI18n>
  ) {}

The goal is to access the underlying file path from the API.

For instance, doing something like the following:

method() {
    const uri = this.editor.document.document.uri;
}

@lordrip No objections at all. Feel free to send a PR.

If this is something you absolutely need ASAP, consider bringing this to users@kie.apache.org, as version 10.0 is frozen for features already, and it might be a few months until we're able to release 10.1.

Hi @tiagobento, thanks, since 10.0 is frozen, it's ok to wait for the next release, I'll prepare a PR and you decide when is a good moment to include it, we're not blocked, we have a workaround in the meantime ✌️