1919from wlsdeploy .util import dictionary_utils
2020from wlsdeploy .util .model import Model
2121from wlsdeploy .util .weblogic_helper import WebLogicHelper
22-
22+
2323
2424class Creator (object ):
2525 """
@@ -401,7 +401,7 @@ def _create_subfolders(self, location, model_nodes):
401401 if self .alias_helper .requires_artificial_type_subfolder_handling (sub_location ):
402402 self .logger .finest ('WLSDPLY-12116' , key , str (sub_location ), subfolder_nodes ,
403403 class_name = self .__class_name , method_name = _method_name )
404- self ._create_security_provider_mbeans (key , subfolder_nodes , location )
404+ self ._create_security_provider_mbeans (key , subfolder_nodes , location , True )
405405 elif len (subfolder_nodes ) != 0 :
406406 if self .alias_helper .supports_multiple_mbean_instances (sub_location ):
407407 self .logger .finest ('WLSDPLY-12109' , key , str (sub_location ), subfolder_nodes ,
@@ -462,7 +462,10 @@ def _delete_existing_providers(self, location):
462462 The security realms providers in the model are processed as merge to the model. Each realm provider
463463 section must be complete and true to the resulting domain. Any existing provider not found in the
464464 model will be removed, and any provider in the model but not in the domain will be added. The resulting
465- provider list will be ordered as listed in the model.
465+ provider list will be ordered as listed in the model. If the provider type (i.e. AuthenticationProvider)
466+ is not in the model, it is assumed no configuration or ordering is needed, and the provider is skipped.
467+ If the provider type is in the model, but there is no MBean entry under the provider, then it is
468+ assumed that all providers for that provider type must be removed.
466469
467470 For create, the default realm and default providers have been added by the weblogic base template and any
468471 extension templates. They have default values. These providers will be removed from the domain. During
@@ -477,9 +480,8 @@ def _delete_existing_providers(self, location):
477480 with the correct name. And the DefaultAuthenticationProvider successfully re-adds with the correct default
478481 identity asserter.
479482
480- This release does not support updating the provider list. Because this means that the realms cannot be
481- configured accurately, the security configuration is not configured. It is in the original configuration
482- applied by the templates.
483+ This release also supports updating the security configuration realms in both offline and online mode. This
484+ release requires a complete list of providers as described in the first paragraph.
483485
484486 :param location: current context of the location pointing at the provider mbean
485487 """
@@ -497,9 +499,9 @@ def _delete_existing_providers(self, location):
497499 self .wlst_helper .cd (create_path )
498500 for existing_folder_name in existing_folder_names :
499501 try :
502+ self .logger .info ('WLSDPLY-12135' , existing_folder_name , wlst_base_provider_type , create_path ,
503+ class_name = self .__class_name , method_name = _method_name )
500504 self .wlst_helper .delete (existing_folder_name , wlst_base_provider_type )
501- self .logger .finer ('WLSDPLY-12135' , existing_folder_name , wlst_base_provider_type , create_path ,
502- class_name = self .__class_name , method_name = _method_name )
503505 except BundleAwareException , bae :
504506 ex = exception_helper .create_exception (self ._exception_type , 'WLSDPLY-12134' , existing_folder_name ,
505507 self .wls_helper .get_weblogic_version (),
0 commit comments