You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ex...@apache.org on 2022/06/16 19:53:26 UTC

[nifi] branch main updated: NIFI-10116 Added CLI toolkit command to delete report tasks

This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
     new a30ac23e90 NIFI-10116 Added CLI toolkit command to delete report tasks
a30ac23e90 is described below

commit a30ac23e90cb1471735a0b423e6e425c2619c153
Author: Zoltan Kornel Torok <zt...@cloudera.com>
AuthorDate: Tue Jun 14 15:06:13 2022 +0200

    NIFI-10116 Added CLI toolkit command to delete report tasks
    
    This closes #6126
    
    Signed-off-by: David Handermann <ex...@apache.org>
---
 nifi-docs/src/main/asciidoc/toolkit-guide.adoc     |  3 +-
 .../cli/impl/command/nifi/NiFiCommandGroup.java    |  2 +
 .../nifi/reporting/DeleteReportingTask.java        | 65 ++++++++++++++++++++++
 3 files changed, 69 insertions(+), 1 deletion(-)

diff --git a/nifi-docs/src/main/asciidoc/toolkit-guide.adoc b/nifi-docs/src/main/asciidoc/toolkit-guide.adoc
index 631839383b..6ccb0d65f4 100644
--- a/nifi-docs/src/main/asciidoc/toolkit-guide.adoc
+++ b/nifi-docs/src/main/asciidoc/toolkit-guide.adoc
@@ -110,6 +110,7 @@ The following are available commands:
  nifi get-reporting-task
  nifi get-reporting-tasks
  nifi create-reporting-task
+ nifi delete-reporting-task
  nifi set-param
  nifi delete-param
  nifi list-param-contexts
@@ -293,7 +294,7 @@ Typing "nifi " and then a tab will show the sub-commands for NiFi:
  delete-param            get-service             pg-get-param-context    update-reg-client
  delete-param-context    get-services            pg-get-services         update-user-group
  disable-services        import-param-context    pg-get-vars             upload-template
- disconnect-node         list-param-contexts     pg-get-version
+ disconnect-node         list-param-contexts     pg-get-version          delete-reporting-task
  download-template       list-reg-clients        pg-import
 
 Arguments that represent a path to a file, such as `-p` or when setting a properties file in the session, will auto-complete the path being typed:
diff --git a/nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/nifi/NiFiCommandGroup.java b/nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/nifi/NiFiCommandGroup.java
index af007d4451..e8f71c713b 100644
--- a/nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/nifi/NiFiCommandGroup.java
+++ b/nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/nifi/NiFiCommandGroup.java
@@ -74,6 +74,7 @@ import org.apache.nifi.toolkit.cli.impl.command.nifi.registry.CreateRegistryClie
 import org.apache.nifi.toolkit.cli.impl.command.nifi.registry.GetRegistryClientId;
 import org.apache.nifi.toolkit.cli.impl.command.nifi.registry.ListRegistryClients;
 import org.apache.nifi.toolkit.cli.impl.command.nifi.registry.UpdateRegistryClient;
+import org.apache.nifi.toolkit.cli.impl.command.nifi.reporting.DeleteReportingTask;
 import org.apache.nifi.toolkit.cli.impl.command.nifi.templates.DownloadTemplate;
 import org.apache.nifi.toolkit.cli.impl.command.nifi.templates.ListTemplates;
 import org.apache.nifi.toolkit.cli.impl.command.nifi.templates.UploadTemplate;
@@ -140,6 +141,7 @@ public class NiFiCommandGroup extends AbstractCommandGroup {
         commands.add(new GetReportingTasks());
         commands.add(new GetReportingTask());
         commands.add(new CreateReportingTask());
+        commands.add(new DeleteReportingTask());
         commands.add(new StartReportingTasks());
         commands.add(new StopReportingTasks());
         commands.add(new ListUsers());
diff --git a/nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/nifi/reporting/DeleteReportingTask.java b/nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/nifi/reporting/DeleteReportingTask.java
new file mode 100644
index 0000000000..27ee27c8bd
--- /dev/null
+++ b/nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/nifi/reporting/DeleteReportingTask.java
@@ -0,0 +1,65 @@
+/*
+ * 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.apache.nifi.toolkit.cli.impl.command.nifi.reporting;
+
+import org.apache.commons.cli.MissingOptionException;
+import org.apache.nifi.toolkit.cli.api.CommandException;
+import org.apache.nifi.toolkit.cli.api.Context;
+import org.apache.nifi.toolkit.cli.impl.client.nifi.NiFiClient;
+import org.apache.nifi.toolkit.cli.impl.client.nifi.NiFiClientException;
+import org.apache.nifi.toolkit.cli.impl.client.nifi.ReportingTasksClient;
+import org.apache.nifi.toolkit.cli.impl.command.CommandOption;
+import org.apache.nifi.toolkit.cli.impl.command.nifi.AbstractNiFiCommand;
+import org.apache.nifi.toolkit.cli.impl.result.nifi.ReportingTaskResult;
+import org.apache.nifi.web.api.entity.ReportingTaskEntity;
+
+import java.io.IOException;
+import java.util.Properties;
+
+/**
+ * Command for creating a reporting task.
+ */
+public class DeleteReportingTask extends AbstractNiFiCommand<ReportingTaskResult> {
+
+    public DeleteReportingTask() {
+        super("delete-reporting-task", ReportingTaskResult.class);
+    }
+
+    @Override
+    public String getDescription() {
+        return "Delete a reporting task.";
+    }
+
+    @Override
+    public void doInitialize(final Context context) {
+        addOption(CommandOption.RT_ID.createOption());
+    }
+
+    @Override
+    public ReportingTaskResult doExecute(final NiFiClient client, final Properties properties)
+            throws NiFiClientException, IOException, MissingOptionException, CommandException {
+
+        final String reportingTaskId = getRequiredArg(properties, CommandOption.RT_ID);
+
+        final ReportingTasksClient reportingTasksClient = client.getReportingTasksClient();
+        ReportingTaskEntity reportingTask = reportingTasksClient.getReportingTask(reportingTaskId);
+        final ReportingTaskEntity deletedReportingTaskEntity = reportingTasksClient.deleteReportingTask(reportingTask);
+
+        return new ReportingTaskResult(getResultType(properties), deletedReportingTaskEntity);
+    }
+
+}