28
28
from wlsdeploy .logging .platform_logger import PlatformLogger
29
29
from wlsdeploy .tool .encrypt import encryption_utils
30
30
from wlsdeploy .tool .util .alias_helper import AliasHelper
31
+ from wlsdeploy .util import cla_utils
31
32
from wlsdeploy .util import getcreds
32
33
from wlsdeploy .util import variables as variable_helper
33
34
from wlsdeploy .util .cla_utils import CommandLineArgUtil
@@ -62,6 +63,7 @@ def __process_args(args):
62
63
_method_name = '__process_args'
63
64
64
65
cla_util = CommandLineArgUtil (_program_name , __required_arguments , __optional_arguments )
66
+ cla_util .set_allow_multiple_models (True )
65
67
argument_map = cla_util .process_args (args )
66
68
67
69
__validate_mode_args (argument_map )
@@ -92,17 +94,8 @@ def __validate_mode_args(optional_arg_map):
92
94
"""
93
95
_method_name = '__validate_mode_args'
94
96
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 :
106
99
ex = exception_helper .create_cla_exception ('WLSDPLY-04202' , _program_name , CommandLineArgUtil .MODEL_FILE_SWITCH ,
107
100
CommandLineArgUtil .ENCRYPT_MANUAL_SWITCH )
108
101
ex .setExitCode (CommandLineArgUtil .USAGE_ERROR_EXIT_CODE )
@@ -152,13 +145,15 @@ def __encrypt_model_and_variables(model_context):
152
145
"""
153
146
_method_name = '__encrypt_model_and_variables'
154
147
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
162
157
163
158
variable_file = model_context .get_variable_file ()
164
159
variables = None
@@ -173,35 +168,36 @@ def __encrypt_model_and_variables(model_context):
173
168
aliases = Aliases (model_context , wlst_mode = WlstModes .OFFLINE )
174
169
alias_helper = AliasHelper (aliases , __logger , ExceptionType .ENCRYPTION )
175
170
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 ():
186
172
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 ,
192
178
class_name = _class_name , method_name = _method_name )
193
179
return CommandLineArgUtil .PROG_ERROR_EXIT_CODE
194
180
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
205
201
206
202
return CommandLineArgUtil .PROG_OK_EXIT_CODE
207
203
0 commit comments