Prevent user component terminal and property naming conflicts and discrepancies
|Assignee:||Tuukka Lehtonen||% Done:|
|Category:||Model browser||Spent time:||3.00 hours|
|Release notes:||Prevent giving user component interface properties same names as are already given to UC terminals. Also always modify all terminal and symbol terminal names when one of them is modified to keep them in sync. Previously symbol terminals could be renamed separately due to a regression. This could cause UC version migration to malfunction.|
|Velocity based estimate||-|
|Release||Simantics 1.18.1||Release relationship||Auto|
There are currently two problems with renaming user component properties in the component type editor and renaming UC/Symbol terminals in model browser.
- The component type editor does not check whether the names given to properties collide with the names given to UC terminals. It should prevent overlapping names for all properties and connection points.
- Renaming populated symbol terminals in the model browser does not rename the UC terminal as it should. Symbol terminals must always have the same name as the UC terminals that user populates to symbols. If the names are not equal, UC migration will not work properly.
Renaming fixes for user component terminals and properties.
- Added modifier rule into ModelingViewpoint.pgraph for STR.ConnectionRelation instances to fix renaming of symbol connection points which previously didn't use the correct logic and allowed users to rename symbol terminals to different names than the corresponding configuration terminal. This breaks migration and is therefore very much disallowed.
- Added validation to ComponentTypeViewer property name editing that disallows the user from giving a name to a property that matches an existing connection point's name.
Merged trunk@31079 to branches/simantics-1.18 on 2015-03-15 for 1.18.1 release.
#2 Updated by Tuukka Lehtonen about 2 years ago
- Status changed from In Progress to Resolved
- % Done changed from 0 to 100
- Release notes set to Prevent giving user component interface properties same names as are already given to UC terminals. Also always modify all terminal and symbol terminal names when one of them is modified to keep them in sync. Previously symbol terminals could be renamed separately due to a regression. This could cause UC version migration to malfunction.