首页 > 解决方案 > 从多个 POJOS 中使用 getter 和 setter 降低圈复杂度

问题描述

这个问题是针对 Spring java 的。我对一堆 If 语句有疑问:实际上我在服务层中有两个 pojo。

我从一个 pojo 那里得到了这个字段。如果此字段包含信息,我将通过特定的解密方法设置对另一个 pojom 的响应。

原始示例:

if (clReq.getIdCliente() != null && clReq.getIdCliente().trim().equals("")) {

entity.setFiId(Integer.valueOf(RijndaelCrypto.decrypt(clReq.getIdCliente(), IV, this.privateKey)));

} else {

throw new ClientesBOException("3-FALTA DATOS REQUERIDOS-ERROR");
}

示例2:我在外部方法中减少了主要条件:

if (validaCha(clReq.getIdCliente())) {
entity.setFiId(Integer.valueOf(RijndaelCrypto.decrypt(clReq.getIdCliente(), IV, this.privateKey)));         
}

外部方法:

public static final boolean validaCha(String val) throws ClientesBOException {  
    if(StringUtils.isBlank(val)) {
       throw new ClientesBOException("ERROR!, Mandatory data missing");    
    }     
    return true;     
  }

主要问题!!pojo 包含 30 个字段。我必须验证每个字段,因为解密。现在我有这 30 次,具有不同的属性。

     if (validaCha(clReq.getIdCliente())) {      
 entity.setFiId(Integer.valueOf(RijndaelCrypto.decrypt(clReq.getIdCliente(), IV, this.privateKey)));         
          }

我正在寻求帮助。我从实体 pojo 中阅读了关于在 set 方法中设置条件的内容。使用地图。使用模式。最后我找不到光

谢谢!!!!!!

标签: javaspringif-statementcyclomatic-complexity

解决方案


推荐阅读