我有一组表示实体 Hrrr 类型的概念。
示例概念:
Loop
有孩子loopCount: IntegerProperty[1]
HttpRequest
的孩子url: StringProperty[1]
,hostName: StringProperty[1]
这两个概念都扩展AbstractTestElement
了概念(它定义了名称、评论等常见属性)。
我想要Loop
并HttpRequest
生成 baseLanguage 如下:
环形:
Loop e = new Loop();
e.setProperty(new IntegerProperty("loopCount", node.loopCount));
请求:
HttpRequest e = new HttpRequest();
e.setProperty(new StringProperty("url", node.url));
e.setProperty(new IntegerProperty("host", node.hostName));
我想要的是有一些通用的生成器模板来涵盖这个通用逻辑,setProperty
因此不会针对不同类型的测试元素重复它。好吧,有些属性需要特定于测试元素的处理,但是通常存在一对一转换属性的情况,因此
问题是:如何将元数据附加到 Loop/HttpRequest 概念配置?MPS 惯用的做法是什么?
1) 虽然我可以使用“属性名称”作为放入 中的名称new XXXProperty
,但理想情况下我会使用HttpRequest.HOST_PROPERTY_NAME
某种引用,因此“属性名称”是不够的。
2)我可能会发明注释并注释我的概念的属性,看起来 MPS 本身并没有使用这种方法。
3)(ab)使用概念的行为返回<quotation new StringProperty("url", node.url) >
看起来更尴尬。