Juan Hernandez has uploaded a new change for review. Change subject: codegen: Fix naming conflict ......................................................................
codegen: Fix naming conflict Currently the code generator generates conflicting classes when the calculated name of a entity is the same of a collection. For example, for the following collection: /hosts/{host:id}/storage Note that the name of the collection doesn't end in "s". As a result the code generator produces a HostStorage class for the collection and a HostStorage (same name) class for the entity. Due to the order they are generated the collection class overwrites the entity class. To avoid this issue this patch changes the code generator so that it will automaticall add the "s" to the collection class name when there is a conflict like this. Change-Id: Ia408b8e16234595b4454c2d252f5fec16414ca49 Bug-Url: https://bugzilla.redhat.com/1120502 Signed-off-by: Juan Hernandez <juan.hernan...@redhat.com> (cherry picked from commit 6bc4526a9f5fa761cd9f64cc7b311fd57e1c3628) --- M src/codegen/rsdl/rsdlcodegen.py 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine-sdk refs/changes/51/30251/1 diff --git a/src/codegen/rsdl/rsdlcodegen.py b/src/codegen/rsdl/rsdlcodegen.py index a613e0e..2748fb5 100644 --- a/src/codegen/rsdl/rsdlcodegen.py +++ b/src/codegen/rsdl/rsdlcodegen.py @@ -471,6 +471,13 @@ sub_coll_type = root_res + sub_coll sub_res_type = StringUtils.toSingular(sub_coll_type, RsdlCodegen.COLLECTION_TO_ENTITY_EXCEPTIONS) + # Avoid situations where the name of the resource type is the same than + # the name of the sub collection. Currently this only happens with the + # collection /hosts/{host:id}/storage, which is using a singular name + # instead of a plural name. + if sub_coll_type == sub_res_type: + sub_coll_type += "s" + if (not collectionsHolder.has_key(sub_coll_type)): sub_coll_body = SubCollection.collection(sub_coll_type, root_res) -- To view, visit http://gerrit.ovirt.org/30251 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ia408b8e16234595b4454c2d252f5fec16414ca49 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine-sdk Gerrit-Branch: sdk_3.5 Gerrit-Owner: Juan Hernandez <juan.hernan...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches