Repository: nifi-minifi
Updated Branches:
  refs/heads/master 47cf2209e -> 8c47fb4a0


MINIFI-43 Fixing provenance instantiation and removing some default 
constructors to prevent same problem in other classes

This closes #20


Project: http://git-wip-us.apache.org/repos/asf/nifi-minifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi-minifi/commit/8c47fb4a
Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi/tree/8c47fb4a
Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi/diff/8c47fb4a

Branch: refs/heads/master
Commit: 8c47fb4a0fe803b9ee3f3cacebe8d1d74c18e4e7
Parents: 47cf220
Author: Joseph Percivall <[email protected]>
Authored: Mon Jun 27 12:52:58 2016 -0400
Committer: Joseph Percivall <[email protected]>
Committed: Mon Jun 27 19:08:19 2016 -0400

----------------------------------------------------------------------
 .../bootstrap/util/schema/ConfigSchema.java     |  6 +-----
 .../bootstrap/util/schema/ConnectionSchema.java |  3 ---
 .../util/schema/FlowControllerSchema.java       |  3 ---
 .../bootstrap/util/schema/ProcessorSchema.java  |  3 ---
 .../util/schema/ProvenanceReportingSchema.java  |  3 ---
 .../util/schema/RemoteInputPortSchema.java      |  3 ---
 .../schema/RemoteProcessingGroupSchema.java     |  3 ---
 .../util/schema/SecurityPropertiesSchema.java   | 16 +++++++-------
 .../util/schema/common/BaseSchema.java          | 22 +++++++++++++-------
 .../src/test/resources/config-minimal.yml       |  2 +-
 10 files changed, 25 insertions(+), 39 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/8c47fb4a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/ConfigSchema.java
----------------------------------------------------------------------
diff --git 
a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/ConfigSchema.java
 
