45
45
from oracle .weblogic .deploy .validate import ValidateException
46
46
from wlsdeploy .exception .expection_types import ExceptionType
47
47
48
- VALIDATION_FAIL = 2
49
- PATH_TOKEN = '|'
50
- BLANK_LINE = ""
48
+ VALIDATION_FAIL = 2
49
+ PATH_TOKEN = '|'
50
+ BLANK_LINE = ""
51
51
52
52
_program_name = 'compareModel'
53
53
_class_name = 'compare_model'
54
- __logger = PlatformLogger ('wlsdeploy.compare_model' )
54
+ _logger = PlatformLogger ('wlsdeploy.compare_model' )
55
55
56
56
__required_arguments = [
57
57
CommandLineArgUtil .ORACLE_HOME_SWITCH
@@ -81,6 +81,7 @@ def __process_args(args):
81
81
82
82
return ModelContext (_program_name , argument_map )
83
83
84
+
84
85
class ModelDiffer :
85
86
86
87
def __init__ (self , current_dict , past_dict ):
@@ -229,18 +230,17 @@ def calculate_changed_model(self):
229
230
self ._add_results (all_removed , True )
230
231
231
232
except (KeyError , IndexError ), ke :
232
- __logger .severe ('WLSDPLY-05709' , str (ke )),
233
+ _logger .severe ('WLSDPLY-05709' , str (ke )),
233
234
ex = exception_helper .create_pywlst_exception ('WLSDPLY-05709' , str (ke ))
234
- __logger .throwing (ex , class_name = _class_name , method_name = _method_name )
235
+ _logger .throwing (ex , class_name = _class_name , method_name = _method_name )
235
236
raise ex
236
237
except AliasException , ae :
237
- __logger .severe ('WLSDPLY-05709' , ae .getLocalizedMessage (),
238
+ _logger .severe ('WLSDPLY-05709' , ae .getLocalizedMessage (),
238
239
error = ae , class_name = _class_name , method_name = _method_name )
239
240
ex = exception_helper .create_compare_exception (ae .getLocalizedMessage (), error = ae )
240
- __logger .throwing (ex , class_name = _class_name , method_name = _method_name )
241
+ _logger .throwing (ex , class_name = _class_name , method_name = _method_name )
241
242
raise ex
242
243
243
-
244
244
def _is_alias_folder (self , path ):
245
245
"""
246
246
Check if the delimited path is a folder or attribute
@@ -253,7 +253,7 @@ def _is_alias_folder(self, path):
253
253
aliases = Aliases (model_context = model_context , wlst_mode = WlstModes .OFFLINE )
254
254
location = LocationContext ()
255
255
last_token = path_tokens [- 1 ]
256
- alias_helper = AliasHelper (aliases , __logger , ExceptionType .COMPARE )
256
+ alias_helper = AliasHelper (aliases , _logger , ExceptionType .COMPARE )
257
257
258
258
found = True
259
259
name_token_next = False
@@ -356,7 +356,6 @@ def _add_results(self, ar_changes, is_delete=False):
356
356
else :
357
357
pointer_dict [parent_key ]['!' + app_key ] = dict ()
358
358
359
-
360
359
def merge_dictionaries (self , dictionary , new_dictionary ):
361
360
"""
362
361
Merge the values from the new dictionary to the existing one.
@@ -436,12 +435,18 @@ def compare(self):
436
435
437
436
variables .substitute (model_dictionary , variable_map , self .model_context )
438
437
439
- return_code = validator .validate_in_tool_mode (model_dictionary ,
440
- variables_file_name = None ,
441
- archive_file_name = None )
438
+ # Run this utility in stand-alone mode instead of tool mode,
439
+ # which has stricter checks for the tools.
440
+ # An archive is not used with the compare models and if the model
441
+ # references a file in an archive, the compareModel will fail if
442
+ # running in the stricter tool mode (even with lax).
443
+ #
444
+ return_code = validator .validate_in_standalone_mode (model_dictionary ,
445
+ None ,
446
+ archive_file_name = None )
442
447
443
448
if return_code == Validator .ReturnCode .STOP :
444
- __logger .severe ('WLSDPLY-05705' , model_file_name )
449
+ _logger .severe ('WLSDPLY-05705' , model_file_name )
445
450
return VALIDATION_FAIL
446
451
447
452
current_dict = model_dictionary
@@ -455,26 +460,26 @@ def compare(self):
455
460
archive_file_name = None )
456
461
457
462
if return_code == Validator .ReturnCode .STOP :
458
- __logger .severe ('WLSDPLY-05705' , model_file_name )
463
+ _logger .severe ('WLSDPLY-05705' , model_file_name )
459
464
return VALIDATION_FAIL
460
465
past_dict = model_dictionary
461
466
except ValidateException , te :
462
- __logger .severe ('WLSDPLY-20009' , _program_name , model_file_name , te .getLocalizedMessage (),
467
+ _logger .severe ('WLSDPLY-20009' , _program_name , model_file_name , te .getLocalizedMessage (),
463
468
error = te , class_name = _class_name , method_name = _method_name )
464
469
ex = exception_helper .create_compare_exception (te .getLocalizedMessage (), error = te )
465
- __logger .throwing (ex , class_name = _class_name , method_name = _method_name )
470
+ _logger .throwing (ex , class_name = _class_name , method_name = _method_name )
466
471
return VALIDATION_FAIL
467
472
except VariableException , ve :
468
- __logger .severe ('WLSDPLY-20009' , _program_name , model_file_name , ve .getLocalizedMessage (),
473
+ _logger .severe ('WLSDPLY-20009' , _program_name , model_file_name , ve .getLocalizedMessage (),
469
474
error = ve , class_name = _class_name , method_name = _method_name )
470
475
ex = exception_helper .create_compare_exception (ve .getLocalizedMessage (), error = ve )
471
- __logger .throwing (ex , class_name = _class_name , method_name = _method_name )
476
+ _logger .throwing (ex , class_name = _class_name , method_name = _method_name )
472
477
return VALIDATION_FAIL
473
478
except TranslateException , pe :
474
- __logger .severe ('WLSDPLY-20009' , _program_name , model_file_name , pe .getLocalizedMessage (),
479
+ _logger .severe ('WLSDPLY-20009' , _program_name , model_file_name , pe .getLocalizedMessage (),
475
480
error = pe , class_name = _class_name , method_name = _method_name )
476
481
ex = exception_helper .create_compare_exception (pe .getLocalizedMessage (), error = pe )
477
- __logger .throwing (ex , class_name = _class_name , method_name = _method_name )
482
+ _logger .throwing (ex , class_name = _class_name , method_name = _method_name )
478
483
return VALIDATION_FAIL
479
484
480
485
obj = ModelDiffer (current_dict , past_dict )
@@ -513,7 +518,7 @@ def compare(self):
513
518
fos .close ()
514
519
if writer :
515
520
writer .close ()
516
- __logger .severe ('WLSDPLY-05708' , file_name , ioe .getLocalizedMessage (),
521
+ _logger .severe ('WLSDPLY-05708' , file_name , ioe .getLocalizedMessage (),
517
522
error = ioe , class_name = _class_name , method_name = _method_name )
518
523
return 2
519
524
else :
@@ -540,7 +545,7 @@ def debug(format_string, *arguments):
540
545
if os .environ .has_key ('DEBUG_COMPARE_MODEL_TOOL' ):
541
546
print format_string % (arguments )
542
547
else :
543
- __logger .finest (format_string , arguments )
548
+ _logger .finest (format_string , arguments )
544
549
545
550
def main ():
546
551
"""
@@ -549,9 +554,9 @@ def main():
549
554
"""
550
555
_method_name = 'main'
551
556
552
- __logger .entering (class_name = _class_name , method_name = _method_name )
557
+ _logger .entering (class_name = _class_name , method_name = _method_name )
553
558
for index , arg in enumerate (sys .argv ):
554
- __logger .finer ('sys.argv[{0}] = {1}' , str (index ), str (arg ), class_name = _class_name , method_name = _method_name )
559
+ _logger .finer ('sys.argv[{0}] = {1}' , str (index ), str (arg ), class_name = _class_name , method_name = _method_name )
555
560
556
561
_outputdir = None
557
562
@@ -612,7 +617,7 @@ def main():
612
617
fos .close ()
613
618
if writer :
614
619
writer .close ()
615
- __logger .severe ('WLSDPLY-05708' , file_name , ioe .getLocalizedMessage (),
620
+ _logger .severe ('WLSDPLY-05708' , file_name , ioe .getLocalizedMessage (),
616
621
error = ioe , class_name = _class_name , method_name = _method_name )
617
622
else :
618
623
if len (compare_msgs ) > 0 :
@@ -631,23 +636,23 @@ def main():
631
636
except CLAException , ex :
632
637
exit_code = 2
633
638
if exit_code != CommandLineArgUtil .HELP_EXIT_CODE :
634
- __logger .severe ('WLSDPLY-20008' , _program_name , ex .getLocalizedMessage (), error = ex ,
639
+ _logger .severe ('WLSDPLY-20008' , _program_name , ex .getLocalizedMessage (), error = ex ,
635
640
class_name = _class_name , method_name = _method_name )
636
641
cla_helper .clean_up_temp_files ()
637
642
sys .exit (exit_code )
638
643
except CompareException , ce :
639
644
cla_helper .clean_up_temp_files ()
640
- __logger .severe ('WLSDPLY-05704' , ce .getLocalizedMessage ())
645
+ _logger .severe ('WLSDPLY-05704' , ce .getLocalizedMessage ())
641
646
System .exit (2 )
642
647
except PyWLSTException , pe :
643
648
cla_helper .clean_up_temp_files ()
644
- __logger .severe ('WLSDPLY-05704' , pe .getLocalizedMessage ())
649
+ _logger .severe ('WLSDPLY-05704' , pe .getLocalizedMessage ())
645
650
System .exit (2 )
646
651
except :
647
652
exc_type , exc_obj , exc_tb = sys .exc_info ()
648
653
eeString = traceback .format_exception (exc_type , exc_obj , exc_tb )
649
654
cla_helper .clean_up_temp_files ()
650
- __logger .severe ('WLSDPLY-05704' , eeString )
655
+ _logger .severe ('WLSDPLY-05704' , eeString )
651
656
System .exit (2 )
652
657
653
658
def format_message (key , * args ):
0 commit comments