71
71
# Used by shell script to locate WLST
72
72
CommandLineArgUtil .MODEL_FILE_SWITCH ,
73
73
CommandLineArgUtil .DOMAIN_TYPE_SWITCH ,
74
- CommandLineArgUtil .VARIABLE_PROPERTIES_FILE_SWITCH ,
74
+ CommandLineArgUtil .VARIABLE_FILE_SWITCH ,
75
75
CommandLineArgUtil .ADMIN_URL_SWITCH ,
76
76
CommandLineArgUtil .ADMIN_USER_SWITCH ,
77
77
CommandLineArgUtil .ADMIN_PASS_SWITCH ,
@@ -189,20 +189,20 @@ def __process_variable_filename_arg(optional_arg_map):
189
189
"""
190
190
_method_name = '__process_variable_filename_arg'
191
191
192
- if CommandLineArgUtil .VARIABLE_PROPERTIES_FILE_SWITCH in optional_arg_map :
193
- variable_injector_file_name = variable_injector . get_default_variable_injector_file_name ()
192
+ if CommandLineArgUtil .VARIABLE_FILE_SWITCH in optional_arg_map :
193
+ variable_injector_file_name = optional_arg_map [ CommandLineArgUtil . VARIABLE_FILE_SWITCH ]
194
194
try :
195
- FileUtils .validateExistingFile (variable_injector_file_name )
195
+ FileUtils .validateWritableFile (variable_injector_file_name )
196
196
except IllegalArgumentException , ie :
197
197
ex = exception_helper .create_cla_exception ('WLSDPLY-06021' , optional_arg_map [
198
- CommandLineArgUtil .VARIABLE_PROPERTIES_FILE_SWITCH ], variable_injector_file_name ,
198
+ CommandLineArgUtil .VARIABLE_FILE_SWITCH ], variable_injector_file_name ,
199
199
ie .getLocalizedMessage (), error = ie )
200
200
__logger .throwing (ex , class_name = _class_name , method_name = _method_name )
201
201
raise ex
202
202
return
203
203
204
204
205
- def __discover (model_context , aliases ):
205
+ def __discover (model_context , aliases , injector ):
206
206
"""
207
207
Populate the model from the domain.
208
208
:param model_context: the model context
@@ -216,14 +216,14 @@ def __discover(model_context, aliases):
216
216
try :
217
217
_add_domain_name (base_location , aliases )
218
218
DomainInfoDiscoverer (model_context , model .get_model_domain_info (), base_location , wlst_mode = __wlst_mode ,
219
- aliases = aliases ).discover ()
219
+ aliases = aliases , variable_injector = injector ).discover ()
220
220
TopologyDiscoverer (model_context , model .get_model_topology (), base_location , wlst_mode = __wlst_mode ,
221
- aliases = aliases ).discover ()
221
+ aliases = aliases , variable_injector = injector ).discover ()
222
222
ResourcesDiscoverer (model_context , model .get_model_resources (), base_location , wlst_mode = __wlst_mode ,
223
- aliases = aliases ).discover ()
223
+ aliases = aliases , variable_injector = injector ).discover ()
224
224
DeploymentsDiscoverer (model_context , model .get_model_app_deployments (), base_location , wlst_mode = __wlst_mode ,
225
- aliases = aliases ).discover ()
226
- __discover_multi_tenant (model , model_context , base_location , aliases )
225
+ aliases = aliases , variable_injector = injector ).discover ()
226
+ __discover_multi_tenant (model , model_context , base_location , aliases , injector )
227
227
except AliasException , ae :
228
228
wls_version = WebLogicHelper (__logger ).get_actual_weblogic_version ()
229
229
wlst_mode = WlstModes .from_value (__wlst_mode )
@@ -255,14 +255,15 @@ def _add_domain_name(location, aliases):
255
255
raise de
256
256
257
257
258
- def __discover_multi_tenant (model , model_context , base_location , aliases ):
258
+ def __discover_multi_tenant (model , model_context , base_location , aliases , injector ):
259
259
"""
260
260
Discover the multi-tenant-related parts of the domain, if they exist.
261
261
:param model: the model object to populate
262
262
:param model_context: the model context object
263
263
:raises DiscoverException: if an error occurs during discovery
264
264
"""
265
- MultiTenantDiscoverer (model , model_context , base_location , wlst_mode = __wlst_mode , aliases = aliases ).discover ()
265
+ MultiTenantDiscoverer (model , model_context , base_location ,
266
+ wlst_mode = __wlst_mode , aliases = aliases , variable_injector = injector ).discover ()
266
267
return
267
268
268
269
@@ -423,7 +424,7 @@ def __persist_model(model, model_context):
423
424
return
424
425
425
426
426
- def __check_and_customize_model (model , model_context , aliases ):
427
+ def __check_and_customize_model (model , model_context , aliases , injector ):
427
428
"""
428
429
Customize the model dictionary before persisting. Validate the model after customization for informational
429
430
purposes. Any validation errors will not stop the discovered model to be persisted.
@@ -435,10 +436,12 @@ def __check_and_customize_model(model, model_context, aliases):
435
436
if filter_helper .apply_filters (model .get_model (), "discover" ):
436
437
__logger .info ('WLSDPLY-06014' , _class_name = _class_name , method_name = _method_name )
437
438
438
- inserted , variable_model , variable_file_name = VariableInjector (_program_name , model .get_model (), model_context ,
439
- WebLogicHelper (
440
- __logger ).get_actual_weblogic_version ()).\
441
- inject_variables_keyword_file ()
439
+ cache = None
440
+ if injector is not None :
441
+ cache = injector .get_variable_cache ()
442
+ inserted , variable_model , variable_file_name = \
443
+ VariableInjector (_program_name , model .get_model (), model_context ,
444
+ WebLogicHelper (__logger ).get_actual_weblogic_version (), cache ).inject_variables_keyword_file ()
442
445
if inserted :
443
446
model = Model (variable_model )
444
447
try :
@@ -481,7 +484,6 @@ def main(args):
481
484
482
485
exit_code = CommandLineArgUtil .PROG_OK_EXIT_CODE
483
486
484
- model_context = None
485
487
try :
486
488
model_context = __process_args (args )
487
489
except CLAException , ex :
@@ -503,15 +505,23 @@ def main(args):
503
505
504
506
aliases = Aliases (model_context , wlst_mode = __wlst_mode )
505
507
model = None
508
+ discover_injector = None
509
+ if model_context .get_variable_file () is not None :
510
+ discover_injector = VariableInjector (_program_name , dict (), model_context ,
511
+ WebLogicHelper (__logger ).get_actual_weblogic_version ())
512
+
513
+ __logger .info ('WLSDPLY-06025' , class_name = _class_name , method_name = _method_name )
514
+ else :
515
+ __logger .info ('WLSDPLY-06024' , class_name = _class_name , method_name = _method_name )
506
516
try :
507
- model = __discover (model_context , aliases )
517
+ model = __discover (model_context , aliases , discover_injector )
508
518
except DiscoverException , ex :
509
519
__logger .severe ('WLSDPLY-06011' , _program_name , model_context .get_domain_name (),
510
520
model_context .get_domain_home (), ex .getLocalizedMessage (),
511
521
error = ex , class_name = _class_name , method_name = _method_name )
512
522
__log_and_exit (model_context , CommandLineArgUtil .PROG_ERROR_EXIT_CODE , _class_name , _method_name )
513
-
514
- model = __check_and_customize_model (model , model_context , aliases )
523
+
524
+ model = __check_and_customize_model (model , model_context , aliases , discover_injector )
515
525
516
526
try :
517
527
__persist_model (model , model_context )
@@ -525,6 +535,7 @@ def main(args):
525
535
526
536
__log_and_exit (model_context , exit_code , _class_name , _method_name )
527
537
538
+
528
539
if __name__ == '__main__' or __name__ == 'main' :
529
540
WebLogicDeployToolingVersion .logVersionInfo (_program_name )
530
541
main (sys .argv )
0 commit comments