b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/ConfigSchema.java
index 6d3d7ca..5323675 100644
--- 
a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/ConfigSchema.java
+++ 
b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/ConfigSchema.java
@@ -52,11 +52,7 @@ public class ConfigSchema extends BaseSchema {
 
     private ProvenanceRepositorySchema provenanceRepositorySchema;
 
-    public ConfigSchema() {
-    }
-
     public ConfigSchema(Map map) {
-        Object obj ;
         flowControllerProperties = getMapAsType(map, 
FLOW_CONTROLLER_PROPS_KEY, FlowControllerSchema.class, TOP_LEVEL_NAME, true);
 
         coreProperties = getMapAsType(map, CORE_PROPS_KEY, 
CorePropertiesSchema.class, TOP_LEVEL_NAME, false);
@@ -81,7 +77,7 @@ public class ConfigSchema extends BaseSchema {
             transformListToType(remoteProcessingGroups, "remote processing 
group", RemoteProcessingGroupSchema.class, REMOTE_PROCESSING_GROUPS_KEY);
         }
 
-        provenanceReportingProperties = getMapAsType(map, 
PROVENANCE_REPORTING_KEY, ProvenanceReportingSchema.class, TOP_LEVEL_NAME, 
false);
+        provenanceReportingProperties = getMapAsType(map, 
PROVENANCE_REPORTING_KEY, ProvenanceReportingSchema.class, TOP_LEVEL_NAME, 
false, false);
 
         addIssuesIfNotNull(flowControllerProperties);
         addIssuesIfNotNull(coreProperties);

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/8c47fb4a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/ConnectionSchema.java
----------------------------------------------------------------------
diff --git 
a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/ConnectionSchema.java
 
b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/ConnectionSchema.java
index f7024f8..9ae57d7 100644
--- 
a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/ConnectionSchema.java
+++ 
b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/ConnectionSchema.java
@@ -44,9 +44,6 @@ public class ConnectionSchema extends BaseSchema {
     private String flowfileExpiration = "0 sec";
     private String queuePrioritizerClass = "";
 
-    public ConnectionSchema() {
-    }
-
     public ConnectionSchema(Map map) {
         name = getRequiredKeyAsType(map, NAME_KEY, String.class, 
CONNECTIONS_KEY);
         sourceName = getRequiredKeyAsType(map, SOURCE_NAME_KEY, String.class, 
CONNECTIONS_KEY);

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/8c47fb4a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/FlowControllerSchema.java
----------------------------------------------------------------------
diff --git 
a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/FlowControllerSchema.java
 
b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/FlowControllerSchema.java
index 1d7500a..7c04da0 100644
--- 
a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/FlowControllerSchema.java
+++ 
b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/FlowControllerSchema.java
@@ -32,9 +32,6 @@ public class FlowControllerSchema extends BaseSchema {
     private String name;
     private String comment = "";
 
-    public FlowControllerSchema() {
-    }
-
     public FlowControllerSchema(Map map) {
         name = getRequiredKeyAsType(map, NAME_KEY, String.class, 
FLOW_CONTROLLER_PROPS_KEY);
 

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/8c47fb4a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/ProcessorSchema.java
----------------------------------------------------------------------
diff --git 
a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/ProcessorSchema.java
 
b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/ProcessorSchema.java
index bb86c8c..622e945 100644
--- 
a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/ProcessorSchema.java
+++ 
b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/ProcessorSchema.java
@@ -52,9 +52,6 @@ public class ProcessorSchema extends BaseSchema {
     private List<String> autoTerminatedRelationshipsList = 
Collections.emptyList();
     private Map<String, Object> properties = Collections.emptyMap();
 
-    public ProcessorSchema() {
-    }
-
     public ProcessorSchema(Map map) {
         name = getRequiredKeyAsType(map, NAME_KEY, String.class, 
PROCESSORS_KEY);
         processorClass = getRequiredKeyAsType(map, CLASS_KEY, String.class, 
PROCESSORS_KEY);

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/8c47fb4a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/ProvenanceReportingSchema.java
----------------------------------------------------------------------
diff --git 
a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/ProvenanceReportingSchema.java
 
b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/ProvenanceReportingSchema.java
index 8e98ffe..a260916 100644
--- 
a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/ProvenanceReportingSchema.java
+++ 
b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/ProvenanceReportingSchema.java
@@ -47,9 +47,6 @@ public class ProvenanceReportingSchema extends BaseSchema {
     private String timeout = "30 secs";
     private Number batchSize = 1000;
 
-    public ProvenanceReportingSchema() {
-    }
-
     public ProvenanceReportingSchema(Map map) {
         comment = getOptionalKeyAsType(map, COMMENT_KEY, String.class, 
PROVENANCE_REPORTING_KEY, null);
 

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/8c47fb4a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/RemoteInputPortSchema.java
----------------------------------------------------------------------
diff --git 
a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/RemoteInputPortSchema.java
 
b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/RemoteInputPortSchema.java
index cfcb611..9b0cdc7 100644
--- 
a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/RemoteInputPortSchema.java
+++ 
b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/RemoteInputPortSchema.java
@@ -38,9 +38,6 @@ public class RemoteInputPortSchema extends BaseSchema {
     private Number maxConcurrentTasks = 1;
     private Boolean useCompression = true;
 
-    public RemoteInputPortSchema() {
-    }
-
     public RemoteInputPortSchema(Map map) {
         id = getRequiredKeyAsType(map, ID_KEY, String.class, INPUT_PORTS_KEY);
         name = getRequiredKeyAsType(map, NAME_KEY, String.class, 
INPUT_PORTS_KEY);

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/8c47fb4a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/RemoteProcessingGroupSchema.java
----------------------------------------------------------------------
diff --git 
a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/RemoteProcessingGroupSchema.java
 
b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/RemoteProcessingGroupSchema.java
index e69f023..7c32183 100644
--- 
a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/RemoteProcessingGroupSchema.java
+++ 
b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/RemoteProcessingGroupSchema.java
@@ -41,9 +41,6 @@ public class RemoteProcessingGroupSchema extends BaseSchema {
     private String yieldPeriod = "10 sec";
     private List<RemoteInputPortSchema> inputPorts;
 
-    public RemoteProcessingGroupSchema() {
-    }
-
     public RemoteProcessingGroupSchema(Map map) {
         name = getRequiredKeyAsType(map, NAME_KEY, String.class, 
REMOTE_PROCESSING_GROUPS_KEY);
         url = getRequiredKeyAsType(map, URL_KEY, String.class, 
REMOTE_PROCESSING_GROUPS_KEY);

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/8c47fb4a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/SecurityPropertiesSchema.java
----------------------------------------------------------------------
diff --git 
a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/SecurityPropertiesSchema.java
 
b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/SecurityPropertiesSchema.java
index a303125..b6a47a3 100644
--- 
a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/SecurityPropertiesSchema.java
+++ 
b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/SecurityPropertiesSchema.java
@@ -37,14 +37,14 @@ public class SecurityPropertiesSchema extends BaseSchema {
     public static final String TRUSTSTORE_PASSWORD_KEY = "truststore password";
     public static final String SSL_PROTOCOL_KEY = "ssl protocol";
 
-    private String keystore;
-    private String keystoreType;
-    private String keystorePassword;
-    private String keyPassword;
-    private String truststore;
-    private String truststoreType;
-    private String truststorePassword;
-    private String sslProtocol;
+    private String keystore = "";
+    private String keystoreType = "";
+    private String keystorePassword = "";
+    private String keyPassword = "";
+    private String truststore = "";
+    private String truststoreType = "";
+    private String truststorePassword = "";
+    private String sslProtocol = "";
     private SensitivePropsSchema sensitiveProps;
 
     public SecurityPropertiesSchema() {

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/8c47fb4a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/common/BaseSchema.java
----------------------------------------------------------------------
diff --git 
a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/common/BaseSchema.java
 
b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/common/BaseSchema.java
index a29be6d..ec670c4 100644
--- 
a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/common/BaseSchema.java
+++ 
b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/schema/common/BaseSchema.java
@@ -91,27 +91,35 @@ public class BaseSchema {
 
     public <T> T getMapAsType(Map valueMap, String key, Class targetClass, 
String wrapperName, boolean required) {
         Object obj = valueMap.get(key);
-        return interpretValueAsType(obj, key, targetClass, wrapperName, 
required);
+        return interpretValueAsType(obj, key, targetClass, wrapperName, 
required, true);
+    }
+
+    public <T> T getMapAsType(Map valueMap, String key, Class targetClass, 
String wrapperName, boolean required, boolean instantiateIfNull) {
+        Object obj = valueMap.get(key);
+        return interpretValueAsType(obj, key, targetClass, wrapperName, 
required, instantiateIfNull);
     }
 
     public void transformListToType(List list, String simpleListType, Class 
targetClass, String wrapperName){
         for (int i = 0; i < list.size(); i++) {
-            Object obj = interpretValueAsType(list.get(i), simpleListType + " 
number " + i, targetClass, wrapperName, false);
+            Object obj = interpretValueAsType(list.get(i), simpleListType + " 
number " + i, targetClass, wrapperName, false, false);
             if (obj != null) {
                 list.set(i, obj);
             }
         }
     }
 
-    private <T> T interpretValueAsType(Object obj, String key, Class 
targetClass, String wrapperName, boolean required) {
+    private <T> T interpretValueAsType(Object obj, String key, Class 
targetClass, String wrapperName, boolean required, boolean instantiateIfNull) {
         if (obj == null) {
             if (required){
                 addValidationIssue(key, wrapperName, "it is a required 
property but was not found");
             } else {
-                try {
-                    return (T) targetClass.newInstance();
-                } catch (InstantiationException | IllegalAccessException e) {
-                    addValidationIssue(key, wrapperName, "it is optional and 
when attempting to create it the following exception was thrown:" + 
e.getMessage());
+                if(instantiateIfNull) {
+                    try {
+                        return (T) targetClass.newInstance();
+                    } catch (InstantiationException | IllegalAccessException 
e) {
+                        addValidationIssue(key, wrapperName, "no value was 
given, and it is supposed to be created with default values as a default, and 
when attempting to create it the following " +
+                                "exception was thrown:" + e.getMessage());
+                    }
                 }
             }
         } else if (obj instanceof Map) {

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/8c47fb4a/minifi-bootstrap/src/test/resources/config-minimal.yml
----------------------------------------------------------------------
diff --git a/minifi-bootstrap/src/test/resources/config-minimal.yml 
b/minifi-bootstrap/src/test/resources/config-minimal.yml
index 573fef6..4a5f885 100644
--- a/minifi-bootstrap/src/test/resources/config-minimal.yml
+++ b/minifi-bootstrap/src/test/resources/config-minimal.yml
@@ -16,7 +16,7 @@
 Flow Controller:
     name: MiNiFi Flow
 
-# When creating the Flow (not doing the transform) these processors will be 
invalid due to not having the necesary properties/auto-terminated relationships
+# When running the Flow (not just doing the transform) these processors will 
be invalid due to not having the necesary properties/auto-terminated 
relationships
 Processors:
     - name: TailAppLog
       class: org.apache.nifi.processors.standard.TailFile

Reply via email to