This is an automated email from the ASF dual-hosted git repository.
thurka pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/master by this push:
new 264f11ae41 "Copy OCID" action added
new 3cc6d772eb Merge pull request #6786 from thurka/GCN-3756
264f11ae41 is described below
commit 264f11ae41e866513b2076dfefd5d9cf8b3e5166
Author: Tomas Hurka <[email protected]>
AuthorDate: Mon Dec 4 10:38:13 2023 +0100
"Copy OCID" action added
---
.../nbcode/integration/nbproject/project.xml | 24 ++++---
.../nbcode/integration/commands/OCIDCommand.java | 81 ++++++++++++++++++++++
java/java.lsp.server/vscode/package.json | 27 ++++++--
java/java.lsp.server/vscode/src/extension.ts | 7 ++
4 files changed, 126 insertions(+), 13 deletions(-)
diff --git a/java/java.lsp.server/nbcode/integration/nbproject/project.xml
b/java/java.lsp.server/nbcode/integration/nbproject/project.xml
index e176ec66dd..debf5ec044 100644
--- a/java/java.lsp.server/nbcode/integration/nbproject/project.xml
+++ b/java/java.lsp.server/nbcode/integration/nbproject/project.xml
@@ -119,6 +119,14 @@
<specification-version>9.24.0.8</specification-version>
</run-dependency>
</dependency>
+ <dependency>
+
<code-name-base>org.netbeans.modules.project.dependency</code-name-base>
+ <build-prerequisite/>
+ <compile-dependency/>
+ <run-dependency>
+ <implementation-version/>
+ </run-dependency>
+ </dependency>
<dependency>
<code-name-base>org.netbeans.modules.projectapi</code-name-base>
<build-prerequisite/>
@@ -191,35 +199,35 @@
</run-dependency>
</dependency>
<dependency>
- <code-name-base>org.openide.util</code-name-base>
+ <code-name-base>org.openide.nodes</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
- <specification-version>9.18</specification-version>
+ <specification-version>7.68</specification-version>
</run-dependency>
</dependency>
<dependency>
- <code-name-base>org.openide.util.lookup</code-name-base>
+ <code-name-base>org.openide.util</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
- <specification-version>8.44</specification-version>
+ <specification-version>9.18</specification-version>
</run-dependency>
</dependency>
<dependency>
- <code-name-base>org.openide.util.ui</code-name-base>
+ <code-name-base>org.openide.util.lookup</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
- <specification-version>9.24</specification-version>
+ <specification-version>8.44</specification-version>
</run-dependency>
</dependency>
<dependency>
-
<code-name-base>org.netbeans.modules.project.dependency</code-name-base>
+ <code-name-base>org.openide.util.ui</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
- <implementation-version/>
+ <specification-version>9.24</specification-version>
</run-dependency>
</dependency>
</module-dependencies>
diff --git
a/java/java.lsp.server/nbcode/integration/src/org/netbeans/modules/nbcode/integration/commands/OCIDCommand.java
b/java/java.lsp.server/nbcode/integration/src/org/netbeans/modules/nbcode/integration/commands/OCIDCommand.java
new file mode 100644
index 0000000000..7cf88de519
--- /dev/null
+++
b/java/java.lsp.server/nbcode/integration/src/org/netbeans/modules/nbcode/integration/commands/OCIDCommand.java
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.modules.nbcode.integration.commands;
+
+import com.google.gson.JsonPrimitive;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+import java.util.concurrent.CompletableFuture;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.netbeans.modules.cloud.oracle.items.OCIItem;
+import org.netbeans.modules.java.lsp.server.explorer.TreeNodeRegistry;
+import org.netbeans.modules.java.lsp.server.explorer.TreeViewProvider;
+import org.netbeans.spi.lsp.CommandProvider;
+import org.openide.nodes.Node;
+import org.openide.util.Lookup;
+import org.openide.util.lookup.ServiceProvider;
+
+/**
+ *
+ * @author Tomas Hurka
+ */
+@ServiceProvider(service = CommandProvider.class)
+public class OCIDCommand implements CommandProvider {
+
+ private static final Logger LOG =
Logger.getLogger(OCIDCommand.class.getName());
+
+ private static final String COMMAND_CLOUD_OCID_GET =
"nbls.cloud.ocid.get"; // NOI18N
+
+ public OCIDCommand() {
+ }
+
+ @Override
+ public Set<String> getCommands() {
+ return Collections.singleton(COMMAND_CLOUD_OCID_GET);
+ }
+
+ @Override
+ public CompletableFuture<Object> runCommand(String command, List<Object>
arguments) {
+ if (arguments.size() < 1) {
+ throw new IllegalArgumentException("Expected nodeid"); //
NOI18N
+ }
+ TreeNodeRegistry r =
Lookup.getDefault().lookup(TreeNodeRegistry.class);
+ if (r == null) {
+ return CompletableFuture.completedFuture(null);
+ }
+ int nodeId = ((JsonPrimitive) arguments.get(0)).getAsInt();
+ LOG.log(Level.FINE, "Running OCID command with context: {0}", nodeId);
// NOI18N
+
+ TreeViewProvider nodeProvider = r.providerOf(nodeId);
+ Node node = null;
+ if (nodeProvider != null) {
+ node = nodeProvider.findNode(nodeId);
+ }
+ if (node == null) {
+ return CompletableFuture.completedFuture(null);
+ }
+ OCIItem item = node.getLookup().lookup(OCIItem.class);
+ if (item != null) {
+ return CompletableFuture.completedFuture(item.getKey().getValue());
+ }
+ return CompletableFuture.completedFuture(null);
+ }
+}
diff --git a/java/java.lsp.server/vscode/package.json
b/java/java.lsp.server/vscode/package.json
index b9f9a23fb2..3da5b70d12 100644
--- a/java/java.lsp.server/vscode/package.json
+++ b/java/java.lsp.server/vscode/package.json
@@ -449,6 +449,10 @@
"command": "nbls.node.properties.edit",
"title": "Properties"
},
+ {
+ "command": "nbls.cloud.ocid.copy",
+ "title": "Copy OCID"
+ },
{
"command": "nbls.workspace.compile",
"title": "Compile Workspace",
@@ -681,6 +685,10 @@
"command": "nbls.node.properties.edit",
"when": "false"
},
+ {
+ "command": "nbls.cloud.ocid.copy",
+ "when": "false"
+ },
{
"command":
"nbls:Database:netbeans.db.explorer.action.Connect",
"when": "false"
@@ -845,19 +853,28 @@
},
{
"command":
"nbls:Tools:org.netbeans.modules.cloud.oracle.actions.DownloadWalletAction",
- "when": "viewItem =~
/class:oracle.database.DatabaseItem/"
+ "when": "viewItem =~
/class:oracle.database.DatabaseItem/",
+ "group": "oci@200"
},
{
"command":
"nbls:Tools:org.netbeans.modules.cloud.oracle.actions.OpenServiceConsoleAction",
- "when": "viewItem =~
/class:oracle.database.DatabaseItem/"
+ "when": "viewItem =~
/class:oracle.database.DatabaseItem/",
+ "group": "oci@300"
},
{
"command":
"nbls:Tools:org.netbeans.modules.cloud.oracle.actions.AddDbConnectionToVault",
- "when": "viewItem =~
/class:org.netbeans.api.db.explorer.DatabaseConnection/"
+ "when": "viewItem =~
/class:org.netbeans.api.db.explorer.DatabaseConnection/",
+ "group": "oci@400"
},
{
"command":
"nbls:Tools:org.netbeans.modules.cloud.oracle.actions.CreateAutonomousDBAction",
- "when": "viewItem =~
/class:oracle.compartment.CompartmentItem/"
+ "when": "viewItem =~
/class:oracle.compartment.CompartmentItem/",
+ "group": "oci@100"
+ },
+ {
+ "command": "nbls.cloud.ocid.copy",
+ "when": "viewItem =~
/class:oracle.items.OCIItem/",
+ "group": "oci@1000"
},
{
"command":
"nbls:Tools:org.netbeans.modules.cloud.oracle.actions.AddRepository",
@@ -965,7 +982,7 @@
"uriExpression":
"nbres:/org/netbeans/modules/cloud/oracle/resources/vault.svg",
"codeicon": "lock"
},
- {
+ {
"uriExpression":
"nbres:/org/netbeans/modules/cloud/oracle/resources/key.svg",
"codeicon": "gist-secret"
},
diff --git a/java/java.lsp.server/vscode/src/extension.ts
b/java/java.lsp.server/vscode/src/extension.ts
index 29a6ac1ed5..9b2f7a7b89 100644
--- a/java/java.lsp.server/vscode/src/extension.ts
+++ b/java/java.lsp.server/vscode/src/extension.ts
@@ -664,6 +664,13 @@ export function activate(context: ExtensionContext):
VSNetBeansAPI {
context.subscriptions.push(commands.registerCommand('nbls.node.properties.edit',
async (node) => await PropertiesView.createOrShow(context, node,
(await client).findTreeViewService())));
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.cloud.ocid.copy',
+ async (node) => {
+ const ocid : string = await commands.executeCommand(COMMAND_PREFIX
+ '.cloud.ocid.get', node.id);
+ vscode.env.clipboard.writeText(ocid);
+ }
+ ));
+
const archiveFileProvider = <vscode.TextDocumentContentProvider> {
provideTextDocumentContent: async (uri: vscode.Uri, token:
vscode.CancellationToken): Promise<string> => {
return await
commands.executeCommand('nbls.get.archive.file.content', uri.toString());
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists