@@ -96,7 +96,7 @@ def __init__(self, model_context, aliases=None, logger=None, wlst_mode=None, dom
9696 self ._model_file_name = self ._model_context .get_model_file ()
9797 return
9898
99- def validate_in_standalone_mode (self , model_dict , variables_file_name = None , archive_file_name = None ):
99+ def validate_in_standalone_mode (self , model_dict , variable_map , archive_file_name = None ):
100100 """
101101 Performs model file validate and returns a ValidationResults object.
102102
@@ -105,8 +105,7 @@ def validate_in_standalone_mode(self, model_dict, variables_file_name=None, arch
105105 ones, followed by error-related ones.
106106
107107 :param model_dict: A Python dictionary of the model to be validated
108- :param variables_file_name: Path to file containing variable substitution data used with model file.
109- Defaults to None.
108+ :param variable_map: Map used for variable substitution
110109 :param archive_file_name: Path to file containing binaries associated with the model file.
111110 Defaults to None.
112111 :raises ValidationException: if an AliasException is raised during an invocation of an aliases API call.
@@ -119,9 +118,9 @@ def validate_in_standalone_mode(self, model_dict, variables_file_name=None, arch
119118 # actually require changes to be made to the cloned model dictionary
120119 cloned_model_dict = copy .deepcopy (model_dict )
121120
122- self ._logger .entering (variables_file_name , archive_file_name , class_name = _class_name , method_name = _method_name )
121+ self ._logger .entering (archive_file_name , class_name = _class_name , method_name = _method_name )
123122 self ._validation_mode = _ValidationModes .STANDALONE
124- self .__validate_model_file (cloned_model_dict , variables_file_name , archive_file_name )
123+ self .__validate_model_file (cloned_model_dict , variable_map , archive_file_name )
125124
126125 self ._logger .exiting (class_name = _class_name , method_name = _method_name )
127126
@@ -156,7 +155,8 @@ def validate_in_tool_mode(self, model_dict, variables_file_name=None, archive_fi
156155 self ._logger .entering (variables_file_name , archive_file_name , class_name = _class_name , method_name = _method_name )
157156 return_code = Validator .ReturnCode .STOP
158157 self ._validation_mode = _ValidationModes .TOOL
159- self .__validate_model_file (cloned_model_dict , variables_file_name , archive_file_name )
158+ variable_map = self .load_variables (variables_file_name )
159+ self .__validate_model_file (cloned_model_dict , variable_map , archive_file_name )
160160
161161 status = Validator .ValidationStatus .VALID
162162
@@ -223,23 +223,20 @@ def __get_attribute_log_value(self, attribute_name, attribute_value, attribute_i
223223 result = '<masked>'
224224 return result
225225
226- def __validate_model_file (self , model_dict , variables_file_name , archive_file_name ):
226+ def __validate_model_file (self , model_dict , variables_map , archive_file_name ):
227227 _method_name = '__validate_model_file'
228228
229229 self .__pre_validation_setup (model_dict , archive_file_name )
230230
231- self ._logger .entering (variables_file_name , archive_file_name , class_name = _class_name , method_name = _method_name )
231+ self ._logger .entering (archive_file_name , class_name = _class_name , method_name = _method_name )
232232 self ._logger .info ('WLSDPLY-05002' , _ValidationModes .from_value (self ._validation_mode ), self ._wls_version ,
233233 WlstModes .from_value (self ._wlst_mode ), class_name = _class_name , method_name = _method_name )
234234
235235 if self ._model_file_name is not None :
236236 self ._logger .info ('WLSDPLY-05003' , self ._model_file_name , class_name = _class_name , method_name = _method_name )
237237
238238 try :
239- if variables_file_name is not None :
240- self ._logger .info ('WLSDPLY-05004' , variables_file_name , class_name = _class_name ,
241- method_name = _method_name )
242- self ._variable_properties = variables .load_variables (variables_file_name )
239+ self ._variable_properties = variables_map
243240 variables .substitute (model_dict , self ._variable_properties , self ._model_context )
244241 except VariableException , ve :
245242 ex = exception_helper .create_validate_exception ('WLSDPLY-20004' , 'validateModel' ,
@@ -270,6 +267,26 @@ def __validate_model_file(self, model_dict, variables_file_name, archive_file_na
270267 self ._logger .exiting (class_name = _class_name , method_name = _method_name )
271268 return
272269
270+ def load_variables (self , variables_file_name ):
271+ """
272+ Load the variables properties from the specified file.
273+ :param variables_file_name: the name of the variables file, or None if not specified
274+ :return: the variables properties
275+ """
276+ _method_name = 'load_variables'
277+
278+ try :
279+ if variables_file_name is not None :
280+ self ._logger .info ('WLSDPLY-05004' , variables_file_name , class_name = _class_name ,
281+ method_name = _method_name )
282+ return variables .load_variables (variables_file_name )
283+ return {}
284+ except VariableException , ve :
285+ ex = exception_helper .create_validate_exception ('WLSDPLY-20004' , 'validateModel' ,
286+ ve .getLocalizedMessage (), error = ve )
287+ self ._logger .throwing (ex , class_name = _class_name , method_name = _method_name )
288+ raise ex
289+
273290 def __pre_validation_setup (self , model_dict , archive_file_name ):
274291 """
275292 Performs pre-validation setup activities. These include things like:
0 commit comments