http://git-wip-us.apache.org/repos/asf/nifi/blob/6aa8b5c6/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/FlowRegistryDAO.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/FlowRegistryDAO.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/FlowRegistryDAO.java new file mode 100644 index 0000000..eb2ac76 --- /dev/null +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/FlowRegistryDAO.java @@ -0,0 +1,66 @@ +/* + * 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.web.dao.impl; + +import java.util.Set; +import java.util.stream.Collectors; + +import org.apache.nifi.registry.flow.FlowRegistry; +import org.apache.nifi.registry.flow.FlowRegistryClient; +import org.apache.nifi.web.ResourceNotFoundException; +import org.apache.nifi.web.api.dto.RegistryDTO; +import org.apache.nifi.web.dao.RegistryDAO; + +public class FlowRegistryDAO implements RegistryDAO { + private FlowRegistryClient flowRegistryClient; + + @Override + public FlowRegistry createFlowRegistry(final RegistryDTO registryDto) { + return flowRegistryClient.addFlowRegistry(registryDto.getId(), registryDto.getName(), registryDto.getUri(), registryDto.getDescription()); + } + + @Override + public FlowRegistry getFlowRegistry(final String registryId) { + final FlowRegistry registry = flowRegistryClient.getFlowRegistry(registryId); + if (registry == null) { + throw new ResourceNotFoundException("Unable to find Flow Registry with id '" + registryId + "'"); + } + + return registry; + } + + @Override + public Set<FlowRegistry> getFlowRegistries() { + return flowRegistryClient.getRegistryIdentifiers().stream() + .map(flowRegistryClient::getFlowRegistry) + .collect(Collectors.toSet()); + } + + @Override + public FlowRegistry removeFlowRegistry(final String registryId) { + final FlowRegistry registry = flowRegistryClient.removeFlowRegistry(registryId); + if (registry == null) { + throw new ResourceNotFoundException("Unable to find Flow Registry with id '" + registryId + "'"); + } + return registry; + } + + public void setFlowRegistryClient(FlowRegistryClient client) { + this.flowRegistryClient = client; + } +}
http://git-wip-us.apache.org/repos/asf/nifi/blob/6aa8b5c6/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardProcessGroupDAO.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardProcessGroupDAO.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardProcessGroupDAO.java index f842a8c..7828337 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardProcessGroupDAO.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardProcessGroupDAO.java @@ -246,6 +246,7 @@ public class StandardProcessGroupDAO extends ComponentDAO implements ProcessGrou return group; } + @Override public ProcessGroup disconnectVersionControl(final String groupId) { final ProcessGroup group = locateProcessGroup(flowController, groupId); group.disconnectVersionControl(); @@ -254,9 +255,9 @@ public class StandardProcessGroupDAO extends ComponentDAO implements ProcessGrou @Override public ProcessGroup updateProcessGroupFlow(final String groupId, final VersionedFlowSnapshot proposedSnapshot, final VersionControlInformationDTO versionControlInformation, - final String componentIdSeed, final boolean verifyNotModified) { + final String componentIdSeed, final boolean verifyNotModified, final boolean updateSettings) { final ProcessGroup group = locateProcessGroup(flowController, groupId); - group.updateFlow(proposedSnapshot, componentIdSeed, verifyNotModified); + group.updateFlow(proposedSnapshot, componentIdSeed, verifyNotModified, updateSettings); final StandardVersionControlInformation svci = new StandardVersionControlInformation( versionControlInformation.getRegistryId(), http://git-wip-us.apache.org/repos/asf/nifi/blob/6aa8b5c6/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/resources/nifi-web-api-context.xml ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/resources/nifi-web-api-context.xml b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/resources/nifi-web-api-context.xml index 99a4f1c..e71de67 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/resources/nifi-web-api-context.xml +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/resources/nifi-web-api-context.xml @@ -125,6 +125,9 @@ <property name="flowController" ref="flowController"/> <property name="snippetUtils" ref="snippetUtils"/> </bean> + <bean id="flowRegistryDAO" class="org.apache.nifi.web.dao.impl.FlowRegistryDAO"> + <property name="flowRegistryClient" ref="flowRegistryClient" /> + </bean> <bean id="policyBasedAuthorizerDAO" class="org.apache.nifi.web.dao.impl.StandardPolicyBasedAuthorizerDAO"> <constructor-arg ref="authorizer"/> </bean> @@ -182,6 +185,7 @@ <property name="bulletinRepository" ref="bulletinRepository"/> <property name="leaderElectionManager" ref="leaderElectionManager" /> <property name="flowRegistryClient" ref="flowRegistryClient" /> + <property name="registryDAO" ref="flowRegistryDAO" /> </bean> <!-- component ui extension configuration context -->
