NIFIREG-398 Change FlowFileConcurreny from enum to String to allow fo… (#286)

* NIFIREG-398 Change FlowFileConcurreny from enum to String to allow for flexible set of values from NiFi side

* NIFIREG-398 Change FlowFileOutboundPolicy from enum to String to allow for flexible set of values from NiFi side
diff --git a/nifi-registry-core/nifi-registry-data-model/src/main/java/org/apache/nifi/registry/flow/FlowFileConcurrency.java b/nifi-registry-core/nifi-registry-data-model/src/main/java/org/apache/nifi/registry/flow/FlowFileConcurrency.java
deleted file mode 100644
index fdd3f86..0000000
--- a/nifi-registry-core/nifi-registry-data-model/src/main/java/org/apache/nifi/registry/flow/FlowFileConcurrency.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * 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.registry.flow;
-
-public enum FlowFileConcurrency {
-    SINGLE_FLOWFILE_PER_NODE,
-    UNBOUNDED;
-}
diff --git a/nifi-registry-core/nifi-registry-data-model/src/main/java/org/apache/nifi/registry/flow/FlowFileOutboundPolicy.java b/nifi-registry-core/nifi-registry-data-model/src/main/java/org/apache/nifi/registry/flow/FlowFileOutboundPolicy.java
deleted file mode 100644
index 0b95936..0000000
--- a/nifi-registry-core/nifi-registry-data-model/src/main/java/org/apache/nifi/registry/flow/FlowFileOutboundPolicy.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * 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.registry.flow;
-
-public enum FlowFileOutboundPolicy {
-    STREAM_WHEN_AVAILABLE,
-    BATCH_OUTPUT;
-}
diff --git a/nifi-registry-core/nifi-registry-data-model/src/main/java/org/apache/nifi/registry/flow/VersionedProcessGroup.java b/nifi-registry-core/nifi-registry-data-model/src/main/java/org/apache/nifi/registry/flow/VersionedProcessGroup.java
index 630cf33..93e727b 100644
--- a/nifi-registry-core/nifi-registry-data-model/src/main/java/org/apache/nifi/registry/flow/VersionedProcessGroup.java
+++ b/nifi-registry-core/nifi-registry-data-model/src/main/java/org/apache/nifi/registry/flow/VersionedProcessGroup.java
@@ -42,8 +42,8 @@
     private Map<String, String> variables = new HashMap<>();
 
     private String parameterContextName;
-    private FlowFileConcurrency flowfileConcurrency;
-    private FlowFileOutboundPolicy flowfileOutboundPolicy;
+    private String flowfileConcurrency;
+    private String flowfileOutboundPolicy;
 
     @ApiModelProperty("The child Process Groups")
     public Set<VersionedProcessGroup> getProcessGroups() {
@@ -159,20 +159,20 @@
     }
 
     @ApiModelProperty(value = "The configured FlowFile Concurrency for the Process Group")
-    public FlowFileConcurrency getFlowFileConcurrency() {
+    public String getFlowFileConcurrency() {
         return flowfileConcurrency;
     }
 
-    public void setFlowFileConcurrency(final FlowFileConcurrency flowfileConcurrency) {
+    public void setFlowFileConcurrency(final String flowfileConcurrency) {
         this.flowfileConcurrency = flowfileConcurrency;
     }
 
     @ApiModelProperty(value = "The FlowFile Outbound Policy for the Process Group")
-    public FlowFileOutboundPolicy getFlowFileOutboundPolicy() {
+    public String getFlowFileOutboundPolicy() {
         return flowfileOutboundPolicy;
     }
 
-    public void setFlowFileOutboundPolicy(final FlowFileOutboundPolicy outboundPolicy) {
+    public void setFlowFileOutboundPolicy(final String outboundPolicy) {
         this.flowfileOutboundPolicy = outboundPolicy;
     }
 }
diff --git a/nifi-registry-core/nifi-registry-flow-diff/src/main/java/org/apache/nifi/registry/flow/diff/StandardFlowComparator.java b/nifi-registry-core/nifi-registry-flow-diff/src/main/java/org/apache/nifi/registry/flow/diff/StandardFlowComparator.java
index ce7373b..6a0baad 100644
--- a/nifi-registry-core/nifi-registry-flow-diff/src/main/java/org/apache/nifi/registry/flow/diff/StandardFlowComparator.java
+++ b/nifi-registry-core/nifi-registry-flow-diff/src/main/java/org/apache/nifi/registry/flow/diff/StandardFlowComparator.java
@@ -17,8 +17,6 @@
 
 package org.apache.nifi.registry.flow.diff;
 
-import org.apache.nifi.registry.flow.FlowFileConcurrency;
-import org.apache.nifi.registry.flow.FlowFileOutboundPolicy;
 import org.apache.nifi.registry.flow.VersionedComponent;
 import org.apache.nifi.registry.flow.VersionedConnection;
 import org.apache.nifi.registry.flow.VersionedControllerService;
@@ -46,6 +44,8 @@
     private static final String DEFAULT_LOAD_BALANCE_STRATEGY = "DO_NOT_LOAD_BALANCE";
     private static final String DEFAULT_PARTITIONING_ATTRIBUTE = "";
     private static final String DEFAULT_LOAD_BALANCE_COMPRESSION = "DO_NOT_COMPRESS";
+    private static final String DEFAULT_FLOW_FILE_CONCURRENCY = "UNBOUNDED";
+    private static final String DEFAULT_OUTBOUND_FLOW_FILE_POLICY = "STREAM_WHEN_AVAILABLE";
 
     private static final Pattern PARAMETER_REFERENCE_PATTERN = Pattern.compile("#\\{[A-Za-z0-9\\-_. ]+}");
 
@@ -334,9 +334,9 @@
 
         addIfDifferent(differences, DifferenceType.VERSIONED_FLOW_COORDINATES_CHANGED, groupA, groupB, VersionedProcessGroup::getVersionedFlowCoordinates);
         addIfDifferent(differences, DifferenceType.FLOWFILE_CONCURRENCY_CHANGED, groupA, groupB, VersionedProcessGroup::getFlowFileConcurrency,
-            true, FlowFileConcurrency.UNBOUNDED);
+            true, DEFAULT_FLOW_FILE_CONCURRENCY);
         addIfDifferent(differences, DifferenceType.FLOWFILE_OUTBOUND_POLICY_CHANGED, groupA, groupB, VersionedProcessGroup::getFlowFileOutboundPolicy,
-            true, FlowFileOutboundPolicy.STREAM_WHEN_AVAILABLE);
+            true, DEFAULT_OUTBOUND_FLOW_FILE_POLICY);
 
         final VersionedFlowCoordinates groupACoordinates = groupA.getVersionedFlowCoordinates();
         final VersionedFlowCoordinates groupBCoordinates = groupB.getVersionedFlowCoordinates();