You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ariatosca.apache.org by "Maxim Orlov (JIRA)" <ji...@apache.org> on 2017/07/30 15:27:00 UTC

[jira] [Commented] (ARIA-333) Remove model instrumentation code

    [ https://issues.apache.org/jira/browse/ARIA-333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16106531#comment-16106531 ] 

Maxim Orlov commented on ARIA-333:
----------------------------------

please note that the instrumentation not only enables the unpacking of parameters via `.value`, but:
1. cascade wrapping of parameters. (e.g. `node.outbound_relationships[0].source_node.attributes` will still be instrumented)
2. propagation of changes. (i.e. updating of a subdict/sublist should be reflected in the model as well).

> Remove model instrumentation code
> ---------------------------------
>
>                 Key: ARIA-333
>                 URL: https://issues.apache.org/jira/browse/ARIA-333
>             Project: AriaTosca
>          Issue Type: Story
>            Reporter: Tal Liron
>
> Our model instrumentation code is some of the most complex part of our codebase. It is difficult to understand and maintain.
> Why do we have this complex mechanism? Because we want it to be easier to access values in parameters dicts without having to add {{.value}}.
> In the case of the ctx proxy, there is a much simpler solution. We could just check if the final value is a {{models.Parameter}}, and if so unpack the value from it.
> For uses of ctx within Python there indeed is no simple solution. However, in my opinion the solution we chose is far too complex, and the cons far outweigh the pros.
> In the end, it's really seems not too much to expect a Python programmer to add {{.value}} where necessary.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)