java 从分隔文件聚合组时出现“sailpoint.connector.ConnectorException:生成规则必须返回Map”错误

2skhul33  于 12个月前  发布在  Java
关注(0)|答案(1)|浏览(105)

我运行了下面的buildmap规则:

import sailpoint.object.Schema;
import sailpoint.connector.Connector;
import sailpoint.connector.DelimitedFileConnector;
// Importing the classes which allow us to create permissions
import sailpoint.object.Permission;

if ( schema.getObjectType().compareTo(Connector.TYPE_ACCOUNT) == 0) {
   HashMap map = DelimitedFileConnector.defaultBuildMap(cols, record);
   return map;
} else if ( schema.getObjectType().compareTo(Connector.TYPE_GROUP) == 0) {
   // Calling the Connector to retrieve account attributes as an Hash Map
   HashMap map = DelimitedFileConnector.defaultBuildMap(cols, record);
   String permission = (String)map.get("Permission Rights");
   
   // Here we are using our permission model... Such as: right, write, execute, update on target. 
   if ( permission != null && permission.contains("-")) {
      // We create an Arraylist bucket to populate all permission objects
      List perms = new ArrayList();
      String [] permissions = permission.split("-");
      for ( int i = 0; permissions.length > i; i ++ ) {
          String target = permissions[i].substring(0, permissions[i].indexOf(":"));
          String permission = permissions[i].substring(permissions[i].indexOf(":"));      
          if ( permission.equals(":YY") ) {
             // For each Permission we have to create a new object. Therefore the multiple new object declaration
             Permission perm = new Permission();
             perm.setRights("update");
             perm.setTarget(target);
             perms.add(perm);
             Permission perm = new Permission();
             perm.setRights("create");
             perm.setTarget(target);
             perms.add(perm);
          } else { 
             Permission perm = new Permission();
             perm.setRights("execute");
             perm.setTarget(target);
             perms.add(perm); 
          }
      }
     // We finished building our permissions and return the ArrayList object which represents a multi valued attribute of permissions
     map.put("directPermissions", perms);
   }
   return map;
}

字符串
但得到以下错误:
错误-聚合应用程序Pam应用程序上的对象类型Pam组时出现异常。原因:java.lang。RuntimeException:sailpoint.connector。ConnectorException:生成规则必须返回Map
x1c 0d1x的数据
有人可以帮助我在这里吗?请让我知道,如果有任何修改需要在上述代码

cgyqldqp

cgyqldqp1#

IdentityIQ buildmap规则总是期望返回map值,即使你在规则中没有做任何事情,如果条件失败,你的代码也不会返回任何map,这就是你错误的原因。

return new HashMap();

字符串

相关问题