2525
2626sys .path .append (os .path .dirname (os .path .realpath (sys .argv [0 ])))
2727
28+ from wlsdeploy .aliases import model_constants
29+ from wlsdeploy .aliases .aliases import Aliases
30+ from wlsdeploy .aliases .location_context import LocationContext
2831import wlsdeploy .tool .util .variable_injector as variable_injector
32+
2933from wlsdeploy .aliases .wlst_modes import WlstModes
3034from wlsdeploy .exception import exception_helper
3135from wlsdeploy .logging .platform_logger import PlatformLogger
@@ -138,7 +142,7 @@ def __process_online_args(optional_arg_map):
138142 raise ex
139143 optional_arg_map [CommandLineArgUtil .ADMIN_PASS_SWITCH ] = String (password )
140144
141- __logger . info ( 'WLSDPLY-06020' , class_name = _class_name , method_name = _method_name )
145+ mode = WlstModes . ONLINE
142146 return mode
143147
144148
@@ -184,23 +188,28 @@ def __process_variable_filename_arg(optional_arg_map):
184188 return
185189
186190
187- def __discover (model_context ):
191+ def __discover (model_context , aliases ):
188192 """
189193 Populate the model from the domain.
190194 :param model_context: the model context
191195 :return: the fully-populated model
192196 :raises DiscoverException: if an error occurred while discover the domain
193197 """
194198 _method_name = '__discover'
195-
196199 model = Model ()
200+ base_location = LocationContext ()
197201 __connect_to_domain (model_context )
198202 try :
199- DomainInfoDiscoverer (model_context , model .get_model_domain_info (), wlst_mode = __wlst_mode ).discover ()
200- TopologyDiscoverer (model_context , model .get_model_topology (), wlst_mode = __wlst_mode ).discover ()
201- ResourcesDiscoverer (model_context , model .get_model_resources (), wlst_mode = __wlst_mode ).discover ()
202- DeploymentsDiscoverer (model_context , model .get_model_app_deployments (), wlst_mode = __wlst_mode ).discover ()
203- __discover_multi_tenant (model , model_context )
203+ _add_domain_name (base_location , aliases )
204+ DomainInfoDiscoverer (model_context , model .get_model_domain_info (), base_location , wlst_mode = __wlst_mode ,
205+ aliases = aliases ).discover ()
206+ TopologyDiscoverer (model_context , model .get_model_topology (), base_location , wlst_mode = __wlst_mode ,
207+ aliases = aliases ).discover ()
208+ ResourcesDiscoverer (model_context , model .get_model_resources (), base_location , wlst_mode = __wlst_mode ,
209+ aliases = aliases ).discover ()
210+ DeploymentsDiscoverer (model_context , model .get_model_app_deployments (), base_location , wlst_mode = __wlst_mode ,
211+ aliases = aliases ).discover ()
212+ __discover_multi_tenant (model , model_context , base_location , aliases )
204213 except AliasException , ae :
205214 wls_version = WebLogicHelper (__logger ).get_actual_weblogic_version ()
206215 wlst_mode = WlstModes .from_value (__wlst_mode )
@@ -214,14 +223,32 @@ def __discover(model_context):
214223 return model
215224
216225
217- def __discover_multi_tenant (model , model_context ):
226+ def _add_domain_name (location , aliases ):
227+ _method_name = '_get_domain_name'
228+ try :
229+ wlst_helper .cd ('/' )
230+ domain_name = wlst_helper .get (model_constants .DOMAIN_NAME )
231+ except PyWLSTException , pe :
232+ de = exception_helper .create_discover_exception ('WLSDPLY-06020' , pe .getLocalizedMessage ())
233+ __logger .throwing (class_name = _class_name , method_name = _method_name , error = de )
234+ raise de
235+ if domain_name is not None :
236+ location .add_name_token (aliases .get_name_token (location ), domain_name )
237+ __logger .info ('WLSDPLY-06022' , domain_name , class_name = _class_name , method_name = _method_name )
238+ else :
239+ de = exception_helper .create_discover_exception ('WLSDPLY-WLSDPLY-06023' )
240+ __logger .throwing (class_name = _class_name , method_name = _method_name , error = de )
241+ raise de
242+
243+
244+ def __discover_multi_tenant (model , model_context , base_location , aliases ):
218245 """
219246 Discover the multi-tenant-related parts of the domain, if they exist.
220247 :param model: the model object to populate
221248 :param model_context: the model context object
222249 :raises DiscoverException: if an error occurs during discovery
223250 """
224- MultiTenantDiscoverer (model , model_context , wlst_mode = __wlst_mode ).discover ()
251+ MultiTenantDiscoverer (model , model_context , base_location , wlst_mode = __wlst_mode , aliases = aliases ).discover ()
225252 return
226253
227254
@@ -381,7 +408,7 @@ def __persist_model(model, model_context):
381408 return
382409
383410
384- def __check_and_customize_model (model , model_context ):
411+ def __check_and_customize_model (model , model_context , aliases ):
385412 """
386413 Customize the model dictionary before persisting. Validate the model after customization for informational
387414 purposes. Any validation errors will not stop the discovered model to be persisted.
@@ -400,7 +427,7 @@ def __check_and_customize_model(model, model_context):
400427 if inserted :
401428 model = Model (variable_model )
402429 try :
403- validator = Validator (model_context , wlst_mode = __wlst_mode )
430+ validator = Validator (model_context , wlst_mode = __wlst_mode , aliases = aliases )
404431
405432 # no variables are generated by the discover tool
406433 validator .validate_in_tool_mode (model .get_model (), variables_file_name = variable_file_name ,
@@ -410,14 +437,15 @@ def __check_and_customize_model(model, model_context):
410437 return model
411438
412439
413- def __log_and_exit (exit_code , class_name , _method_name ):
440+ def __log_and_exit (exit_code , class_name , method_name ):
414441 """
415442 Helper method to log the exiting message and call sys.exit()
416443 :param exit_code: the exit code to use
417444 :param class_name: the class name to pass to the logger
418- :param _method_name : the method name to pass to the logger
445+ :param method_name : the method name to pass to the logger
419446 """
420- __logger .exiting (result = exit_code , class_name = class_name , method_name = _method_name )
447+ __logger .exiting (result = exit_code , class_name = class_name , method_name = method_name )
448+
421449 sys .exit (exit_code )
422450
423451
@@ -455,16 +483,18 @@ def main(args):
455483 ex .getLocalizedMessage (), error = ex , class_name = _class_name , method_name = _method_name )
456484 __log_and_exit (CommandLineArgUtil .PROG_ERROR_EXIT_CODE , _class_name , _method_name )
457485
486+ aliases = Aliases (model_context , wlst_mode = __wlst_mode )
458487 model = None
459488 try :
460- model = __discover (model_context )
489+ model = __discover (model_context , aliases )
461490 except DiscoverException , ex :
462491 __logger .severe ('WLSDPLY-06011' , _program_name , model_context .get_domain_name (),
463492 model_context .get_domain_home (), ex .getLocalizedMessage (),
464493 error = ex , class_name = _class_name , method_name = _method_name )
465494 __log_and_exit (CommandLineArgUtil .PROG_ERROR_EXIT_CODE , _class_name , _method_name )
466-
467- model = __check_and_customize_model (model , model_context )
495+
496+ model = __check_and_customize_model (model , model_context , aliases )
497+
468498 try :
469499 __persist_model (model , model_context )
470500
0 commit comments