流口水未终止的收集元素错误

发布于 2025-02-12 10:34:36 字数 4404 浏览 2 评论 0原文

我有从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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文