TeleMidia / ginga

A Ginga iTV middleware implementation by TeleMídia/PUC-Rio
http://ginga.org.br
GNU General Public License v2.0
51 stars 8 forks source link

Use resolveParameter for params in <valueAssessment> #105

Closed alanlivio closed 6 years ago

alanlivio commented 6 years ago

This was reported by @andrelbd1 .

Today resolveParameter is called to resolve params only for set, selection, duration and delay (see lines below).

lib/Parser.cpp:2691: act.value = st->resolveParameter ( lib/Parser.cpp:2705: act.value = st->resolveParameter ( lib/Parser.cpp:2719: act.duration = st->resolveParameter ( lib/Parser.cpp:2722: act.delay = st->resolveParameter (role->delay, &bind->params,

The resolveParameter should also be called when a param is used in a valueAssessment (see code bellow which not work today). I think this issue should be implemented in pushAttributeAssessment function.

<causalConnector id="onBeginVarStart">
  <compoundCondition operator="and">
   <connectorParam name="cmpVar">
    <simpleCondition role="onBegin"/>
    <assessmentStatement comparator="eq">
      <attributeAssessment role="var" />
      <valueAssessment value="$cmpVar"/>
    </assessmentStatement>
  </compoundCondition>
  <simpleAction role="start"/>
</causalConnector>
alanlivio commented 6 years ago

@andrelbd1 I thinks this Link problem is not related to this issue about resolveParameter for params in valueAssessment. May be it can be related to #94.

robertogerson commented 6 years ago

Any news about this issue? Can we close it?

andrelbd1 commented 6 years ago

I'm still working that. Parser is the reason of this problem.

alanlivio commented 6 years ago

This issue is on the release because @andrelbd1 reported that it is required by the "jogo da velha" application.

andrelbd1 commented 6 years ago

Finally done!