Unverified Commit 8b4eb20b authored by lgcareer's avatar lgcareer Committed by GitHub
Browse files

fix NPE when grant resource or save process definition (#2434)



Co-authored-by: default avatardailidong <dailidong66@gmail.com>
parent 347f05f0
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -173,9 +173,11 @@ public class ProcessDefinitionService extends BaseDAGService {
        for(TaskNode taskNode : tasks){
            String taskParameter = taskNode.getParams();
            AbstractParameters params = TaskParametersUtils.getParameters(taskNode.getType(),taskParameter);
            if (CollectionUtils.isNotEmpty(params.getResourceFilesList())) {
                Set<Integer> tempSet = params.getResourceFilesList().stream().map(t->t.getId()).collect(Collectors.toSet());
                resourceIds.addAll(tempSet);
            }
        }

        StringBuilder sb = new StringBuilder();
        for(int i : resourceIds) {
+14 −7
Original line number Diff line number Diff line
@@ -423,6 +423,7 @@ public class UsersService extends BaseService {
     * @param projectIds project id array
     * @return grant result code
     */
    @Transactional(rollbackFor = Exception.class)
    public Map<String, Object> grantProject(User loginUser, int userId, String projectIds) {
        Map<String, Object> result = new HashMap<>(5);
        result.put(Constants.STATUS, false);
@@ -472,6 +473,7 @@ public class UsersService extends BaseService {
     * @param resourceIds resource id array
     * @return grant result code
     */
    @Transactional(rollbackFor = Exception.class)
    public Map<String, Object> grantResources(User loginUser, int userId, String resourceIds) {
        Map<String, Object> result = new HashMap<>(5);
        //only admin can operate
@@ -484,9 +486,10 @@ public class UsersService extends BaseService {
            return result;
        }

        Set<Integer> needAuthorizeResIds = new HashSet();
        if (StringUtils.isNotBlank(resourceIds)) {
            String[] resourceFullIdArr = resourceIds.split(",");
            // need authorize resource id set
        Set<Integer> needAuthorizeResIds = new HashSet();
            for (String resourceFullId : resourceFullIdArr) {
                String[] resourceIdArr = resourceFullId.split("-");
                for (int i=0;i<=resourceIdArr.length-1;i++) {
@@ -494,6 +497,8 @@ public class UsersService extends BaseService {
                    needAuthorizeResIds.add(resourceIdValue);
                }
            }
        }


        //get the authorized resource id list by user id
        List<Resource> oldAuthorizedRes = resourceMapper.queryAuthorizedResourceList(userId);
@@ -565,6 +570,7 @@ public class UsersService extends BaseService {
     * @param udfIds udf id array
     * @return grant result code
     */
    @Transactional(rollbackFor = Exception.class)
    public Map<String, Object> grantUDFFunction(User loginUser, int userId, String udfIds) {
        Map<String, Object> result = new HashMap<>(5);

@@ -611,6 +617,7 @@ public class UsersService extends BaseService {
     * @param datasourceIds  data source id array
     * @return grant result code
     */
    @Transactional(rollbackFor = Exception.class)
    public Map<String, Object> grantDataSource(User loginUser, int userId, String datasourceIds) {
        Map<String, Object> result = new HashMap<>(5);
        result.put(Constants.STATUS, false);
+5 −5
Original line number Diff line number Diff line
@@ -167,7 +167,7 @@ CREATE PROCEDURE ac_dolphin_T_t_ds_process_instance_A_worker_group()
           AND TABLE_SCHEMA=(SELECT DATABASE())
           AND COLUMN_NAME ='worker_group')
   THEN
         ALTER TABLE t_ds_process_instance ADD `worker_group` varchar(255) DEFAULT '' COMMENT 'worker group';
         ALTER TABLE t_ds_process_instance ADD `worker_group` varchar(64) DEFAULT '' COMMENT 'worker group';
       END IF;
 END;

@@ -207,7 +207,7 @@ CREATE PROCEDURE ac_dolphin_T_t_ds_task_instance_A_worker_group()
           AND TABLE_SCHEMA=(SELECT DATABASE())
           AND COLUMN_NAME ='worker_group')
   THEN
         ALTER TABLE t_ds_task_instance ADD `worker_group` varchar(255) DEFAULT '' COMMENT 'worker group';
         ALTER TABLE t_ds_task_instance ADD `worker_group` varchar(64) DEFAULT '' COMMENT 'worker group';
       END IF;
 END;

@@ -247,7 +247,7 @@ CREATE PROCEDURE ac_dolphin_T_t_ds_schedules_A_worker_group()
           AND TABLE_SCHEMA=(SELECT DATABASE())
           AND COLUMN_NAME ='worker_group')
   THEN
         ALTER TABLE t_ds_schedules ADD `worker_group` varchar(255) DEFAULT '' COMMENT 'worker group';
         ALTER TABLE t_ds_schedules ADD `worker_group` varchar(64) DEFAULT '' COMMENT 'worker group';
       END IF;
 END;

@@ -287,7 +287,7 @@ CREATE PROCEDURE ac_dolphin_T_t_ds_command_A_worker_group()
           AND TABLE_SCHEMA=(SELECT DATABASE())
           AND COLUMN_NAME ='worker_group')
   THEN
         ALTER TABLE t_ds_command ADD `worker_group` varchar(255) DEFAULT '' COMMENT 'worker group';
         ALTER TABLE t_ds_command ADD `worker_group` varchar(64) DEFAULT '' COMMENT 'worker group';
       END IF;
 END;

@@ -327,7 +327,7 @@ CREATE PROCEDURE ac_dolphin_T_t_ds_error_command_A_worker_group()
           AND TABLE_SCHEMA=(SELECT DATABASE())
           AND COLUMN_NAME ='worker_group')
   THEN
         ALTER TABLE t_ds_error_command ADD `worker_group` varchar(255) DEFAULT '' COMMENT 'worker group';
         ALTER TABLE t_ds_error_command ADD `worker_group` varchar(64) DEFAULT '' COMMENT 'worker group';
       END IF;
 END;

+5 −5
Original line number Diff line number Diff line
@@ -164,7 +164,7 @@ BEGIN
          AND TABLE_NAME='t_ds_process_instance'
          AND COLUMN_NAME ='worker_group')
      THEN
         ALTER TABLE t_ds_process_instance ADD COLUMN worker_group varchar(255) DEFAULT null;
         ALTER TABLE t_ds_process_instance ADD COLUMN worker_group varchar(64) DEFAULT null;
       END IF;
END;
$$ LANGUAGE plpgsql;
@@ -207,7 +207,7 @@ BEGIN
          AND TABLE_NAME='t_ds_task_instance'
          AND COLUMN_NAME ='worker_group')
      THEN
         ALTER TABLE t_ds_task_instance ADD COLUMN worker_group varchar(255) DEFAULT null;
         ALTER TABLE t_ds_task_instance ADD COLUMN worker_group varchar(64) DEFAULT null;
       END IF;
END;
$$ LANGUAGE plpgsql;
@@ -249,7 +249,7 @@ BEGIN
          AND TABLE_NAME='t_ds_schedules'
          AND COLUMN_NAME ='worker_group')
      THEN
         ALTER TABLE t_ds_schedules ADD COLUMN worker_group varchar(255) DEFAULT null;
         ALTER TABLE t_ds_schedules ADD COLUMN worker_group varchar(64) DEFAULT null;
       END IF;
END;
$$ LANGUAGE plpgsql;
@@ -291,7 +291,7 @@ BEGIN
          AND TABLE_NAME='t_ds_command'
          AND COLUMN_NAME ='worker_group')
      THEN
         ALTER TABLE t_ds_command ADD COLUMN worker_group varchar(255) DEFAULT null;
         ALTER TABLE t_ds_command ADD COLUMN worker_group varchar(64) DEFAULT null;
       END IF;
END;
$$ LANGUAGE plpgsql;
@@ -333,7 +333,7 @@ BEGIN
          AND TABLE_NAME='t_ds_error_command'
          AND COLUMN_NAME ='worker_group')
      THEN
         ALTER TABLE t_ds_error_command ADD COLUMN worker_group varchar(255) DEFAULT null;
         ALTER TABLE t_ds_error_command ADD COLUMN worker_group varchar(64) DEFAULT null;
       END IF;
END;
$$ LANGUAGE plpgsql;