33The Universal Permissive License (UPL), Version 1.0
44"""
55
6+ import java .lang .System as JSystem
7+ import java .lang .Thread as JThread
68import java .util .logging .Level as JLevel
9+ import java .util .logging .Logger as JLogger
10+ import java .util .logging .LogRecord as JLogRecord
11+
12+ from oracle .weblogic .deploy .exception import ExceptionHelper
713
814from wlsdeploy .util import model
915from wlsdeploy .tool .validate import validation_utils
@@ -61,32 +67,25 @@ def print_details(self):
6167 """
6268
6369 for validation_result in self ._validation_result_dict .values ():
64- if validation_result .get_errors_count () > 0 \
65- or validation_result .get_warnings_count () > 0 \
66- or validation_result .get_infos_count ():
67-
68- indent_level = 0
69- validation_area = validation_utils .format_message ('WLSDPLY-05200' ,
70- validation_result .get_validation_area ())
71- validation_utils .print_blank_lines ()
72- validation_utils .print_indent (validation_utils .divider_string , indent_level )
73- validation_utils .print_indent (validation_area , indent_level )
74- validation_utils .print_indent (validation_utils .divider_string , indent_level )
70+ indent_level = 0
71+ if validation_result .get_infos_count () > 0 :
72+ _print_results_category_details (validation_utils .format_message ('WLSDPLY-05201' ),
73+ validation_result .get_infos_count (),
74+ validation_result .get_infos_messages (), indent_level )
7575
76- if validation_result .get_infos_count () > 0 :
77- _print_results_category_details (validation_utils .format_message ('WLSDPLY-05201' ),
78- validation_result .get_infos_count (),
79- validation_result .get_infos_messages (), indent_level )
80-
81- if validation_result .get_warnings_count () > 0 :
82- _print_results_category_details (validation_utils .format_message ('WLSDPLY-05202' ),
83- validation_result .get_warnings_count (),
84- validation_result .get_warnings_messages (), indent_level )
76+ for validation_result in self ._validation_result_dict .values ():
77+ indent_level = 0
78+ if validation_result .get_warnings_count () > 0 :
79+ _print_results_category_details (validation_utils .format_message ('WLSDPLY-05202' ),
80+ validation_result .get_warnings_count (),
81+ validation_result .get_warnings_messages (), indent_level )
8582
86- if validation_result .get_errors_count () > 0 :
87- _print_results_category_details (validation_utils .format_message ('WLSDPLY-05203' ),
88- validation_result .get_errors_count (),
89- validation_result .get_errors_messages (), indent_level )
83+ for validation_result in self ._validation_result_dict .values ():
84+ indent_level = 0
85+ if validation_result .get_errors_count () > 0 :
86+ _print_results_category_details (validation_utils .format_message ('WLSDPLY-05203' ),
87+ validation_result .get_errors_count (),
88+ validation_result .get_errors_messages (), indent_level )
9089
9190 def log_results (self , logger ):
9291 """
@@ -97,72 +96,73 @@ def log_results(self, logger):
9796
9897 if logger is not None :
9998 # Get counts for all the ValidationResult objects
100- # in this ValidationResult object
99+ # in this ValidationResults object
101100 results_summary = self .__get_summary ()
102101
103- logger .set_level (JLevel .INFO )
102+ jlogger = JLogger .getLogger (logger .get_name (), logger .resource_bundle_name )
103+
104+ jlogger .setLevel (JLevel .INFO )
104105
105106 # Determine what the severity level is going to be for the
106107 # summary log message. Needs to be set in accordance with
107108 # what the severest validation message was.
108109 if results_summary ['infos_count' ] > 0 :
109- logger . set_level (JLevel .INFO )
110+ jlogger . setLevel (JLevel .INFO )
110111 if results_summary ['warnings_count' ] > 0 :
111- logger . set_level (JLevel .WARNING )
112+ jlogger . setLevel (JLevel .WARNING )
112113 if results_summary ['errors_count' ] > 0 :
113- logger . set_level (JLevel .SEVERE )
114+ jlogger . setLevel (JLevel .SEVERE )
114115
115116 total_messages_count = \
116117 int (results_summary ['errors_count' ]) + int (results_summary ['warnings_count' ]) + \
117118 int (results_summary ['infos_count' ])
118119
119- logger .log (logger . get_level (),
120+ logger .log (jlogger . getLevel (),
120121 'WLSDPLY-05204' ,
121122 results_summary ['errors_count' ],
122123 results_summary ['warnings_count' ],
123124 results_summary ['infos_count' ],
124- total_messages_count ,
125125 class_name = self ._class_name , method_name = _method_name )
126126
127+ if total_messages_count > 0 :
128+ logger .log (jlogger .getLevel (), 'WLSDPLY-05207' , total_messages_count ,
129+ class_name = self ._class_name , method_name = _method_name )
130+
127131 for validation_result in self ._validation_result_dict .values ():
128132 if validation_result .get_infos_count () > 0 :
129- logger . set_level (JLevel .INFO )
133+ jlogger . setLevel (JLevel .INFO )
130134 self .__log_results_category_details (validation_result .get_infos_messages (),
131- _method_name , logger )
135+ _method_name , jlogger )
132136
133137 for validation_result in self ._validation_result_dict .values ():
134138 if validation_result .get_warnings_count () > 0 :
135- logger . set_level (JLevel .WARNING )
139+ jlogger . setLevel (JLevel .WARNING )
136140 self .__log_results_category_details (validation_result .get_warnings_messages (),
137- _method_name , logger )
141+ _method_name , jlogger )
138142
139143 for validation_result in self ._validation_result_dict .values ():
140144 if validation_result .get_errors_count () > 0 :
141- logger . set_level (JLevel .SEVERE )
145+ jlogger . setLevel (JLevel .SEVERE )
142146 self .__log_results_category_details (validation_result .get_errors_messages (),
143- _method_name , logger )
147+ _method_name , jlogger )
144148
145- logger . set_level (JLevel .INFO )
149+ jlogger . setLevel (JLevel .INFO )
146150
147151 return
148152
149- def __log_results_category_details (self , category_messages , method_name , logger ):
153+ def __log_results_category_details (self , category_messages , method_name , jlogger ):
150154 """
151155
152156 :param category_messages:
153157 :param method_name:
154- :param logger :
158+ :param jlogger :
155159 :return:
156160 """
157161
158162 for i in range (len (category_messages )):
159163 messages = category_messages [i ]
160- if 'message' in messages :
161- logger .log (logger .get_level (), message = messages ['message' ],
162- class_name = self ._class_name , method_name = method_name )
163- elif 'valid_items' in messages :
164- logger .log (logger .get_level (), message = messages ['valid_items' ],
165- class_name = self ._class_name , method_name = method_name )
164+ _log_category_message (jlogger , messages ['resource_id' ], messages ['args' ],
165+ class_name = self ._class_name , method_name = method_name )
166166
167167 def __get_summary (self ):
168168 """
@@ -220,16 +220,28 @@ def _print_results_category_details(result_category, category_count, category_me
220220
221221 for i in range (len (category_messages )):
222222 messages = category_messages [i ]
223- if 'message' in messages :
224- validation_utils .print_indent (
225- validation_utils .format_message ('WLSDPLY-05205' , messages ['message' ]), indent_level + 2
226- )
227- elif 'valid_items' in messages :
228- validation_utils .print_indent (
229- validation_utils .format_message ('WLSDPLY-05206' , messages ['valid_items' ]), indent_level + 2
230- )
231- # if i == len(messages):
232- # validation_utils.print_blank_lines()
223+ validation_utils .print_indent (
224+ ExceptionHelper .getMessage (messages ['resource_id' ], list (messages ['args' ])), indent_level + 2
225+ )
226+
227+ return
228+
229+
230+ def _log_category_message (jlogger , message , * args , ** kwargs ):
231+ method = kwargs .get ('method_name' , None )
232+ clazz = kwargs .get ('class_name' , None )
233+ record = JLogRecord (jlogger .getLevel (), message )
234+ record .setLoggerName (jlogger .getName ())
235+ record .setMillis (JSystem .currentTimeMillis ())
236+ record .setParameters (list (* args ))
237+ record .setResourceBundle (jlogger .getResourceBundle ())
238+ if clazz is not None :
239+ record .setSourceClassName (clazz )
240+ if method is not None :
241+ record .setSourceMethodName (method )
242+ record .setThreadID (int (JThread .currentThread ().getId ()))
243+ jlogger .log (record )
244+ return
233245
234246
235247class ValidationResult (object ):
@@ -268,41 +280,41 @@ def __str__(self):
268280
269281 return "{%s}" % tmp
270282
271- def add_error (self , error_item_message , valid_items_message = None ):
283+ def add_error (self , resource_id , * args ):
272284 """
273285
274- :param error_item_message :
275- :param valid_items_message :
286+ :param resource_id :
287+ :param args :
276288 :return:
277289 """
278290 self ._result ['errors' ]['count' ] += 1
279- message = {'message' : error_item_message }
280- if valid_items_message is not None :
281- message ['valid_items' ] = valid_items_message
291+ message = {'resource_id' : resource_id , 'args' : args }
282292 self ._result ['errors' ]['messages' ].append (message )
293+ return
283294
284- def add_warning (self , warning_item_message , valid_items_message = None ):
295+ def add_warning (self , resource_id , * args ):
285296 """
286297
287- :param warning_item_message :
288- :param valid_items_message :
298+ :param resource_id :
299+ :param args :
289300 :return:
290301 """
291302 self ._result ['warnings' ]['count' ] += 1
292- message = {'message' : warning_item_message }
293- if valid_items_message is not None :
294- message ['valid_items' ] = valid_items_message
303+ message = {'resource_id' : resource_id , 'args' : args }
295304 self ._result ['warnings' ]['messages' ].append (message )
305+ return
296306
297- def add_info (self , info_item_message ):
307+ def add_info (self , resource_id , * args ):
298308 """
299309
300- :param info_item_message:
310+ :param resource_id:
311+ :param args:
301312 :return:
302313 """
303314 self ._result ['infos' ]['count' ] += 1
304- message = {'message ' : info_item_message }
315+ message = {'resource_id ' : resource_id , 'args' : args }
305316 self ._result ['infos' ]['messages' ].append (message )
317+ return
306318
307319 def get_validation_area (self ):
308320 """
@@ -353,20 +365,14 @@ def get_infos_messages(self):
353365 """
354366 return self ._result ['infos' ]['messages' ]
355367
356- def print_details (self ):
357- pass
358-
359368 def __to_string (self , category_name ):
360369 tmp = ' "%s": {' % category_name
361370 tmp += '"count": %d, ' % self ._result [category_name ]['count' ]
362371 tmp += '"messages": ['
363372 for message in self ._result [category_name ]['messages' ]:
364373 tmp += "{"
365- message_list = message .keys ()
366- message_list .sort ()
367- for name in message_list :
368- value = message [name ]
369- tmp += '"%s": "%s",' % (name , value )
374+ tmp += '"%s": "%s",' % ('message' , ExceptionHelper .getMessage (message ['resource_id' ],
375+ list (message ['args' ])))
370376 if tmp [- 1 :] == ',' :
371377 # Strip off trailing ','
372378 tmp = tmp [:- 1 ]
0 commit comments