7171 # Used by shell script to locate WLST
7272 CommandLineArgUtil .MODEL_FILE_SWITCH ,
7373 CommandLineArgUtil .DOMAIN_TYPE_SWITCH ,
74- CommandLineArgUtil .VARIABLE_PROPERTIES_FILE_SWITCH ,
74+ CommandLineArgUtil .VARIABLE_FILE_SWITCH ,
7575 CommandLineArgUtil .ADMIN_URL_SWITCH ,
7676 CommandLineArgUtil .ADMIN_USER_SWITCH ,
7777 CommandLineArgUtil .ADMIN_PASS_SWITCH ,
@@ -189,20 +189,20 @@ def __process_variable_filename_arg(optional_arg_map):
189189 """
190190 _method_name = '__process_variable_filename_arg'
191191
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 ]
194194 try :
195- FileUtils .validateExistingFile (variable_injector_file_name )
195+ FileUtils .validateWritableFile (variable_injector_file_name )
196196 except IllegalArgumentException , ie :
197197 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 ,
199199 ie .getLocalizedMessage (), error = ie )
200200 __logger .throwing (ex , class_name = _class_name , method_name = _method_name )
201201 raise ex
202202 return
203203
204204
205- def __discover (model_context , aliases ):
205+ def __discover (model_context , aliases , injector ):
206206 """
207207 Populate the model from the domain.
208208 :param model_context: the model context
@@ -216,14 +216,14 @@ def __discover(model_context, aliases):
216216 try :
217217 _add_domain_name (base_location , aliases )
218218 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 ()
220220 TopologyDiscoverer (model_context , model .get_model_topology (), base_location , wlst_mode = __wlst_mode ,
221- aliases = aliases ).discover ()
221+ aliases = aliases , variable_injector = injector ).discover ()
222222 ResourcesDiscoverer (model_context , model .get_model_resources (), base_location , wlst_mode = __wlst_mode ,
223- aliases = aliases ).discover ()
223+ aliases = aliases , variable_injector = injector ).discover ()
224224 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 )
227227 except AliasException , ae :
228228 wls_version = WebLogicHelper (__logger ).get_actual_weblogic_version ()
229229 wlst_mode = WlstModes .from_value (__wlst_mode )
@@ -255,14 +255,15 @@ def _add_domain_name(location, aliases):
255255 raise de
256256
257257
258- def __discover_multi_tenant (model , model_context , base_location , aliases ):
258+ def __discover_multi_tenant (model , model_context , base_location , aliases , injector ):
259259 """
260260 Discover the multi-tenant-related parts of the domain, if they exist.
261261 :param model: the model object to populate
262262 :param model_context: the model context object
263263 :raises DiscoverException: if an error occurs during discovery
264264 """
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 ()
266267 return
267268
268269
@@ -423,7 +424,7 @@ def __persist_model(model, model_context):
423424 return
424425
425426
426- def __check_and_customize_model (model , model_context , aliases ):
427+ def __check_and_customize_model (model , model_context , aliases , injector ):
427428 """
428429 Customize the model dictionary before persisting. Validate the model after customization for informational
429430 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):
435436 if filter_helper .apply_filters (model .get_model (), "discover" ):
436437 __logger .info ('WLSDPLY-06014' , _class_name = _class_name , method_name = _method_name )
437438
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 ()
442445 if inserted :
443446 model = Model (variable_model )
444447 try :
@@ -481,7 +484,6 @@ def main(args):
481484
482485 exit_code = CommandLineArgUtil .PROG_OK_EXIT_CODE
483486
484- model_context = None
485487 try :
486488 model_context = __process_args (args )
487489 except CLAException , ex :
@@ -503,15 +505,23 @@ def main(args):
503505
504506 aliases = Aliases (model_context , wlst_mode = __wlst_mode )
505507 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 )
506516 try :
507- model = __discover (model_context , aliases )
517+ model = __discover (model_context , aliases , discover_injector )
508518 except DiscoverException , ex :
509519 __logger .severe ('WLSDPLY-06011' , _program_name , model_context .get_domain_name (),
510520 model_context .get_domain_home (), ex .getLocalizedMessage (),
511521 error = ex , class_name = _class_name , method_name = _method_name )
512522 __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 )
515525
516526 try :
517527 __persist_model (model , model_context )
@@ -525,6 +535,7 @@ def main(args):
525535
526536 __log_and_exit (model_context , exit_code , _class_name , _method_name )
527537
538+
528539if __name__ == '__main__' or __name__ == 'main' :
529540 WebLogicDeployToolingVersion .logVersionInfo (_program_name )
530541 main (sys .argv )
0 commit comments