|
22 | 22 | from oracle.weblogic.deploy.util import WebLogicDeployToolingVersion
|
23 | 23 | from oracle.weblogic.deploy.util import WLSDeployArchive
|
24 | 24 | from oracle.weblogic.deploy.util import WLSDeployArchiveIOException
|
| 25 | +from oracle.weblogic.deploy.validate import ValidateException |
25 | 26 |
|
26 | 27 | sys.path.append(os.path.dirname(os.path.realpath(sys.argv[0])))
|
27 | 28 |
|
|
35 | 36 | from wlsdeploy.tool.discover.multi_tenant_discoverer import MultiTenantDiscoverer
|
36 | 37 | from wlsdeploy.tool.discover.resources_discoverer import ResourcesDiscoverer
|
37 | 38 | from wlsdeploy.tool.discover.topology_discoverer import TopologyDiscoverer
|
| 39 | +from wlsdeploy.tool.validate.validator import Validator |
38 | 40 | from wlsdeploy.tool.util import filter_helper
|
39 | 41 | from wlsdeploy.util import wlst_helper
|
40 | 42 | from wlsdeploy.util import model_translator
|
@@ -354,14 +356,27 @@ def __persist_model(model, model_context):
|
354 | 356 | return
|
355 | 357 |
|
356 | 358 |
|
357 |
| -def __check_and_customize_model(model): |
| 359 | +def __check_and_customize_model(model, model_context): |
| 360 | + """ |
| 361 | + Customize the model dictionary before persisting. Validate the model after customization for informational |
| 362 | + purposes. Any validation errors will not stop the discovered model to be persisted. |
| 363 | + :param model: completely discovered model |
| 364 | + """ |
358 | 365 | _method_name = '__check_and_customize_model'
|
359 | 366 | __logger.entering(class_name=_class_name, method_name=_method_name)
|
360 | 367 |
|
361 | 368 | if filter_helper.apply_filters(model.get_model(), "discover"):
|
362 | 369 | __logger.info('WLSDPLY-06014', _class_name=_class_name, method_name=_method_name)
|
363 | 370 |
|
364 |
| - __logger.exiting(class_name=_class_name, method_name=_method_name) |
| 371 | + |
| 372 | + try: |
| 373 | + validator = Validator(model_context, wlst_mode=__wlst_mode) |
| 374 | + |
| 375 | + # no variables are generated by the discover tool |
| 376 | + return_code = validator.validate_in_tool_mode(model.get_model(), variables_file_name=None, |
| 377 | + archive_file_name=model_context.get_archive_file_name()) |
| 378 | + except ValidateException, ex: |
| 379 | + __logger.warning('WLSDPLY-06015', ex.getLocalizedMessage(), class_name=_class_name, method_name=_method_name) |
365 | 380 |
|
366 | 381 |
|
367 | 382 | def __log_and_exit(exit_code, _class_name, _method_name):
|
@@ -415,7 +430,7 @@ def main():
|
415 | 430 | error=ex, class_name=_class_name, method_name=_method_name)
|
416 | 431 | __log_and_exit(CommandLineArgUtil.PROG_ERROR_EXIT_CODE, _class_name, _method_name)
|
417 | 432 |
|
418 |
| - __check_and_customize_model(model) |
| 433 | + __check_and_customize_model(model, model_context) |
419 | 434 |
|
420 | 435 | try:
|
421 | 436 | __persist_model(model, model_context)
|
|
0 commit comments