[ 
https://issues.apache.org/jira/browse/MINIFI-117?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15616420#comment-15616420
 ] 

ASF GitHub Bot commented on MINIFI-117:
---------------------------------------

Github user brosander commented on a diff in the pull request:

    https://github.com/apache/nifi-minifi/pull/45#discussion_r85601514
  
    --- Diff: 
minifi-toolkit/minifi-toolkit-configuration/src/main/java/org/apache/nifi/minifi/toolkit/configuration/ConfigMain.java
 ---
    @@ -336,6 +329,16 @@ public int transform(String[] args) {
             return SUCCESS;
         }
     
    +    protected void validateAndPrintIssues(ConfigSchema configSchema) {
    +        if (!configSchema.isValid()) {
    +            System.out.println("There are validation errors with the 
template, still outputting YAML but it will need to be edited.");
    +            
configSchema.getValidationIssues().forEach(System.out::println);
    --- End diff --
    
    @JPercivall the first printout looks right to me.  You're missing the name 
in v1 which gets cleared.  Then when it tries to create the v2 schema, it sees 
the id missing.
    
    I can do similar logic with the upgrade command as well though.


> Maintainable Configuration Versioning
> -------------------------------------
>
>                 Key: MINIFI-117
>                 URL: https://issues.apache.org/jira/browse/MINIFI-117
>             Project: Apache NiFi MiNiFi
>          Issue Type: Bug
>            Reporter: Bryan Rosander
>            Assignee: Bryan Rosander
>
> In order to avoid a tangled web of if/else statements around every possible 
> permutation of config.yml and an equally complicated validation routine, we 
> need to utilize a versioning strategy that allows for specific parsing and 
> validation code for each version of the ConfigSchema.
> This will allow us to determine if a schema will be compatible with an older 
> MiNiFi instance more easily by validating the structure of the file at a 
> given version while still supporting an upconvert on read to the latest 
> ConfigSchema while parsing at runtime.
> It should also facilitate a deprecation strategy of removing older versions' 
> classes without needing to touch current implementation



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to