2828from wlsdeploy .logging .platform_logger import PlatformLogger
2929from wlsdeploy .tool .encrypt import encryption_utils
3030from wlsdeploy .tool .util .alias_helper import AliasHelper
31+ from wlsdeploy .util import cla_utils
3132from wlsdeploy .util import getcreds
3233from wlsdeploy .util import variables as variable_helper
3334from wlsdeploy .util .cla_utils import CommandLineArgUtil
@@ -62,6 +63,7 @@ def __process_args(args):
6263 _method_name = '__process_args'
6364
6465 cla_util = CommandLineArgUtil (_program_name , __required_arguments , __optional_arguments )
66+ cla_util .set_allow_multiple_models (True )
6567 argument_map = cla_util .process_args (args )
6668
6769 __validate_mode_args (argument_map )
@@ -92,17 +94,8 @@ def __validate_mode_args(optional_arg_map):
9294 """
9395 _method_name = '__validate_mode_args'
9496
95- if CommandLineArgUtil .MODEL_FILE_SWITCH in optional_arg_map :
96- model_file_name = optional_arg_map [CommandLineArgUtil .MODEL_FILE_SWITCH ]
97- try :
98- FileUtils .validateExistingFile (model_file_name )
99- except IllegalArgumentException , iae :
100- ex = exception_helper .create_cla_exception ('WLSDPLY-20006' , _program_name , model_file_name ,
101- iae .getLocalizedMessage (), error = iae )
102- ex .setExitCode (CommandLineArgUtil .ARG_VALIDATION_ERROR_EXIT_CODE )
103- __logger .throwing (ex , class_name = _class_name , method_name = _method_name )
104- raise ex
105- elif CommandLineArgUtil .ENCRYPT_MANUAL_SWITCH not in optional_arg_map :
97+ if CommandLineArgUtil .MODEL_FILE_SWITCH not in optional_arg_map \
98+ and CommandLineArgUtil .ENCRYPT_MANUAL_SWITCH not in optional_arg_map :
10699 ex = exception_helper .create_cla_exception ('WLSDPLY-04202' , _program_name , CommandLineArgUtil .MODEL_FILE_SWITCH ,
107100 CommandLineArgUtil .ENCRYPT_MANUAL_SWITCH )
108101 ex .setExitCode (CommandLineArgUtil .USAGE_ERROR_EXIT_CODE )
@@ -152,13 +145,15 @@ def __encrypt_model_and_variables(model_context):
152145 """
153146 _method_name = '__encrypt_model_and_variables'
154147
155- model_file = model_context .get_model_file ()
156- try :
157- model = FileToPython (model_file , True ).parse ()
158- except TranslateException , te :
159- __logger .severe ('WLSDPLY-04206' , _program_name , model_file , te .getLocalizedMessage (), error = te ,
160- class_name = _class_name , method_name = _method_name )
161- return CommandLineArgUtil .PROG_ERROR_EXIT_CODE
148+ model_files = cla_utils .get_model_files (model_context .get_model_file ())
149+ models = dict ()
150+ for model_file in model_files :
151+ try :
152+ models [model_file ] = FileToPython (model_file , True ).parse ()
153+ except TranslateException , te :
154+ __logger .severe ('WLSDPLY-04206' , _program_name , model_file , te .getLocalizedMessage (), error = te ,
155+ class_name = _class_name , method_name = _method_name )
156+ return CommandLineArgUtil .PROG_ERROR_EXIT_CODE
162157
163158 variable_file = model_context .get_variable_file ()
164159 variables = None
@@ -173,35 +168,36 @@ def __encrypt_model_and_variables(model_context):
173168 aliases = Aliases (model_context , wlst_mode = WlstModes .OFFLINE )
174169 alias_helper = AliasHelper (aliases , __logger , ExceptionType .ENCRYPTION )
175170
176- try :
177- passphrase = model_context .get_encryption_passphrase ()
178- model_change_count , variable_change_count = \
179- encryption_utils .encrypt_model_dictionary (passphrase , model , alias_helper , variables )
180- except EncryptionException , ee :
181- __logger .severe ('WLSDPLY-04208' , _program_name , ee .getLocalizedMessage (), error = ee ,
182- class_name = _class_name , method_name = _method_name )
183- return CommandLineArgUtil .PROG_ERROR_EXIT_CODE
184-
185- if variable_change_count > 0 :
171+ for model_file , model in models .iteritems ():
186172 try :
187- variable_helper . write_variables ( _program_name , variables , variable_file )
188- __logger . info ( 'WLSDPLY-04209' , _program_name , variable_change_count , variable_file ,
189- class_name = _class_name , method_name = _method_name )
190- except VariableException , ve :
191- __logger .severe ('WLSDPLY-20007 ' , _program_name , variable_file , ve .getLocalizedMessage (), error = ve ,
173+ passphrase = model_context . get_encryption_passphrase ( )
174+ model_change_count , variable_change_count = \
175+ encryption_utils . encrypt_model_dictionary ( passphrase , model , alias_helper , variables )
176+ except EncryptionException , ee :
177+ __logger .severe ('WLSDPLY-04208 ' , _program_name , ee .getLocalizedMessage (), error = ee ,
192178 class_name = _class_name , method_name = _method_name )
193179 return CommandLineArgUtil .PROG_ERROR_EXIT_CODE
194180
195- if model_change_count > 0 :
196- try :
197- model_writer = PythonToFile (model )
198- model_writer .write_to_file (model_file )
199- __logger .info ('WLSDPLY-04210' , _program_name , model_change_count , model_file ,
200- class_name = _class_name , method_name = _method_name )
201- except TranslateException , te :
202- __logger .severe ('WLSDPLY-04211' , _program_name , model_file , te .getLocalizedMessage (), error = te ,
203- class_name = _class_name , method_name = _method_name )
204- return CommandLineArgUtil .PROG_ERROR_EXIT_CODE
181+ if variable_change_count > 0 :
182+ try :
183+ variable_helper .write_variables (_program_name , variables , variable_file )
184+ __logger .info ('WLSDPLY-04209' , _program_name , variable_change_count , variable_file ,
185+ class_name = _class_name , method_name = _method_name )
186+ except VariableException , ve :
187+ __logger .severe ('WLSDPLY-20007' , _program_name , variable_file , ve .getLocalizedMessage (), error = ve ,
188+ class_name = _class_name , method_name = _method_name )
189+ return CommandLineArgUtil .PROG_ERROR_EXIT_CODE
190+
191+ if model_change_count > 0 :
192+ try :
193+ model_writer = PythonToFile (model )
194+ model_writer .write_to_file (model_file )
195+ __logger .info ('WLSDPLY-04210' , _program_name , model_change_count , model_file ,
196+ class_name = _class_name , method_name = _method_name )
197+ except TranslateException , te :
198+ __logger .severe ('WLSDPLY-04211' , _program_name , model_file , te .getLocalizedMessage (), error = te ,
199+ class_name = _class_name , method_name = _method_name )
200+ return CommandLineArgUtil .PROG_ERROR_EXIT_CODE
205201
206202 return CommandLineArgUtil .PROG_OK_EXIT_CODE
207203
0 commit comments