Pre Merge pull request !545 from DoubleH/update-coverity工具扫描代码之后的优化

This commit is contained in:
DoubleH 2024-05-28 06:36:42 +00:00 committed by Gitee
commit 488626f819
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
28 changed files with 66 additions and 63 deletions

View File

@ -4,6 +4,7 @@ import cn.dev33.satoken.secure.BCrypt;
import cn.dev33.satoken.stp.SaLoginModel; import cn.dev33.satoken.stp.SaLoginModel;
import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -34,6 +35,8 @@ import org.dromara.web.service.IAuthStrategy;
import org.dromara.web.service.SysLoginService; import org.dromara.web.service.SysLoginService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Objects;
/** /**
* 密码认证策略 * 密码认证策略
* *
@ -95,7 +98,7 @@ public class PasswordAuthStrategy implements IAuthStrategy {
* @param uuid 唯一标识 * @param uuid 唯一标识
*/ */
private void validateCaptcha(String tenantId, String username, String code, String uuid) { private void validateCaptcha(String tenantId, String username, String code, String uuid) {
String verifyKey = GlobalConstants.CAPTCHA_CODE_KEY + StringUtils.defaultString(uuid, ""); String verifyKey = GlobalConstants.CAPTCHA_CODE_KEY + Objects.toString(uuid, StrUtil.EMPTY);
String captcha = RedisUtils.getCacheObject(verifyKey); String captcha = RedisUtils.getCacheObject(verifyKey);
RedisUtils.deleteObject(verifyKey); RedisUtils.deleteObject(verifyKey);
if (captcha == null) { if (captcha == null) {

View File

@ -21,8 +21,7 @@ public class Threads {
public static void sleep(long milliseconds) { public static void sleep(long milliseconds) {
try { try {
Thread.sleep(milliseconds); Thread.sleep(milliseconds);
} catch (InterruptedException e) { } catch (InterruptedException ignore) {
return;
} }
} }

View File

@ -21,6 +21,5 @@ public enum EncodeType {
/** /**
* 16进制编码 * 16进制编码
*/ */
HEX; HEX
} }

View File

@ -14,7 +14,6 @@ import java.sql.DatabaseMetaData;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* 数据库助手 * 数据库助手

View File

@ -2,6 +2,7 @@ package org.dromara.common.oss.core;
import cn.hutool.core.io.IoUtil; import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import lombok.Getter;
import org.dromara.common.core.constant.Constants; import org.dromara.common.core.constant.Constants;
import org.dromara.common.core.utils.DateUtils; import org.dromara.common.core.utils.DateUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
@ -46,7 +47,11 @@ public class OssClient {
/** /**
* 服务商 * 服务商
* -- GETTER --
* 服务商
*/ */
@Getter
private final String configKey; private final String configKey;
/** /**
@ -485,13 +490,6 @@ public class OssClient {
return path.replace(getUrl() + StringUtils.SLASH, ""); return path.replace(getUrl() + StringUtils.SLASH, "");
} }
/**
* 服务商
*/
public String getConfigKey() {
return configKey;
}
/** /**
* 获取是否使用 HTTPS 的配置并返回相应的协议头部 * 获取是否使用 HTTPS 的配置并返回相应的协议头部
* *

View File

@ -2,7 +2,6 @@ package org.dromara.common.satoken.core.dao;
import cn.dev33.satoken.dao.SaTokenDao; import cn.dev33.satoken.dao.SaTokenDao;
import cn.dev33.satoken.util.SaFoxUtil; import cn.dev33.satoken.util.SaFoxUtil;
import cn.hutool.core.lang.Console;
import com.github.benmanes.caffeine.cache.Cache; import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine; import com.github.benmanes.caffeine.cache.Caffeine;
import org.dromara.common.redis.utils.RedisUtils; import org.dromara.common.redis.utils.RedisUtils;
@ -99,8 +98,7 @@ public class PlusSaTokenDao implements SaTokenDao {
*/ */
@Override @Override
public Object getObject(String key) { public Object getObject(String key) {
Object o = CAFFEINE.get(key, k -> RedisUtils.getCacheObject(key)); return CAFFEINE.get(key, k -> RedisUtils.getCacheObject(key));
return o;
} }
/** /**

View File

@ -1,5 +1,6 @@
package org.dromara.common.web.core; package org.dromara.common.web.core;
import org.dromara.common.core.utils.StringUtils;
import org.springframework.web.servlet.LocaleResolver; import org.springframework.web.servlet.LocaleResolver;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
@ -17,9 +18,12 @@ public class I18nLocaleResolver implements LocaleResolver {
public Locale resolveLocale(HttpServletRequest httpServletRequest) { public Locale resolveLocale(HttpServletRequest httpServletRequest) {
String language = httpServletRequest.getHeader("content-language"); String language = httpServletRequest.getHeader("content-language");
Locale locale = Locale.getDefault(); Locale locale = Locale.getDefault();
if (language != null && language.length() > 0) { if (StringUtils.isNotBlank(language)) {
String[] split = language.split("_"); String[] split = language.split("_");
locale = new Locale(split[0], split[1]); locale = new Locale.Builder()
.setLanguage(split[0])
.setRegion(split[1])
.build();
} }
return locale; return locale;
} }

View File

@ -33,13 +33,13 @@ public class RedisLockController {
@Lock4j(keys = {"#key"}) @Lock4j(keys = {"#key"})
@GetMapping("/testLock4j") @GetMapping("/testLock4j")
public R<String> testLock4j(String key, String value) { public R<String> testLock4j(String key, String value) {
System.out.println("start:" + key + ",time:" + LocalTime.now().toString()); System.out.println("start:" + key + ",time:" + LocalTime.now());
try { try {
Thread.sleep(10000); Thread.sleep(10000);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} }
System.out.println("end :" + key + ",time:" + LocalTime.now().toString()); System.out.println("end :" + key + ",time:" + LocalTime.now());
return R.ok("操作成功", value); return R.ok("操作成功", value);
} }

View File

@ -49,7 +49,7 @@ public class BoundedQueueController {
for (int i = 0; i < 11; i++) { for (int i = 0; i < 11; i++) {
String data = "data-" + i; String data = "data-" + i;
boolean flag = QueueUtils.addBoundedQueueObject(queueName, data); boolean flag = QueueUtils.addBoundedQueueObject(queueName, data);
if (flag == false) { if (!flag) {
log.info("通道: {} , 发送数据: {} 失败, 通道已满", queueName, data); log.info("通道: {} , 发送数据: {} 失败, 通道已满", queueName, data);
} else { } else {
log.info("通道: {} , 发送数据: {}", queueName, data); log.info("通道: {} , 发送数据: {}", queueName, data);

View File

@ -15,6 +15,9 @@ import org.dromara.common.excel.annotation.ExcelEnumFormat;
import org.dromara.common.excel.convert.ExcelDictConvert; import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.common.excel.convert.ExcelEnumConvert; import org.dromara.common.excel.convert.ExcelEnumConvert;
import java.io.Serial;
import java.io.Serializable;
/** /**
* 带有下拉选的Excel导出 * 带有下拉选的Excel导出
* *
@ -24,8 +27,9 @@ import org.dromara.common.excel.convert.ExcelEnumConvert;
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class ExportDemoVo { public class ExportDemoVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

View File

@ -28,21 +28,21 @@ public class SysConfigBo extends BaseEntity {
* 参数名称 * 参数名称
*/ */
@NotBlank(message = "参数名称不能为空") @NotBlank(message = "参数名称不能为空")
@Size(min = 0, max = 100, message = "参数名称不能超过{max}个字符") @Size(max = 100, message = "参数名称不能超过{max}个字符")
private String configName; private String configName;
/** /**
* 参数键名 * 参数键名
*/ */
@NotBlank(message = "参数键名不能为空") @NotBlank(message = "参数键名不能为空")
@Size(min = 0, max = 100, message = "参数键名长度不能超过{max}个字符") @Size(max = 100, message = "参数键名长度不能超过{max}个字符")
private String configKey; private String configKey;
/** /**
* 参数键值 * 参数键值
*/ */
@NotBlank(message = "参数键值不能为空") @NotBlank(message = "参数键值不能为空")
@Size(min = 0, max = 500, message = "参数键值长度不能超过{max}个字符") @Size(max = 500, message = "参数键值长度不能超过{max}个字符")
private String configValue; private String configValue;
/** /**

View File

@ -35,13 +35,13 @@ public class SysDeptBo extends BaseEntity {
* 部门名称 * 部门名称
*/ */
@NotBlank(message = "部门名称不能为空") @NotBlank(message = "部门名称不能为空")
@Size(min = 0, max = 30, message = "部门名称长度不能超过{max}个字符") @Size(max = 30, message = "部门名称长度不能超过{max}个字符")
private String deptName; private String deptName;
/** /**
* 部门类别编码 * 部门类别编码
*/ */
@Size(min = 0, max = 100, message = "部门类别编码长度不能超过{max}个字符") @Size(max = 100, message = "部门类别编码长度不能超过{max}个字符")
private String deptCategory; private String deptCategory;
/** /**
@ -58,14 +58,14 @@ public class SysDeptBo extends BaseEntity {
/** /**
* 联系电话 * 联系电话
*/ */
@Size(min = 0, max = 11, message = "联系电话长度不能超过{max}个字符") @Size(max = 11, message = "联系电话长度不能超过{max}个字符")
private String phone; private String phone;
/** /**
* 邮箱 * 邮箱
*/ */
@Email(message = "邮箱格式不正确") @Email(message = "邮箱格式不正确")
@Size(min = 0, max = 50, message = "邮箱长度不能超过{max}个字符") @Size(max = 50, message = "邮箱长度不能超过{max}个字符")
private String email; private String email;
/** /**

View File

@ -34,27 +34,27 @@ public class SysDictDataBo extends BaseEntity {
* 字典标签 * 字典标签
*/ */
@NotBlank(message = "字典标签不能为空") @NotBlank(message = "字典标签不能为空")
@Size(min = 0, max = 100, message = "字典标签长度不能超过{max}个字符") @Size(max = 100, message = "字典标签长度不能超过{max}个字符")
private String dictLabel; private String dictLabel;
/** /**
* 字典键值 * 字典键值
*/ */
@NotBlank(message = "字典键值不能为空") @NotBlank(message = "字典键值不能为空")
@Size(min = 0, max = 100, message = "字典键值长度不能超过{max}个字符") @Size(max = 100, message = "字典键值长度不能超过{max}个字符")
private String dictValue; private String dictValue;
/** /**
* 字典类型 * 字典类型
*/ */
@NotBlank(message = "字典类型不能为空") @NotBlank(message = "字典类型不能为空")
@Size(min = 0, max = 100, message = "字典类型长度不能超过{max}个字符") @Size(max = 100, message = "字典类型长度不能超过{max}个字符")
private String dictType; private String dictType;
/** /**
* 样式属性其他样式扩展 * 样式属性其他样式扩展
*/ */
@Size(min = 0, max = 100, message = "样式属性长度不能超过{max}个字符") @Size(max = 100, message = "样式属性长度不能超过{max}个字符")
private String cssClass; private String cssClass;
/** /**

View File

@ -30,14 +30,14 @@ public class SysDictTypeBo extends BaseEntity {
* 字典名称 * 字典名称
*/ */
@NotBlank(message = "字典名称不能为空") @NotBlank(message = "字典名称不能为空")
@Size(min = 0, max = 100, message = "字典类型名称长度不能超过{max}个字符") @Size(max = 100, message = "字典类型名称长度不能超过{max}个字符")
private String dictName; private String dictName;
/** /**
* 字典类型 * 字典类型
*/ */
@NotBlank(message = "字典类型不能为空") @NotBlank(message = "字典类型不能为空")
@Size(min = 0, max = 100, message = "字典类型类型长度不能超过{max}个字符") @Size(max = 100, message = "字典类型类型长度不能超过{max}个字符")
@Pattern(regexp = RegexConstants.DICTIONARY_TYPE, message = "字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)") @Pattern(regexp = RegexConstants.DICTIONARY_TYPE, message = "字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)")
private String dictType; private String dictType;

View File

@ -37,7 +37,7 @@ public class SysMenuBo extends BaseEntity {
* 菜单名称 * 菜单名称
*/ */
@NotBlank(message = "菜单名称不能为空") @NotBlank(message = "菜单名称不能为空")
@Size(min = 0, max = 50, message = "菜单名称长度不能超过{max}个字符") @Size(max = 50, message = "菜单名称长度不能超过{max}个字符")
private String menuName; private String menuName;
/** /**
@ -49,13 +49,13 @@ public class SysMenuBo extends BaseEntity {
/** /**
* 路由地址 * 路由地址
*/ */
@Size(min = 0, max = 200, message = "路由地址不能超过{max}个字符") @Size(max = 200, message = "路由地址不能超过{max}个字符")
private String path; private String path;
/** /**
* 组件路径 * 组件路径
*/ */
@Size(min = 0, max = 200, message = "组件路径不能超过{max}个字符") @Size(max = 200, message = "组件路径不能超过{max}个字符")
private String component; private String component;
/** /**
@ -93,7 +93,7 @@ public class SysMenuBo extends BaseEntity {
* 权限标识 * 权限标识
*/ */
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
@Size(min = 0, max = 100, message = "权限标识长度不能超过{max}个字符") @Size(max = 100, message = "权限标识长度不能超过{max}个字符")
@Pattern(regexp = RegexConstants.PERMISSION_STRING, message = "权限标识必须符合 tool:build:list 格式") @Pattern(regexp = RegexConstants.PERMISSION_STRING, message = "权限标识必须符合 tool:build:list 格式")
private String perms; private String perms;

View File

@ -30,7 +30,7 @@ public class SysNoticeBo extends BaseEntity {
*/ */
@Xss(message = "公告标题不能包含脚本字符") @Xss(message = "公告标题不能包含脚本字符")
@NotBlank(message = "公告标题不能为空") @NotBlank(message = "公告标题不能为空")
@Size(min = 0, max = 50, message = "公告标题不能超过{max}个字符") @Size(max = 50, message = "公告标题不能超过{max}个字符")
private String noticeTitle; private String noticeTitle;
/** /**

View File

@ -40,20 +40,20 @@ public class SysPostBo extends BaseEntity {
* 岗位编码 * 岗位编码
*/ */
@NotBlank(message = "岗位编码不能为空") @NotBlank(message = "岗位编码不能为空")
@Size(min = 0, max = 64, message = "岗位编码长度不能超过{max}个字符") @Size(max = 64, message = "岗位编码长度不能超过{max}个字符")
private String postCode; private String postCode;
/** /**
* 岗位名称 * 岗位名称
*/ */
@NotBlank(message = "岗位名称不能为空") @NotBlank(message = "岗位名称不能为空")
@Size(min = 0, max = 50, message = "岗位名称长度不能超过{max}个字符") @Size(max = 50, message = "岗位名称长度不能超过{max}个字符")
private String postName; private String postName;
/** /**
* 岗位类别编码 * 岗位类别编码
*/ */
@Size(min = 0, max = 100, message = "类别编码长度不能超过{max}个字符") @Size(max = 100, message = "类别编码长度不能超过{max}个字符")
private String postCategory; private String postCategory;
/** /**

View File

@ -32,14 +32,14 @@ public class SysRoleBo extends BaseEntity {
* 角色名称 * 角色名称
*/ */
@NotBlank(message = "角色名称不能为空") @NotBlank(message = "角色名称不能为空")
@Size(min = 0, max = 30, message = "角色名称长度不能超过{max}个字符") @Size(max = 30, message = "角色名称长度不能超过{max}个字符")
private String roleName; private String roleName;
/** /**
* 角色权限字符串 * 角色权限字符串
*/ */
@NotBlank(message = "角色权限字符串不能为空") @NotBlank(message = "角色权限字符串不能为空")
@Size(min = 0, max = 100, message = "权限字符长度不能超过{max}个字符") @Size(max = 100, message = "权限字符长度不能超过{max}个字符")
private String roleKey; private String roleKey;
/** /**

View File

@ -39,7 +39,7 @@ public class SysUserBo extends BaseEntity {
*/ */
@Xss(message = "用户账号不能包含脚本字符") @Xss(message = "用户账号不能包含脚本字符")
@NotBlank(message = "用户账号不能为空") @NotBlank(message = "用户账号不能为空")
@Size(min = 0, max = 30, message = "用户账号长度不能超过{max}个字符") @Size(max = 30, message = "用户账号长度不能超过{max}个字符")
private String userName; private String userName;
/** /**
@ -47,7 +47,7 @@ public class SysUserBo extends BaseEntity {
*/ */
@Xss(message = "用户昵称不能包含脚本字符") @Xss(message = "用户昵称不能包含脚本字符")
@NotBlank(message = "用户昵称不能为空") @NotBlank(message = "用户昵称不能为空")
@Size(min = 0, max = 30, message = "用户昵称长度不能超过{max}个字符") @Size(max = 30, message = "用户昵称长度不能超过{max}个字符")
private String nickName; private String nickName;
/** /**
@ -59,7 +59,7 @@ public class SysUserBo extends BaseEntity {
* 用户邮箱 * 用户邮箱
*/ */
@Email(message = "邮箱格式不正确") @Email(message = "邮箱格式不正确")
@Size(min = 0, max = 50, message = "邮箱长度不能超过{max}个字符") @Size(max = 50, message = "邮箱长度不能超过{max}个字符")
private String email; private String email;
/** /**

View File

@ -27,7 +27,7 @@ public class SysUserProfileBo extends BaseEntity {
* 用户昵称 * 用户昵称
*/ */
@Xss(message = "用户昵称不能包含脚本字符") @Xss(message = "用户昵称不能包含脚本字符")
@Size(min = 0, max = 30, message = "用户昵称长度不能超过{max}个字符") @Size(max = 30, message = "用户昵称长度不能超过{max}个字符")
private String nickName; private String nickName;
/** /**
@ -35,7 +35,7 @@ public class SysUserProfileBo extends BaseEntity {
*/ */
@Sensitive(strategy = SensitiveStrategy.EMAIL) @Sensitive(strategy = SensitiveStrategy.EMAIL)
@Email(message = "邮箱格式不正确") @Email(message = "邮箱格式不正确")
@Size(min = 0, max = 50, message = "邮箱长度不能超过{max}个字符") @Size(max = 50, message = "邮箱长度不能超过{max}个字符")
private String email; private String email;
/** /**

View File

@ -1,6 +1,5 @@
package org.dromara.system.service; package org.dromara.system.service;
import org.dromara.system.domain.SysClient;
import org.dromara.system.domain.vo.SysClientVo; import org.dromara.system.domain.vo.SysClientVo;
import org.dromara.system.domain.bo.SysClientBo; import org.dromara.system.domain.bo.SysClientBo;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;

View File

@ -30,6 +30,7 @@ import org.springframework.stereotype.Service;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects;
/** /**
* 参数配置 服务层实现 * 参数配置 服务层实现
@ -147,7 +148,7 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService {
public String updateConfig(SysConfigBo bo) { public String updateConfig(SysConfigBo bo) {
int row = 0; int row = 0;
SysConfig config = MapstructUtils.convert(bo, SysConfig.class); SysConfig config = MapstructUtils.convert(bo, SysConfig.class);
if (config.getConfigId() != null) { if (Objects.nonNull(config) && Objects.nonNull(config.getConfigId())) {
SysConfig temp = baseMapper.selectById(config.getConfigId()); SysConfig temp = baseMapper.selectById(config.getConfigId());
if (!StringUtils.equals(temp.getConfigKey(), config.getConfigKey())) { if (!StringUtils.equals(temp.getConfigKey(), config.getConfigKey())) {
CacheUtils.evict(CacheNames.SYS_CONFIG, temp.getConfigKey()); CacheUtils.evict(CacheNames.SYS_CONFIG, temp.getConfigKey());

View File

@ -105,7 +105,7 @@ public class SysLogininforServiceImpl implements ISysLogininforService {
if (msg == null) { if (msg == null) {
msg = ""; msg = "";
} }
return "[" + msg.toString() + "]"; return "[" + msg + "]";
} }
@Override @Override

View File

@ -4,6 +4,7 @@ import cn.dev33.satoken.exception.NotLoginException;
import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -352,7 +353,7 @@ public class SysRoleServiceImpl implements ISysRoleService {
rm.setMenuId(menuId); rm.setMenuId(menuId);
list.add(rm); list.add(rm);
} }
if (list.size() > 0) { if (CollectionUtil.isNotEmpty(list)) {
rows = roleMenuMapper.insertBatch(list) ? list.size() : 0; rows = roleMenuMapper.insertBatch(list) ? list.size() : 0;
} }
return rows; return rows;
@ -373,7 +374,7 @@ public class SysRoleServiceImpl implements ISysRoleService {
rd.setDeptId(deptId); rd.setDeptId(deptId);
list.add(rd); list.add(rd);
} }
if (list.size() > 0) { if (CollectionUtil.isNotEmpty(list)) {
rows = roleDeptMapper.insertBatch(list) ? list.size() : 0; rows = roleDeptMapper.insertBatch(list) ? list.size() : 0;
} }
return rows; return rows;

View File

@ -13,10 +13,12 @@
package org.dromara.workflow.flowable; package org.dromara.workflow.flowable;
import cn.hutool.core.collection.CollectionUtil;
import org.flowable.bpmn.model.Event; import org.flowable.bpmn.model.Event;
import org.flowable.bpmn.model.Process; import org.flowable.bpmn.model.Process;
import org.flowable.bpmn.model.*; import org.flowable.bpmn.model.*;
import org.flowable.image.ProcessDiagramGenerator; import org.flowable.image.ProcessDiagramGenerator;
import org.springframework.util.CollectionUtils;
import java.awt.*; import java.awt.*;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
@ -69,9 +71,8 @@ public class CustomDefaultProcessDiagramGenerator implements ProcessDiagramGener
} }
} else { } else {
List<ExtensionElement> eventTypeElements = startEvent.getExtensionElements().get("eventType"); List<ExtensionElement> eventTypeElements = startEvent.getExtensionElements().get("eventType");
if (eventTypeElements != null && eventTypeElements.size() > 0) { if (CollectionUtil.isNotEmpty(eventTypeElements)) {
processDiagramCanvas.drawEventRegistryStartEvent(graphicInfo, scaleFactor); processDiagramCanvas.drawEventRegistryStartEvent(graphicInfo, scaleFactor);
} else { } else {
processDiagramCanvas.drawNoneStartEvent(graphicInfo); processDiagramCanvas.drawNoneStartEvent(graphicInfo);
} }
@ -350,7 +351,7 @@ public class CustomDefaultProcessDiagramGenerator implements ProcessDiagramGener
} else { } else {
List<ExtensionElement> eventTypeElements = boundaryEvent.getExtensionElements().get("eventType"); List<ExtensionElement> eventTypeElements = boundaryEvent.getExtensionElements().get("eventType");
if (eventTypeElements != null && eventTypeElements.size() > 0) { if (CollectionUtil.isNotEmpty(eventTypeElements)) {
processDiagramCanvas.drawCatchingEventRegistryEvent(flowNode.getName(), graphicInfo, boundaryEvent.isCancelActivity(), scaleFactor); processDiagramCanvas.drawCatchingEventRegistryEvent(flowNode.getName(), graphicInfo, boundaryEvent.isCancelActivity(), scaleFactor);
} }
} }
@ -634,7 +635,7 @@ public class CustomDefaultProcessDiagramGenerator implements ProcessDiagramGener
} }
} }
if (allGraphicInfos.size() > 0) { if (CollectionUtil.isNotEmpty(allGraphicInfos)) {
boolean needsTranslationX = false; boolean needsTranslationX = false;
boolean needsTranslationY = false; boolean needsTranslationY = false;
@ -752,7 +753,7 @@ public class CustomDefaultProcessDiagramGenerator implements ProcessDiagramGener
FlowElement sourceElement = bpmnModel.getFlowElement(sourceRef); FlowElement sourceElement = bpmnModel.getFlowElement(sourceRef);
FlowElement targetElement = bpmnModel.getFlowElement(targetRef); FlowElement targetElement = bpmnModel.getFlowElement(targetRef);
List<GraphicInfo> graphicInfoList = bpmnModel.getFlowLocationGraphicInfo(sequenceFlow.getId()); List<GraphicInfo> graphicInfoList = bpmnModel.getFlowLocationGraphicInfo(sequenceFlow.getId());
if (graphicInfoList != null && graphicInfoList.size() > 0) { if (CollectionUtil.isNotEmpty(graphicInfoList)) {
graphicInfoList = connectionPerfectionizer(processDiagramCanvas, bpmnModel, sourceElement, targetElement, graphicInfoList); graphicInfoList = connectionPerfectionizer(processDiagramCanvas, bpmnModel, sourceElement, targetElement, graphicInfoList);
int[] xPoints = new int[graphicInfoList.size()]; int[] xPoints = new int[graphicInfoList.size()];
int[] yPoints = new int[graphicInfoList.size()]; int[] yPoints = new int[graphicInfoList.size()];

View File

@ -8,7 +8,6 @@ import org.flowable.engine.impl.util.CommandContextUtil;
import org.flowable.job.service.JobHandler; import org.flowable.job.service.JobHandler;
import org.flowable.job.service.impl.persistence.entity.JobEntity; import org.flowable.job.service.impl.persistence.entity.JobEntity;
import org.flowable.task.api.Task; import org.flowable.task.api.Task;
import org.flowable.task.api.TaskQuery;
import org.flowable.variable.api.delegate.VariableScope; import org.flowable.variable.api.delegate.VariableScope;
/** /**

View File

@ -3,7 +3,6 @@ package org.dromara.workflow.listener;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.workflow.utils.QueryUtils; import org.dromara.workflow.utils.QueryUtils;
import org.flowable.engine.TaskService;
import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.DelegateExecution;
import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.delegate.ExecutionListener;
import org.flowable.task.api.Task; import org.flowable.task.api.Task;

View File

@ -2,7 +2,6 @@ package org.dromara.workflow.service;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.workflow.domain.TestLeave;
import org.dromara.workflow.domain.bo.TestLeaveBo; import org.dromara.workflow.domain.bo.TestLeaveBo;
import org.dromara.workflow.domain.vo.TestLeaveVo; import org.dromara.workflow.domain.vo.TestLeaveVo;