public boolean copyChanges ( final Tree tree , final boolean overwrite ) { if ( tree == null ) { throw new IllegalArgumentException ( "Cannot copy a null tree" ) ; } if ( tree_id != tree . tree_id ) { throw new IllegalArgumentException ( "Tree IDs do not match" ) ; } if ( overwrite || tree . changed . get ( "name" ) ) { name = tree . name ; changed . put ( "name" , true ) ; } if ( overwrite || tree . changed . get ( "description" ) ) { description = tree . description ; changed . put ( "description" , true ) ; } if ( overwrite || tree . changed . get ( "notes" ) ) { notes = tree . notes ; changed . put ( "notes" , true ) ; } if ( overwrite || tree . changed . get ( "strict_match" ) ) { strict_match = tree . strict_match ; changed . put ( "strict_match" , true ) ; } if ( overwrite || tree . changed . get ( "enabled" ) ) { enabled = tree . enabled ; changed . put ( "enabled" , true ) ; } if ( overwrite || tree . changed . get ( "store_failures" ) ) { store_failures = tree . store_failures ; changed . put ( "store_failures" , true ) ; } for ( boolean has_changes : changed . values ( ) ) { if ( has_changes ) { return true ; } } return false ; }
Copies changes from the incoming tree into the local tree overriding if called to . Only parses user mutable fields excluding rules .