@@ -496,15 +496,16 @@ def _check_attribute_exists(self, location, generated_attribute, generated_attri
496496 _logger .entering (location .get_folder_path (), generated_attribute ,
497497 class_name = CLASS_NAME , method_name = _method_name )
498498
499- exists , model_attribute_name = self ._does_alias_attribute_exist (location , generated_attribute ,
499+ exists , model_attribute_name , rod = self ._does_alias_attribute_exist (location , generated_attribute ,
500500 generated_attribute_info , alias_name_map )
501501 if exists :
502- if model_attribute_name is None :
502+ if model_attribute_name is None or rod :
503503 # if the alias attribute is correctly identified as read-only, it's not an error, but we cannot
504504 # verify any of the other attribute information using aliases methods. And since its read-only
505505 # we don't really care about any of the attribute information. This is also true for clear
506506 # text password fields.
507- exists = False
507+ if not rod :
508+ exists = False
508509 # clear text attributes (don't have Encrypted on the end) are not defined in the definitions
509510 # they are only artificially known and ignored by alias definitions
510511 read_only = \
@@ -544,9 +545,15 @@ def _does_alias_attribute_exist(self, location, generated_attribute, generated_a
544545 lower_case_list = alias_name_map .values ()
545546 exists = True
546547 model_attribute = None
548+ rod = False
547549 try :
548550 # no exception is thrown if it is found but read only, just returns empty model_attribute name
549551 model_attribute = self ._alias_helper .get_model_attribute_name (location , generated_attribute )
552+ # if value returned check to see if access type is ROD. If so change model_attribute to None
553+ if model_attribute is not None :
554+ wlst_attributes = self ._alias_helper .get_wlst_access_rod_attribute_names (location )
555+ if wlst_attributes is not None and generated_attribute in wlst_attributes :
556+ rod = True
550557 except AliasException :
551558 exists = False
552559
@@ -580,7 +587,7 @@ def _does_alias_attribute_exist(self, location, generated_attribute, generated_a
580587 class_name = CLASS_NAME , method_name = _method_name )
581588
582589 _logger .exiting (result = model_attribute , class_name = CLASS_NAME , method_name = _method_name )
583- return exists , model_attribute
590+ return exists , model_attribute , rod
584591
585592 def _is_generated_attribute_readonly (self , location , generated_attribute , generated_attribute_info ,
586593 alias_get_required_attribute_list = None ):
0 commit comments