use of org.apache.nifi.registry.client.FlowClient in project nifi by apache.
the class DeleteFlow method doExecute.
@Override
public OkResult doExecute(final NiFiRegistryClient client, final Properties properties) throws IOException, NiFiRegistryException, ParseException {
final String flowId = getRequiredArg(properties, CommandOption.FLOW_ID);
final boolean forceDelete = properties.containsKey(CommandOption.FORCE.getLongName());
final String bucketId = getBucketId(client, flowId);
final FlowSnapshotClient flowSnapshotClient = client.getFlowSnapshotClient();
final List<VersionedFlowSnapshotMetadata> snapshotMetadata = flowSnapshotClient.getSnapshotMetadata(bucketId, flowId);
if (snapshotMetadata != null && snapshotMetadata.size() > 0 && !forceDelete) {
throw new NiFiRegistryException("Flow has versions, use --" + CommandOption.FORCE.getLongName() + " to delete");
} else {
final FlowClient flowClient = client.getFlowClient();
flowClient.delete(bucketId, flowId);
return new OkResult(getContext().isInteractive());
}
}
use of org.apache.nifi.registry.client.FlowClient in project nifi-registry by apache.
the class SecureNiFiRegistryClientIT method testCrudOperations.
@Test
public void testCrudOperations() throws IOException, NiFiRegistryException {
final Bucket bucket = new Bucket();
bucket.setName("Bucket 1");
bucket.setDescription("This is bucket 1");
final BucketClient bucketClient = client.getBucketClient();
final Bucket createdBucket = bucketClient.create(bucket);
Assert.assertNotNull(createdBucket);
Assert.assertNotNull(createdBucket.getIdentifier());
final List<Bucket> buckets = bucketClient.getAll();
Assert.assertEquals(1, buckets.size());
final VersionedFlow flow = new VersionedFlow();
flow.setBucketIdentifier(createdBucket.getIdentifier());
flow.setName("Flow 1");
final FlowClient flowClient = client.getFlowClient();
final VersionedFlow createdFlow = flowClient.create(flow);
Assert.assertNotNull(createdFlow);
Assert.assertNotNull(createdFlow.getIdentifier());
final VersionedFlowSnapshotMetadata snapshotMetadata = new VersionedFlowSnapshotMetadata();
snapshotMetadata.setBucketIdentifier(createdFlow.getBucketIdentifier());
snapshotMetadata.setFlowIdentifier(createdFlow.getIdentifier());
snapshotMetadata.setVersion(1);
snapshotMetadata.setComments("This is snapshot #1");
final VersionedProcessGroup rootProcessGroup = new VersionedProcessGroup();
rootProcessGroup.setIdentifier("root-pg");
rootProcessGroup.setName("Root Process Group");
final VersionedFlowSnapshot snapshot = new VersionedFlowSnapshot();
snapshot.setSnapshotMetadata(snapshotMetadata);
snapshot.setFlowContents(rootProcessGroup);
final FlowSnapshotClient snapshotClient = client.getFlowSnapshotClient();
final VersionedFlowSnapshot createdSnapshot = snapshotClient.create(snapshot);
Assert.assertNotNull(createdSnapshot);
Assert.assertEquals("CN=user1, OU=nifi", createdSnapshot.getSnapshotMetadata().getAuthor());
}
Aggregations