繁体   English   中英

对象的属性未定义

[英]Object's properties undefined

玩弄汽车拍卖的示例网络。 我不确定为什么“ Offer”事务显示所有属性,但是为什么“ AmendOffer”事务显示以$开头的属性未定义,所以为什么?

有没有一种方法可以将事务从“ AmendOffer”转换为“ Offer”,我尝试制作“ AmendOffer”的副本,然后删除复制的属性“ oldTransactionID”,使其与“ Offer”事务相同。

abstract transaction OfferTrans {
  o Double bidPrice
  --> VehicleListing listing
  --> Member member
}

transaction Offer extends OfferTrans {
}

transaction AmendOffer extends OfferTrans {
  o String oldTransactionID
}

在此处输入图片说明

假设您具有TP功能以匹配您的交易并使用您的模型,在Composer Playground中,您将获得如下所示的交易(您建模)-在Historian中。

{
 "$class": "org.acme.vehicle.auction.Offer",
 "bidPrice": 10,
 "listing": "resource:org.acme.vehicle.auction.VehicleListing#L1",
 "member": "resource:org.acme.vehicle.auction.Member#1",
 "transactionId": "d133abab-cd96-4f15-ac06-ca7a065f2e84",
 "timestamp": "2018-06-04T10:38:17.042Z"
}

{
 "$class": "org.acme.vehicle.auction.AmendOffer",
 "oldTransactionID": "3333",  // whatever
 "bidPrice": 0,
 "listing": "resource:org.acme.vehicle.auction.VehicleListing#L1",
 "member": "resource:org.acme.vehicle.auction.Member#1",
 "transactionId": "3576a2f2-6264-4490-9b79-ef0d612ed07a",
 "timestamp": "2018-06-04T10:37:50.854Z"
}

如果您不想将“ oldTransactionId”存储为必填字段,则只需在模型文件中使其可选即可。

transaction AmendOffer extends OfferTrans {
  o String oldTransactionID optional
}

例如以下将作为AmendOffer交易

{
  "$class": "org.acme.vehicle.auction.AmendOffer",
  "bidPrice": 10,
  "listing": "resource:org.acme.vehicle.auction.VehicleListing#L1",
  "member": "resource:org.acme.vehicle.auction.Member#1"
}

如果您想更新该示例网络中的Offers[]数组(如今天一样),显然可以提供相应的交易代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM