流口水未终止的收集元素错误
我有从if语句到else语句的语句时:
rule "rule"
ruleflow-group "ruleFlow"
when
$block : Block()
$inst : BlockInstitution(blockInstitutionCategory!=null) from $block.getInstitution()
$categorycode : InstitutionCategory(Constants.INSTITUTION_CATEGORY_CODE.equals(institutionCategoryCode)) from $inst.getInstitutionCategory()
$list : BlockInstitution(Constants.validNonList not contains dealCode) from $block.getInstitution()
then
Service $service = new Service();
try {
JsonObject enquiry =
$service.execute($block.getTransaction().getNumber()).get();
if (enquiry.isEmpty()) {
$block.getBusinessValidationResult().add(ValidationResult.NOT_FOUND);
$block.getMsg().setStatusText(Constants.NOT_FOUND);
}
else {
String numberFromService = statusEnquiry.getString(Constants.NUMBER);
String cardExpiryFromService =
enquiry.getString(Constants.EXPIRY_DATE);
String paymentRequestorIdentifier =
enquiry.getString(Constants.IDENTIFIER);
String paymentExpiryDate = enquiry.getString(Constants.EXPIRY_DATE);
String statusText = enquiry.getString(Constants.STATUS_TEXT);
String providerIdentifier =
enquiry.getString(Constants.PROVIDER_IDENTIFIER);
if (Objects.nonNull(paymentExpiryDate)) {
paymentExpiryDate =
EncryptionUtilFactory.getInstance().decryptData(paymentExpiryDate);
if (paymentExpiryDate.length() == 4) {
paymentExpiryDate =
paymentExpiryDate.substring(2, 4) + paymentExpiryDate.substring(0, 2);
}
paymentExpiryDate =
EncryptionUtilFactory.getInstance().encryptData(paymentExpiryDate);
}
if (Objects.nonNull(cardExpiryFromService)) {
cardExpiryFromService =
EncryptionUtilFactory.getInstance().decryptData(cardExpiryFromService);
if (cardExpiryFromService.length() == 4) {
cardExpiryFromService =
cardExpiryFromService.substring(2, 4) + cardExpiryFromService.substring(0, 2);
}
cardExpiryFromService =
EncryptionUtilFactory.getInstance().encryptData(cardExpiryFromService);
}
$block.getTransaction().setServiceNumber(numberFromService);
$block.getTransaction().setServiceAccountExpirationDate(cardExpiryFromService);
$block.getTransaction().setPaymentExpiryDate(paymentExpiryDate);
$block
.getTransaction()
.setFlag(Constants.ID_SET.contains(providerIdentifier));
$block.getTransaction().setProviderIdentifier(providerIdentifier);
String text = $block.getTransaction().getPrimaryAccountNumber();
$block.getTransaction().setText(text);
$block.getTransaction().setStatusText(statusText);
$block
.getTransaction()
.setPaymentRequestorIdentifier(paymentRequestorIdentifier);
if (!Constants.STATUS.equals(statusText)) {
switch (statusText) {
case Constants.INACTIVE_STATUS:
$block.getBusinessValidationResult().add(ValidationResult.INACTIVE);
break;
case Constants.CANCELLED_STATUS:
$block.getBusinessValidationResult().add(ValidationResult.CANCELLED);
break;
case Constants.SUSPENDED_STATUS:
$block.getBusinessValidationResult().add(ValidationResult.SUSPENDED);
break;
default:
break;
}
}
}
} catch (Exception ex) {
$block.getBusinessValidationResult().add(ValidationResult.CALL_FAILED);
$block.getTransaction().setStatusText(Constants.NOT_FOUND);
}
end
错误:
[Error: unterminated collection element]
[Near : {... _FOUND); } else { String numberFr ....}]
由于代码从if块到其他块,因此会给我一个错误:“未终止的集合元素”。
您看到的任何指示出了什么问题的东西。我在互联网上找不到讨论此错误的任何内容。我发现了“未终止的字符串元素”,但没有收集元素。
I have when statement that goes from an if statement to the else statement:
rule "rule"
ruleflow-group "ruleFlow"
when
$block : Block()
$inst : BlockInstitution(blockInstitutionCategory!=null) from $block.getInstitution()
$categorycode : InstitutionCategory(Constants.INSTITUTION_CATEGORY_CODE.equals(institutionCategoryCode)) from $inst.getInstitutionCategory()
$list : BlockInstitution(Constants.validNonList not contains dealCode) from $block.getInstitution()
then
Service $service = new Service();
try {
JsonObject enquiry =
$service.execute($block.getTransaction().getNumber()).get();
if (enquiry.isEmpty()) {
$block.getBusinessValidationResult().add(ValidationResult.NOT_FOUND);
$block.getMsg().setStatusText(Constants.NOT_FOUND);
}
else {
String numberFromService = statusEnquiry.getString(Constants.NUMBER);
String cardExpiryFromService =
enquiry.getString(Constants.EXPIRY_DATE);
String paymentRequestorIdentifier =
enquiry.getString(Constants.IDENTIFIER);
String paymentExpiryDate = enquiry.getString(Constants.EXPIRY_DATE);
String statusText = enquiry.getString(Constants.STATUS_TEXT);
String providerIdentifier =
enquiry.getString(Constants.PROVIDER_IDENTIFIER);
if (Objects.nonNull(paymentExpiryDate)) {
paymentExpiryDate =
EncryptionUtilFactory.getInstance().decryptData(paymentExpiryDate);
if (paymentExpiryDate.length() == 4) {
paymentExpiryDate =
paymentExpiryDate.substring(2, 4) + paymentExpiryDate.substring(0, 2);
}
paymentExpiryDate =
EncryptionUtilFactory.getInstance().encryptData(paymentExpiryDate);
}
if (Objects.nonNull(cardExpiryFromService)) {
cardExpiryFromService =
EncryptionUtilFactory.getInstance().decryptData(cardExpiryFromService);
if (cardExpiryFromService.length() == 4) {
cardExpiryFromService =
cardExpiryFromService.substring(2, 4) + cardExpiryFromService.substring(0, 2);
}
cardExpiryFromService =
EncryptionUtilFactory.getInstance().encryptData(cardExpiryFromService);
}
$block.getTransaction().setServiceNumber(numberFromService);
$block.getTransaction().setServiceAccountExpirationDate(cardExpiryFromService);
$block.getTransaction().setPaymentExpiryDate(paymentExpiryDate);
$block
.getTransaction()
.setFlag(Constants.ID_SET.contains(providerIdentifier));
$block.getTransaction().setProviderIdentifier(providerIdentifier);
String text = $block.getTransaction().getPrimaryAccountNumber();
$block.getTransaction().setText(text);
$block.getTransaction().setStatusText(statusText);
$block
.getTransaction()
.setPaymentRequestorIdentifier(paymentRequestorIdentifier);
if (!Constants.STATUS.equals(statusText)) {
switch (statusText) {
case Constants.INACTIVE_STATUS:
$block.getBusinessValidationResult().add(ValidationResult.INACTIVE);
break;
case Constants.CANCELLED_STATUS:
$block.getBusinessValidationResult().add(ValidationResult.CANCELLED);
break;
case Constants.SUSPENDED_STATUS:
$block.getBusinessValidationResult().add(ValidationResult.SUSPENDED);
break;
default:
break;
}
}
}
} catch (Exception ex) {
$block.getBusinessValidationResult().add(ValidationResult.CALL_FAILED);
$block.getTransaction().setStatusText(Constants.NOT_FOUND);
}
end
ERROR:
[Error: unterminated collection element]
[Near : {... _FOUND); } else { String numberFr ....}]
As the code goes from the if block to the else block it gives me an error: "Unterminated Collection Element".
Is there anything you see that indicates what's wrong. I can't find anything on the Internet that discusses this error. I've found "Unterminated String Element", but nothing on collection elements.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论