This is an automated email from the ASF dual-hosted git repository. bbende pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/master by this push: new c221e49 NIFI-7578 nifi-toolkit CLI Process Group Create command - Remove unused imports - Fix checkstyle errors c221e49 is described below commit c221e4934d0d4be3215e9766c93c85472f91aef2 Author: Javi Roman <jroman.espi...@gmail.com> AuthorDate: Wed Jun 24 18:45:37 2020 +0200 NIFI-7578 nifi-toolkit CLI Process Group Create command - Remove unused imports - Fix checkstyle errors This closes #4358. --- .../cli/impl/command/nifi/NiFiCommandGroup.java | 2 + .../toolkit/cli/impl/command/nifi/pg/PGCreate.java | 77 ++++++++++++++++++++++ 2 files changed, 79 insertions(+) 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 b41dae8..5ce9024 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 @@ -61,6 +61,7 @@ import org.apache.nifi.toolkit.cli.impl.command.nifi.pg.PGSetVar; import org.apache.nifi.toolkit.cli.impl.command.nifi.pg.PGStart; import org.apache.nifi.toolkit.cli.impl.command.nifi.pg.PGStatus; import org.apache.nifi.toolkit.cli.impl.command.nifi.pg.PGStop; +import org.apache.nifi.toolkit.cli.impl.command.nifi.pg.PGCreate; import org.apache.nifi.toolkit.cli.impl.command.nifi.policies.GetAccessPolicy; import org.apache.nifi.toolkit.cli.impl.command.nifi.policies.UpdateAccessPolicy; import org.apache.nifi.toolkit.cli.impl.command.nifi.registry.CreateRegistryClient; @@ -110,6 +111,7 @@ public class NiFiCommandGroup extends AbstractCommandGroup { commands.add(new PGImport()); commands.add(new PGStart()); commands.add(new PGStop()); + commands.add(new PGCreate()); commands.add(new PGGetVars()); commands.add(new PGSetVar()); commands.add(new PGGetVersion()); diff --git a/nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/nifi/pg/PGCreate.java b/nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/nifi/pg/PGCreate.java new file mode 100644 index 0000000..5714527 --- /dev/null +++ b/nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/nifi/pg/PGCreate.java @@ -0,0 +1,77 @@ +/* + * 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.pg; + +import org.apache.commons.cli.MissingOptionException; +import org.apache.nifi.toolkit.cli.api.Context; +import org.apache.nifi.toolkit.cli.impl.client.nifi.FlowClient; +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.ProcessGroupClient; +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.StringResult; +import org.apache.nifi.web.api.dto.ProcessGroupDTO; +import org.apache.nifi.web.api.entity.ProcessGroupEntity; + +import java.io.IOException; +import java.util.Properties; + +/** + * Command to create process-groups childs of the root process group. + */ +public class PGCreate extends AbstractNiFiCommand<StringResult> { + + public PGCreate() { + super("pg-create", StringResult.class); + } + + @Override + public String getDescription() { + return "Creates a process group child of the root group."; + } + + @Override + protected void doInitialize(Context context) { + addOption(CommandOption.PG_NAME.createOption()); + } + + @Override + public StringResult doExecute(final NiFiClient client, final Properties properties) + throws NiFiClientException, IOException, MissingOptionException { + + final String processGroupName = getRequiredArg(properties, CommandOption.PG_NAME); + + final FlowClient flowClient = client.getFlowClient(); + final ProcessGroupClient pgClient = client.getProcessGroupClient(); + final String rootPgId = flowClient.getRootGroupId(); + + final ProcessGroupDTO processGroupDTO = new ProcessGroupDTO(); + processGroupDTO.setParentGroupId(rootPgId); + processGroupDTO.setName(processGroupName); + + final ProcessGroupEntity pgEntity = new ProcessGroupEntity(); + pgEntity.setComponent(processGroupDTO); + pgEntity.setRevision(getInitialRevisionDTO()); + + final ProcessGroupEntity createdEntity = pgClient.createProcessGroup( + rootPgId, pgEntity); + + return new StringResult(createdEntity.getId(), getContext().isInteractive()); + } + +}