Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools


This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
research:jtransformer:api:java:migration:removednamearguments [2014/01/07 11:56]
Günter Kniesel created
research:jtransformer:api:java:migration:removednamearguments [2018/05/09 01:59] (current)
Line 1: Line 1:
 +====== Renamed '​name'​ Arguments ======
 +=== Change in JT ===
 +Up to JTransformer 3.0 the PEFs for method and field/local variable access contained a '​name'​ argument: ​
 +  * [[..:​pefs:​3.0:​callT]]
 +  * [[..:​pefs:​3.0:​getFieldT]]
 +  * [[..:​pefs:​3.0:​identT]].
 +This argument was redundant, since the PEF of the accessed entity contains the name  anyway. Therefore the name argument was removed in each of these PEFs in JTransformer 4.0. Now we have 
 +  * [[..:​pefs:​4.0:​callT]]
 +  * [[..:​pefs:​4.0:​getFieldT]]
 +  * [[..:​pefs:​4.0:​identT]].
 +=== Adapt Your Queries ===
 +To maintain backward compatibility in queries, there is a forward in JTransformer 4.0 for each changed predicate. E.g.
 +<Code lang-prolog>​
 +   ​getFieldT(Id,​Parent,​Method,​ Name, AccessedObject,​ FieldName, AccessedField) :- 
 +      getFieldT(Id,​Parent,​Method,​ AccessedObject,​ AccessedField),​
 +      fieldT(AccessedField,​_,​_,​FieldName,​_).
 +Thus you do not need to change queries that use the name argument. ​
 +If the Name argument is not used simply delete it (or the anonymous variable in that position).
 +=== Adapt Your Transformations ===
 +The transformation part of CTs **must** be adapted by deleting the Name argument in add / delete / replace actions.
 +Otherwise, the execution of the CT will fail, complaining that an entity with that ID already exists.
research/jtransformer/api/java/migration/removednamearguments.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2019