Repository: nifi-minifi Updated Branches: refs/heads/master 2d1e43e73 -> ec04ec95e
MINIFI-48 - Omitting queuePrioritizerClass from flow if it isn't set in schema This closes #26 Signed-off-by: Joseph Percivall <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/nifi-minifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi-minifi/commit/ec04ec95 Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi/tree/ec04ec95 Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi/diff/ec04ec95 Branch: refs/heads/master Commit: ec04ec95e9398c0753398b2e121cadaee221ac06 Parents: 2d1e43e Author: Bryan Rosander <[email protected]> Authored: Tue Jul 5 15:05:32 2016 -0400 Committer: Joseph Percivall <[email protected]> Committed: Tue Jul 5 16:26:51 2016 -0400 ---------------------------------------------------------------------- minifi-bootstrap/pom.xml | 5 ++ .../bootstrap/util/ConfigTransformer.java | 42 +++++----- .../bootstrap/util/ConfigTransformerTest.java | 81 ++++++++++++++++++++ .../schema/SecurityPropertiesSchema.java | 15 ++-- .../commons/schema/common/BaseSchema.java | 4 - .../commons/schema/common/StringUtil.java | 24 ++++++ .../toolkit/configuration/ConfigMain.java | 8 +- pom.xml | 5 ++ 8 files changed, 151 insertions(+), 33 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/ec04ec95/minifi-bootstrap/pom.xml ---------------------------------------------------------------------- diff --git a/minifi-bootstrap/pom.xml b/minifi-bootstrap/pom.xml index 421b390..7c617b8 100644 --- a/minifi-bootstrap/pom.xml +++ b/minifi-bootstrap/pom.xml @@ -75,6 +75,11 @@ limitations under the License. <version>${jetty.version}</version> </dependency> <dependency> + <groupId>org.apache.nifi</groupId> + <artifactId>nifi-standard-prioritizers</artifactId> + <scope>test</scope> + </dependency> + <dependency> <groupId>com.squareup.okhttp</groupId> <artifactId>okhttp</artifactId> <scope>test</scope> http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/ec04ec95/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformer.java ---------------------------------------------------------------------- diff --git a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformer.java b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformer.java index 9cac9dc..feb4e9c 100644 --- a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformer.java +++ b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformer.java @@ -32,6 +32,7 @@ import org.apache.nifi.minifi.commons.schema.ProvenanceReportingSchema; import org.apache.nifi.minifi.commons.schema.ProvenanceRepositorySchema; import org.apache.nifi.minifi.commons.schema.RemoteInputPortSchema; import org.apache.nifi.minifi.commons.schema.RemoteProcessingGroupSchema; +import org.apache.nifi.minifi.commons.schema.common.StringUtil; import org.apache.nifi.minifi.commons.schema.serialization.SchemaLoader; import org.apache.nifi.minifi.commons.schema.SecurityPropertiesSchema; import org.apache.nifi.minifi.commons.schema.SensitivePropsSchema; @@ -103,7 +104,7 @@ public final class ConfigTransformer { writeFlowXmlFile(flowXml, destPath); } - private static void writeNiFiPropertiesFile(ByteArrayOutputStream nifiPropertiesOutputStream, String destPath) throws IOException { + protected static void writeNiFiPropertiesFile(ByteArrayOutputStream nifiPropertiesOutputStream, String destPath) throws IOException { final Path nifiPropertiesPath = Paths.get(destPath, "nifi.properties"); try (FileOutputStream nifiProperties = new FileOutputStream(nifiPropertiesPath.toString())) { nifiPropertiesOutputStream.writeTo(nifiProperties); @@ -115,8 +116,7 @@ public final class ConfigTransformer { } } - private static void writeFlowXmlFile(DOMSource domSource, String path) throws IOException, TransformerException { - + protected static void writeFlowXmlFile(DOMSource domSource, String path) throws IOException, TransformerException { final OutputStream fileOut = Files.newOutputStream(Paths.get(path, "flow.xml.gz")); final OutputStream outStream = new GZIPOutputStream(fileOut); final StreamResult streamResult = new StreamResult(outStream); @@ -133,7 +133,7 @@ public final class ConfigTransformer { outStream.close(); } - private static void writeNiFiProperties(ConfigSchema configSchema, OutputStream outputStream) throws FileNotFoundException, UnsupportedEncodingException, ConfigurationChangeException { + protected static void writeNiFiProperties(ConfigSchema configSchema, OutputStream outputStream) throws FileNotFoundException, UnsupportedEncodingException, ConfigurationChangeException { PrintWriter writer = null; try { writer = new PrintWriter(outputStream, true); @@ -263,7 +263,7 @@ public final class ConfigTransformer { } } - private static DOMSource createFlowXml(ConfigSchema configSchema) throws IOException, ConfigurationChangeException, ConfigTransformerException{ + protected static DOMSource createFlowXml(ConfigSchema configSchema) throws IOException, ConfigurationChangeException, ConfigTransformerException{ try { // create a new, empty document final DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); @@ -302,7 +302,7 @@ public final class ConfigTransformer { } } - private static void addSSLControllerService(final Element element, SecurityPropertiesSchema securityProperties) throws ConfigurationChangeException { + protected static void addSSLControllerService(final Element element, SecurityPropertiesSchema securityProperties) throws ConfigurationChangeException { try { final Element serviceElement = element.getOwnerDocument().createElement("controllerService"); addTextElement(serviceElement, "id", "SSL-Context-Service"); @@ -329,7 +329,7 @@ public final class ConfigTransformer { } } - private static void addProcessGroup(final Element parentElement, ConfigSchema configSchema, final String elementName) throws ConfigurationChangeException { + protected static void addProcessGroup(final Element parentElement, ConfigSchema configSchema, final String elementName) throws ConfigurationChangeException { try { FlowControllerSchema flowControllerProperties = configSchema.getFlowControllerProperties(); @@ -368,7 +368,7 @@ public final class ConfigTransformer { } } - private static void addProcessor(final Element parentElement, ProcessorSchema processorConfig) throws ConfigurationChangeException { + protected static void addProcessor(final Element parentElement, ProcessorSchema processorConfig) throws ConfigurationChangeException { try { final Document doc = parentElement.getOwnerDocument(); final Element element = doc.createElement("processor"); @@ -404,7 +404,7 @@ public final class ConfigTransformer { } } - private static void addProvenanceReportingTask(final Element element, ConfigSchema configSchema) throws ConfigurationChangeException { + protected static void addProvenanceReportingTask(final Element element, ConfigSchema configSchema) throws ConfigurationChangeException { try { ProvenanceReportingSchema provenanceProperties = configSchema.getProvenanceReportingProperties(); final Element taskElement = element.getOwnerDocument().createElement("reportingTask"); @@ -437,7 +437,7 @@ public final class ConfigTransformer { } } - private static void addConfiguration(final Element element, Map<String, Object> elementConfig) { + protected static void addConfiguration(final Element element, Map<String, Object> elementConfig) { final Document doc = element.getOwnerDocument(); if (elementConfig == null) { return; @@ -454,12 +454,12 @@ public final class ConfigTransformer { } } - private static void addStyle(final Element parentElement) { + protected static void addStyle(final Element parentElement) { final Element element = parentElement.getOwnerDocument().createElement("styles"); parentElement.appendChild(element); } - private static void addRemoteProcessGroup(final Element parentElement, RemoteProcessingGroupSchema remoteProcessingGroupProperties) throws ConfigurationChangeException { + protected static void addRemoteProcessGroup(final Element parentElement, RemoteProcessingGroupSchema remoteProcessingGroupProperties) throws ConfigurationChangeException { try { final Document doc = parentElement.getOwnerDocument(); final Element element = doc.createElement("remoteProcessGroup"); @@ -484,7 +484,7 @@ public final class ConfigTransformer { } } - private static void addRemoteGroupPort(final Element parentElement, RemoteInputPortSchema inputPort) throws ConfigurationChangeException { + protected static void addRemoteGroupPort(final Element parentElement, RemoteInputPortSchema inputPort) throws ConfigurationChangeException { try { final Document doc = parentElement.getOwnerDocument(); final Element element = doc.createElement("inputPort"); @@ -503,7 +503,7 @@ public final class ConfigTransformer { } } - private static void addConnection(final Element parentElement, ConnectionSchema connectionProperties, ConfigSchema configSchema) throws ConfigurationChangeException { + protected static void addConnection(final Element parentElement, ConnectionSchema connectionProperties, ConfigSchema configSchema) throws ConfigurationChangeException { try { final Document doc = parentElement.getOwnerDocument(); final Element element = doc.createElement("connection"); @@ -538,7 +538,7 @@ public final class ConfigTransformer { addTextElement(element, "maxWorkQueueDataSize", connectionProperties.getMaxWorkQueueDataSize()); addTextElement(element, "flowFileExpiration", connectionProperties.getFlowfileExpiration()); - addTextElement(element, "queuePrioritizerClass", connectionProperties.getQueuePrioritizerClass()); + addTextElementIfNotNullOrEmpty(element, "queuePrioritizerClass", connectionProperties.getQueuePrioritizerClass()); parentElement.appendChild(element); } catch (Exception e) { @@ -547,7 +547,7 @@ public final class ConfigTransformer { } // Locate the associated parent group for a given input port by its id - private static Optional<String> findInputPortParentGroup(String inputPortId, ConfigSchema configSchema) { + protected static Optional<String> findInputPortParentGroup(String inputPortId, ConfigSchema configSchema) { final List<RemoteProcessingGroupSchema> remoteProcessingGroups = configSchema.getRemoteProcessingGroups(); if (remoteProcessingGroups != null) { for (final RemoteProcessingGroupSchema remoteProcessingGroupSchema : remoteProcessingGroups) { @@ -564,14 +564,20 @@ public final class ConfigTransformer { return Optional.empty(); } - private static void addPosition(final Element parentElement) { + protected static void addPosition(final Element parentElement) { final Element element = parentElement.getOwnerDocument().createElement("position"); element.setAttribute("x", String.valueOf("0")); element.setAttribute("y", String.valueOf("0")); parentElement.appendChild(element); } - private static void addTextElement(final Element element, final String name, final String value) { + protected static void addTextElementIfNotNullOrEmpty(final Element element, final String name, final String value) { + if (!StringUtil.isNullOrEmpty(value)) { + addTextElement(element, name, value); + } + } + + protected static void addTextElement(final Element element, final String name, final String value) { final Document doc = element.getOwnerDocument(); final Element toAdd = doc.createElement(name); toAdd.setTextContent(value); http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/ec04ec95/minifi-bootstrap/src/test/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformerTest.java ---------------------------------------------------------------------- diff --git a/minifi-bootstrap/src/test/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformerTest.java b/minifi-bootstrap/src/test/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformerTest.java new file mode 100644 index 0000000..40dbe10 --- /dev/null +++ b/minifi-bootstrap/src/test/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformerTest.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.apache.nifi.minifi.bootstrap.util; + +import org.apache.nifi.minifi.bootstrap.configuration.ConfigurationChangeException; +import org.apache.nifi.minifi.commons.schema.ConfigSchema; +import org.apache.nifi.minifi.commons.schema.ConnectionSchema; +import org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer; +import org.junit.Before; +import org.junit.Test; +import org.w3c.dom.Element; + +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.xpath.XPath; +import javax.xml.xpath.XPathConstants; +import javax.xml.xpath.XPathExpressionException; +import javax.xml.xpath.XPathFactory; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; + +public class ConfigTransformerTest { + + private XPathFactory xPathFactory; + private Element config; + + @Before + public void setup() throws ParserConfigurationException { + config = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument().createElement("config"); + xPathFactory = XPathFactory.newInstance(); + } + + @Test + public void testNullQueuePrioritizerNotWritten() throws ConfigurationChangeException, XPathExpressionException { + ConfigTransformer.addConnection(config, new ConnectionSchema(Collections.emptyMap()), new ConfigSchema(Collections.emptyMap())); + XPath xpath = xPathFactory.newXPath(); + String expression = "connection/queuePrioritizerClass"; + assertNull(xpath.evaluate(expression, config, XPathConstants.NODE)); + } + + @Test + public void testEmptyQueuePrioritizerNotWritten() throws ConfigurationChangeException, XPathExpressionException { + Map<String, Object> map = new HashMap<>(); + map.put(ConnectionSchema.QUEUE_PRIORITIZER_CLASS_KEY, ""); + + ConfigTransformer.addConnection(config, new ConnectionSchema(map), new ConfigSchema(Collections.emptyMap())); + XPath xpath = xPathFactory.newXPath(); + String expression = "connection/queuePrioritizerClass"; + assertNull(xpath.evaluate(expression, config, XPathConstants.NODE)); + } + + @Test + public void testQueuePrioritizerWritten() throws ConfigurationChangeException, XPathExpressionException { + Map<String, Object> map = new HashMap<>(); + map.put(ConnectionSchema.QUEUE_PRIORITIZER_CLASS_KEY, FirstInFirstOutPrioritizer.class.getCanonicalName()); + + ConfigTransformer.addConnection(config, new ConnectionSchema(map), new ConfigSchema(Collections.emptyMap())); + XPath xpath = xPathFactory.newXPath(); + String expression = "connection/queuePrioritizerClass/text()"; + assertEquals(FirstInFirstOutPrioritizer.class.getCanonicalName(), xpath.evaluate(expression, config, XPathConstants.STRING)); + } +} http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/ec04ec95/minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/SecurityPropertiesSchema.java ---------------------------------------------------------------------- diff --git a/minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/SecurityPropertiesSchema.java b/minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/SecurityPropertiesSchema.java index 3f0c6c1..be41810 100644 --- a/minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/SecurityPropertiesSchema.java +++ b/minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/SecurityPropertiesSchema.java @@ -18,6 +18,7 @@ package org.apache.nifi.minifi.commons.schema; import org.apache.nifi.minifi.commons.schema.common.BaseSchema; +import org.apache.nifi.minifi.commons.schema.common.StringUtil; import java.util.Map; @@ -56,7 +57,7 @@ public class SecurityPropertiesSchema extends BaseSchema { keystore = getOptionalKeyAsType(map, KEYSTORE_KEY, String.class, SECURITY_PROPS_KEY, ""); keystoreType = getOptionalKeyAsType(map, KEYSTORE_TYPE_KEY, String.class, SECURITY_PROPS_KEY, ""); - if (!isNullOrEmpty(keystoreType)) { + if (!StringUtil.isNullOrEmpty(keystoreType)) { if (validateStoreType(keystoreType)) { addValidationIssue(KEYSTORE_TYPE_KEY, SECURITY_PROPS_KEY, "it is not a supported type (must be either PKCS12 or JKS format)"); } @@ -69,7 +70,7 @@ public class SecurityPropertiesSchema extends BaseSchema { truststore = getOptionalKeyAsType(map, TRUSTSTORE_KEY, String.class, SECURITY_PROPS_KEY, ""); truststoreType = getOptionalKeyAsType(map, TRUSTSTORE_TYPE_KEY, String.class, SECURITY_PROPS_KEY, ""); - if (!isNullOrEmpty(truststoreType)) { + if (!StringUtil.isNullOrEmpty(truststoreType)) { if (validateStoreType(truststoreType)) { addValidationIssue(TRUSTSTORE_TYPE_KEY, SECURITY_PROPS_KEY, "it is not a supported type (must be either PKCS12 or JKS format)"); } @@ -78,7 +79,7 @@ public class SecurityPropertiesSchema extends BaseSchema { truststorePassword = getOptionalKeyAsType(map, TRUSTSTORE_PASSWORD_KEY, String.class, SECURITY_PROPS_KEY, ""); sslProtocol = getOptionalKeyAsType(map, SSL_PROTOCOL_KEY, String.class, SECURITY_PROPS_KEY, ""); - if (!isNullOrEmpty(sslProtocol)) { + if (!StringUtil.isNullOrEmpty(sslProtocol)) { switch (sslProtocol) { case "SSL": break; @@ -98,14 +99,14 @@ public class SecurityPropertiesSchema extends BaseSchema { addValidationIssue(SSL_PROTOCOL_KEY, SECURITY_PROPS_KEY, "it is not an allowable value of SSL protocol"); break; } - if (isNullOrEmpty(keystore)) { + if (StringUtil.isNullOrEmpty(keystore)) { validationIssues.add("When the '" + SSL_PROTOCOL_KEY + "' key of '" + SECURITY_PROPS_KEY + "' is set, the '" + KEYSTORE_KEY + "' must also be set"); - } else if (isNullOrEmpty(keystoreType) || isNullOrEmpty(keystorePassword) || isNullOrEmpty(keyPassword)) { + } else if (StringUtil.isNullOrEmpty(keystoreType) || StringUtil.isNullOrEmpty(keystorePassword) || StringUtil.isNullOrEmpty(keyPassword)) { validationIssues.add("When the '" + KEYSTORE_KEY + "' key of '" + SECURITY_PROPS_KEY + "' is set, the '" + KEYSTORE_TYPE_KEY + "', '" + KEYSTORE_PASSWORD_KEY + "' and '" + KEY_PASSWORD_KEY + "' all must also be set"); } - if (!isNullOrEmpty(truststore) && (isNullOrEmpty(truststoreType) || isNullOrEmpty(truststorePassword))) { + if (!StringUtil.isNullOrEmpty(truststore) && (StringUtil.isNullOrEmpty(truststoreType) || StringUtil.isNullOrEmpty(truststorePassword))) { validationIssues.add("When the '" + TRUSTSTORE_KEY + "' key of '" + SECURITY_PROPS_KEY + "' is set, the '" + TRUSTSTORE_TYPE_KEY + "' and '" + TRUSTSTORE_PASSWORD_KEY + "' must also be set"); } @@ -136,7 +137,7 @@ public class SecurityPropertiesSchema extends BaseSchema { } public boolean useSSL() { - return !isNullOrEmpty(sslProtocol); + return !StringUtil.isNullOrEmpty(sslProtocol); } public String getKeystore() { http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/ec04ec95/minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/common/BaseSchema.java ---------------------------------------------------------------------- diff --git a/minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/common/BaseSchema.java b/minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/common/BaseSchema.java index 8c85acb..22f45cf 100644 --- a/minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/common/BaseSchema.java +++ b/minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/common/BaseSchema.java @@ -193,8 +193,4 @@ public abstract class BaseSchema { public static <K, V> Map<K, V> nullToEmpty(Map<K, V> map) { return map == null ? Collections.emptyMap() : map; } - - public static boolean isNullOrEmpty(final String string) { - return string == null || string.isEmpty(); - } } http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/ec04ec95/minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/common/StringUtil.java ---------------------------------------------------------------------- diff --git a/minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/common/StringUtil.java b/minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/common/StringUtil.java new file mode 100644 index 0000000..ae7165e --- /dev/null +++ b/minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/common/StringUtil.java @@ -0,0 +1,24 @@ +/* + * 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.minifi.commons.schema.common; + +public class StringUtil { + public static boolean isNullOrEmpty(final String string) { + return string == null || string.isEmpty(); + } +} http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/ec04ec95/minifi-toolkit/minifi-toolkit-configuration/src/main/java/org/apache/nifi/minifi/toolkit/configuration/ConfigMain.java ---------------------------------------------------------------------- diff --git a/minifi-toolkit/minifi-toolkit-configuration/src/main/java/org/apache/nifi/minifi/toolkit/configuration/ConfigMain.java b/minifi-toolkit/minifi-toolkit-configuration/src/main/java/org/apache/nifi/minifi/toolkit/configuration/ConfigMain.java index 1d26966..7cfff75 100644 --- a/minifi-toolkit/minifi-toolkit-configuration/src/main/java/org/apache/nifi/minifi/toolkit/configuration/ConfigMain.java +++ b/minifi-toolkit/minifi-toolkit-configuration/src/main/java/org/apache/nifi/minifi/toolkit/configuration/ConfigMain.java @@ -18,7 +18,7 @@ package org.apache.nifi.minifi.toolkit.configuration; import org.apache.nifi.minifi.commons.schema.ConfigSchema; -import org.apache.nifi.minifi.commons.schema.common.BaseSchema; +import org.apache.nifi.minifi.commons.schema.common.StringUtil; import org.apache.nifi.minifi.commons.schema.serialization.SchemaLoader; import org.apache.nifi.minifi.commons.schema.serialization.SchemaSaver; import org.apache.nifi.minifi.commons.schema.exception.SchemaLoaderException; @@ -140,7 +140,7 @@ public class ConfigMain { Set<RemoteProcessGroupDTO> remoteProcessGroups = flowSnippetDTO.getRemoteProcessGroups(); if (remoteProcessGroups != null) { for (RemoteProcessGroupDTO remoteProcessGroupDTO : remoteProcessGroups) { - if (BaseSchema.isNullOrEmpty(remoteProcessGroupDTO.getName())) { + if (StringUtil.isNullOrEmpty(remoteProcessGroupDTO.getName())) { remoteProcessGroupDTO.setName(remoteProcessGroupDTO.getTargetUri()); } } @@ -165,7 +165,7 @@ public class ConfigMain { setName(connectableNameMap, connection.getDestination()); } for (ConnectionDTO connection : connections) { - if (BaseSchema.isNullOrEmpty(connection.getName())) { + if (StringUtil.isNullOrEmpty(connection.getName())) { StringBuilder name = new StringBuilder(); ConnectableDTO connectionSource = connection.getSource(); if (connectionSource != null) { @@ -215,7 +215,7 @@ public class ConfigMain { for (T hasIdAndName : hasIdAndNames) { String id = idGetter.apply(hasIdAndName); String name = nameGetter.apply(hasIdAndName); - if (!BaseSchema.isNullOrEmpty(name)) { + if (!StringUtil.isNullOrEmpty(name)) { connectableNameMap.put(id, name); } } http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/ec04ec95/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index b46ad59..04979fb 100644 --- a/pom.xml +++ b/pom.xml @@ -422,6 +422,11 @@ limitations under the License. </dependency> <dependency> <groupId>org.apache.nifi</groupId> + <artifactId>nifi-standard-prioritizers</artifactId> + <version>${org.apache.nifi.version}</version> + </dependency> + <dependency> + <groupId>org.apache.nifi</groupId> <artifactId>nifi-administration</artifactId> <version>${org.apache.nifi.version}</version> </dependency>
