You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by ki...@apache.org on 2021/09/11 03:29:25 UTC
[dolphinscheduler] branch dev updated: Clean up third-party files
that are not mentioned in LICENSE (#6165)
This is an automated email from the ASF dual-hosted git repository.
kirs pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new ea2a9db Clean up third-party files that are not mentioned in LICENSE (#6165)
ea2a9db is described below
commit ea2a9dbcb2ca3f4be2da6a4f300e988640e72219
Author: kezhenxu94 <ke...@apache.org>
AuthorDate: Sat Sep 11 11:27:42 2021 +0800
Clean up third-party files that are not mentioned in LICENSE (#6165)
---
.../ServiceModelToSwagger2MapperImpl.java | 37 ++-
.../api/controller/BaseController.java | 5 +-
.../api/controller/LoginController.java | 2 +-
.../controller/ProcessDefinitionController.java | 5 +-
.../api/controller/ProcessInstanceController.java | 5 +-
.../api/controller/ResourcesController.java | 3 +-
.../api/interceptor/LoginHandlerInterceptor.java | 89 +++---
.../api/interceptor/RateLimitInterceptor.java | 4 +-
.../api/security/SecurityConfig.java | 3 +-
.../api/service/impl/AlertGroupServiceImpl.java | 8 +-
.../impl/AlertPluginInstanceServiceImpl.java | 5 +-
.../api/service/impl/BaseServiceImpl.java | 7 +-
.../api/service/impl/DataAnalysisServiceImpl.java | 5 +-
.../api/service/impl/DataSourceServiceImpl.java | 3 +-
.../api/service/impl/EnvironmentServiceImpl.java | 14 +-
.../api/service/impl/ExecutorServiceImpl.java | 8 +-
.../api/service/impl/LoggerServiceImpl.java | 3 +-
.../service/impl/ProcessDefinitionServiceImpl.java | 3 +-
.../service/impl/ProcessInstanceServiceImpl.java | 5 +-
.../api/service/impl/QueueServiceImpl.java | 10 +-
.../api/service/impl/ResourcesServiceImpl.java | 5 +-
.../api/service/impl/SchedulerServiceImpl.java | 5 +-
.../api/service/impl/SessionServiceImpl.java | 3 +-
.../service/impl/TaskDefinitionServiceImpl.java | 3 +-
.../api/service/impl/TenantServiceImpl.java | 8 +-
.../api/service/impl/UdfFuncServiceImpl.java | 11 +-
.../api/service/impl/UsersServiceImpl.java | 3 +-
.../service/impl/WorkFlowLineageServiceImpl.java | 3 +-
.../api/service/impl/WorkerGroupServiceImpl.java | 5 +-
.../dolphinscheduler/api/utils/CheckUtils.java | 23 +-
.../api/utils/RegistryCenterUtils.java | 34 ---
.../dolphinscheduler/api/utils/ZooKeeperState.java | 226 ---------------
.../api/controller/AbstractControllerTest.java | 5 +-
.../api/service/ProcessDefinitionServiceTest.java | 3 +-
.../api/service/SessionServiceTest.java | 7 +-
.../dolphinscheduler/api/utils/FileUtilsTest.java | 4 +-
.../apache/dolphinscheduler/common/Constants.java | 7 +-
.../clickhouse/ClickHouseDatasourceProcessor.java | 4 +-
.../datasource/db2/Db2DatasourceProcessor.java | 4 +-
.../datasource/hive/HiveDatasourceProcessor.java | 2 +-
.../datasource/mysql/MysqlDatasourceProcessor.java | 4 +-
.../oracle/OracleDatasourceProcessor.java | 4 +-
.../postgresql/PostgreSqlDatasourceProcessor.java | 4 +-
.../presto/PrestoDatasourceProcessor.java | 4 +-
.../datasource/spark/SparkDatasourceProcessor.java | 4 +-
.../sqlserver/SqlServerDatasourceProcessor.java | 4 +-
.../dolphinscheduler/common/model/TaskNode.java | 7 +-
.../common/task/AbstractParameters.java | 5 +-
.../common/task/datax/DataxParameters.java | 9 +-
.../common/task/http/HttpParameters.java | 5 +-
.../common/task/procedure/ProcedureParameters.java | 118 ++++----
.../common/task/sql/SqlParameters.java | 5 +-
.../common/task/sqoop/SqoopParameters.java | 25 +-
.../common/utils/BooleanUtils.java | 33 ---
.../common/utils/CollectionUtils.java | 1 +
.../dolphinscheduler/common/utils/CommonUtils.java | 1 +
.../dolphinscheduler/common/utils/DateUtils.java | 99 +------
.../common/utils/EncryptionUtils.java | 1 +
.../dolphinscheduler/common/utils/FileUtils.java | 185 +-----------
.../dolphinscheduler/common/utils/HadoopUtils.java | 1 +
.../dolphinscheduler/common/utils/JSONUtils.java | 2 +
.../dolphinscheduler/common/utils/OSUtils.java | 6 +-
.../common/utils/ParameterUtils.java | 6 +-
.../dolphinscheduler/common/utils/ResInfo.java | 4 +-
.../dolphinscheduler/common/utils/SchemaUtils.java | 2 +
.../common/utils/ScriptRunner.java | 316 +++++++--------------
.../common/utils/SensitiveLogUtils.java | 4 +-
.../dolphinscheduler/common/utils/StringUtils.java | 226 ---------------
.../utils/placeholder/TimePlaceholderUtils.java | 3 +-
.../common/utils/DateUtilsTest.java | 26 --
.../common/utils/ScriptRunnerTest.java | 39 +--
.../common/utils/StringUtilsTest.java | 96 -------
.../org/apache/dolphinscheduler/dao/AlertDao.java | 3 +-
.../dolphinscheduler/dao/entity/UdfFunc.java | 9 +-
.../dolphinscheduler/dao/upgrade/UpgradeDao.java | 7 +-
.../dao/mapper/QueueMapperTest.java | 7 +-
.../server/log/SensitiveDataConverter.java | 5 +-
.../master/consumer/TaskPriorityQueueConsumer.java | 5 +-
.../server/master/dispatch/ExecutorDispatcher.java | 3 +-
.../master/dispatch/host/CommonHostManager.java | 5 +-
.../master/registry/MasterRegistryClient.java | 5 +-
.../server/master/registry/ServerNodeManager.java | 2 +-
.../server/master/runner/EventExecuteService.java | 3 +-
.../master/runner/WorkflowExecuteThread.java | 69 +----
.../master/runner/task/CommonTaskProcessor.java | 3 +-
.../master/runner/task/SwitchTaskProcessor.java | 3 +-
.../server/monitor/AbstractMonitor.java | 4 +-
.../dolphinscheduler/server/monitor/RunConfig.java | 6 +-
.../server/utils/ProcessUtils.java | 300 ++-----------------
.../server/worker/processor/TaskKillProcessor.java | 7 +-
.../worker/registry/WorkerRegistryClient.java | 3 +-
.../server/worker/runner/TaskExecuteThread.java | 2 +-
.../server/log/LoggerServerTest.java | 14 +-
.../dispatch/host/RoundRobinHostManagerTest.java | 5 +-
.../server/utils/ProcessUtilsTest.java | 48 ----
.../service/process/ProcessService.java | 5 +-
.../service/quartz/QuartzExecutors.java | 2 +-
.../service/registry/RegistryCenter.java | 3 +-
.../service/registry/RegistryClient.java | 3 +-
.../plugin/task/api/AbstractCommandExecutor.java | 58 ++--
.../plugin/task/api/ProcessUtils.java | 240 +---------------
.../plugin/task/api/ShellCommandExecutor.java | 10 -
.../plugin/task/datasource/DatasourceUtil.java | 27 --
.../plugin/task/util/ThreadUtils.java | 257 -----------------
.../plugin/task/python/PythonCommandExecutor.java | 26 --
style/checkstyle.xml | 1 -
106 files changed, 534 insertions(+), 2454 deletions(-)
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/configuration/ServiceModelToSwagger2MapperImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/configuration/ServiceModelToSwagger2MapperImpl.java
index d10cd78..b7baa4e 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/configuration/ServiceModelToSwagger2MapperImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/configuration/ServiceModelToSwagger2MapperImpl.java
@@ -16,25 +16,44 @@
*/
package org.apache.dolphinscheduler.api.configuration;
-import com.google.common.collect.Multimap;
-import io.swagger.models.*;
-import io.swagger.models.parameters.Parameter;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
+import static com.google.common.collect.Maps.newTreeMap;
+
+import org.apache.commons.lang.StringUtils;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Primary;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Component;
+
+import com.google.common.collect.Multimap;
+
+import io.swagger.models.Contact;
+import io.swagger.models.Info;
+import io.swagger.models.Model;
+import io.swagger.models.Scheme;
+import io.swagger.models.Swagger;
+import io.swagger.models.Tag;
+import io.swagger.models.parameters.Parameter;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.ApiListing;
import springfox.documentation.service.Documentation;
import springfox.documentation.service.ResourceListing;
-import springfox.documentation.swagger2.mappers.*;
-
-import java.util.*;
-
-import static com.google.common.collect.Maps.newTreeMap;
+import springfox.documentation.swagger2.mappers.LicenseMapper;
+import springfox.documentation.swagger2.mappers.ModelMapper;
+import springfox.documentation.swagger2.mappers.ParameterMapper;
+import springfox.documentation.swagger2.mappers.SecurityMapper;
+import springfox.documentation.swagger2.mappers.ServiceModelToSwagger2Mapper;
+import springfox.documentation.swagger2.mappers.VendorExtensionsMapper;
/**
* application configuration
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/BaseController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/BaseController.java
index 1dec863..94c2240 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/BaseController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/BaseController.java
@@ -25,7 +25,8 @@ import static org.apache.dolphinscheduler.common.Constants.HTTP_X_REAL_IP;
import org.apache.dolphinscheduler.api.enums.Status;
import org.apache.dolphinscheduler.api.utils.Result;
import org.apache.dolphinscheduler.common.Constants;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
+
+import org.apache.commons.lang.StringUtils;
import java.text.MessageFormat;
import java.util.HashMap;
@@ -253,4 +254,4 @@ public class BaseController {
result.setData(list);
return result;
}
-}
\ No newline at end of file
+}
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/LoginController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/LoginController.java
index 1527408..df76ca3 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/LoginController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/LoginController.java
@@ -28,10 +28,10 @@ import org.apache.dolphinscheduler.api.security.Authenticator;
import org.apache.dolphinscheduler.api.service.SessionService;
import org.apache.dolphinscheduler.api.utils.Result;
import org.apache.dolphinscheduler.common.Constants;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.commons.httpclient.HttpStatus;
+import org.apache.commons.lang.StringUtils;
import java.util.Map;
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionController.java
index 08c0945..9200e8a 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionController.java
@@ -43,10 +43,11 @@ import org.apache.dolphinscheduler.api.utils.Result;
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.enums.ReleaseState;
import org.apache.dolphinscheduler.common.utils.ParameterUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.ProcessDefinition;
import org.apache.dolphinscheduler.dao.entity.User;
+import org.apache.commons.lang.StringUtils;
+
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -588,7 +589,7 @@ public class ProcessDefinitionController extends BaseController {
@RequestParam("codes") String codes) {
Map<String, Object> result = new HashMap<>();
List<String> deleteFailedCodeList = new ArrayList<>();
- if (StringUtils.isNotEmpty(codes)) {
+ if (!StringUtils.isEmpty(codes)) {
String[] processDefinitionCodeArray = codes.split(",");
for (String strProcessDefinitionCode : processDefinitionCodeArray) {
long code = Long.parseLong(strProcessDefinitionCode);
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessInstanceController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessInstanceController.java
index 4b91d41..d7ec405 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessInstanceController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessInstanceController.java
@@ -37,10 +37,11 @@ import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.enums.ExecutionStatus;
import org.apache.dolphinscheduler.common.enums.Flag;
import org.apache.dolphinscheduler.common.utils.ParameterUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.ProcessInstance;
import org.apache.dolphinscheduler.dao.entity.User;
+import org.apache.commons.lang.StringUtils;
+
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
@@ -395,7 +396,7 @@ public class ProcessInstanceController extends BaseController {
// task queue
Map<String, Object> result = new HashMap<>();
List<String> deleteFailedIdList = new ArrayList<>();
- if (StringUtils.isNotEmpty(processInstanceIds)) {
+ if (!StringUtils.isEmpty(processInstanceIds)) {
String[] processInstanceIdArray = processInstanceIds.split(",");
for (String strProcessInstanceId : processInstanceIdArray) {
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ResourcesController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ResourcesController.java
index d5fa60f..d8fc7c2 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ResourcesController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ResourcesController.java
@@ -52,9 +52,10 @@ import org.apache.dolphinscheduler.common.enums.ProgramType;
import org.apache.dolphinscheduler.common.enums.ResourceType;
import org.apache.dolphinscheduler.common.enums.UdfType;
import org.apache.dolphinscheduler.common.utils.ParameterUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.User;
+import org.apache.commons.lang.StringUtils;
+
import java.util.Map;
import org.slf4j.Logger;
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/interceptor/LoginHandlerInterceptor.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/interceptor/LoginHandlerInterceptor.java
index e727d79..ec56db3 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/interceptor/LoginHandlerInterceptor.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/interceptor/LoginHandlerInterceptor.java
@@ -21,11 +21,11 @@ import org.apache.dolphinscheduler.api.enums.Status;
import org.apache.dolphinscheduler.api.security.Authenticator;
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.enums.Flag;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.dao.mapper.UserMapper;
import org.apache.commons.httpclient.HttpStatus;
+import org.apache.commons.lang.StringUtils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -36,56 +36,57 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.HandlerInterceptor;
/**
- * login interceptor, must login first
+ * login interceptor, must log in first
*/
public class LoginHandlerInterceptor implements HandlerInterceptor {
- private static final Logger logger = LoggerFactory.getLogger(LoginHandlerInterceptor.class);
+ private static final Logger logger = LoggerFactory.getLogger(LoginHandlerInterceptor.class);
- @Autowired
- private UserMapper userMapper;
+ @Autowired
+ private UserMapper userMapper;
- @Autowired
- private Authenticator authenticator;
+ @Autowired
+ private Authenticator authenticator;
- /**
- * Intercept the execution of a handler. Called after HandlerMapping determined
- * @param request current HTTP request
- * @param response current HTTP response
- * @param handler chosen handler to execute, for type and/or instance evaluation
- * @return boolean true or false
- */
- @Override
- public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
+ /**
+ * Intercept the execution of a handler. Called after HandlerMapping determined
+ *
+ * @param request current HTTP request
+ * @param response current HTTP response
+ * @param handler chosen handler to execute, for type and/or instance evaluation
+ * @return boolean true or false
+ */
+ @Override
+ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
- // get token
- String token = request.getHeader("token");
- User user = null;
- if (StringUtils.isEmpty(token)){
- user = authenticator.getAuthUser(request);
- // if user is null
- if (user == null) {
- response.setStatus(HttpStatus.SC_UNAUTHORIZED);
- logger.info("user does not exist");
- return false;
- }
- }else {
- user = userMapper.queryUserByToken(token);
- if (user == null) {
- response.setStatus(HttpStatus.SC_UNAUTHORIZED);
- logger.info("user token has expired");
- return false;
- }
- }
+ // get token
+ String token = request.getHeader("token");
+ User user;
+ if (StringUtils.isEmpty(token)) {
+ user = authenticator.getAuthUser(request);
+ // if user is null
+ if (user == null) {
+ response.setStatus(HttpStatus.SC_UNAUTHORIZED);
+ logger.info("user does not exist");
+ return false;
+ }
+ } else {
+ user = userMapper.queryUserByToken(token);
+ if (user == null) {
+ response.setStatus(HttpStatus.SC_UNAUTHORIZED);
+ logger.info("user token has expired");
+ return false;
+ }
+ }
- // check user state
- if (user.getState() == Flag.NO.ordinal()) {
- response.setStatus(HttpStatus.SC_UNAUTHORIZED);
- logger.info(Status.USER_DISABLED.getMsg());
- return false;
- }
+ // check user state
+ if (user.getState() == Flag.NO.ordinal()) {
+ response.setStatus(HttpStatus.SC_UNAUTHORIZED);
+ logger.info(Status.USER_DISABLED.getMsg());
+ return false;
+ }
- request.setAttribute(Constants.SESSION_USER, user);
- return true;
- }
+ request.setAttribute(Constants.SESSION_USER, user);
+ return true;
+ }
}
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/interceptor/RateLimitInterceptor.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/interceptor/RateLimitInterceptor.java
index f8839a3..9254125 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/interceptor/RateLimitInterceptor.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/interceptor/RateLimitInterceptor.java
@@ -18,9 +18,9 @@
package org.apache.dolphinscheduler.api.interceptor;
import org.apache.dolphinscheduler.api.configuration.TrafficConfiguration;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.commons.collections.MapUtils;
+import org.apache.commons.lang.StringUtils;
import java.util.Map;
import java.util.concurrent.ExecutionException;
@@ -74,7 +74,7 @@ public class RateLimitInterceptor implements HandlerInterceptor {
// tenant-level rate limit
if (trafficConfiguration.isTrafficTenantControlSwitch()) {
String token = request.getHeader("token");
- if (StringUtils.isNotEmpty(token)) {
+ if (!StringUtils.isEmpty(token)) {
RateLimiter tenantRateLimiter = tenantRateLimiterCache.get(token);
if (!tenantRateLimiter.tryAcquire()) {
response.setStatus(HttpStatus.TOO_MANY_REQUESTS.value());
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/security/SecurityConfig.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/security/SecurityConfig.java
index cb0d064..8dc7ea4 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/security/SecurityConfig.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/security/SecurityConfig.java
@@ -19,7 +19,8 @@ package org.apache.dolphinscheduler.api.security;
import org.apache.dolphinscheduler.api.security.impl.ldap.LdapAuthenticator;
import org.apache.dolphinscheduler.api.security.impl.pwd.PasswordAuthenticator;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
+
+import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/AlertGroupServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/AlertGroupServiceImpl.java
index 5fa4d70..887b911 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/AlertGroupServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/AlertGroupServiceImpl.java
@@ -22,13 +22,13 @@ import org.apache.dolphinscheduler.api.service.AlertGroupService;
import org.apache.dolphinscheduler.api.utils.PageInfo;
import org.apache.dolphinscheduler.api.utils.Result;
import org.apache.dolphinscheduler.common.Constants;
-import org.apache.dolphinscheduler.common.utils.BooleanUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.AlertGroup;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.dao.mapper.AlertGroupMapper;
import org.apache.dolphinscheduler.dao.vo.AlertGroupVo;
+import org.apache.commons.lang.StringUtils;
+
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -195,7 +195,7 @@ public class AlertGroupServiceImpl extends BaseServiceImpl implements AlertGroup
Date now = new Date();
- if (StringUtils.isNotEmpty(groupName)) {
+ if (!StringUtils.isEmpty(groupName)) {
alertGroup.setGroupName(groupName);
}
alertGroup.setDescription(desc);
@@ -248,6 +248,6 @@ public class AlertGroupServiceImpl extends BaseServiceImpl implements AlertGroup
*/
@Override
public boolean existGroupName(String groupName) {
- return BooleanUtils.isTrue(alertGroupMapper.existGroupName(groupName));
+ return alertGroupMapper.existGroupName(groupName) == Boolean.TRUE;
}
}
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/AlertPluginInstanceServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/AlertPluginInstanceServiceImpl.java
index 2836f6d..f271960 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/AlertPluginInstanceServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/AlertPluginInstanceServiceImpl.java
@@ -23,7 +23,6 @@ import org.apache.dolphinscheduler.api.utils.PageInfo;
import org.apache.dolphinscheduler.api.utils.Result;
import org.apache.dolphinscheduler.api.vo.AlertPluginInstanceVO;
import org.apache.dolphinscheduler.common.Constants;
-import org.apache.dolphinscheduler.common.utils.BooleanUtils;
import org.apache.dolphinscheduler.common.utils.CollectionUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
import org.apache.dolphinscheduler.dao.entity.AlertPluginInstance;
@@ -85,7 +84,7 @@ public class AlertPluginInstanceServiceImpl extends BaseServiceImpl implements A
Map<String, Object> result = new HashMap<>();
- if (BooleanUtils.isTrue(alertPluginInstanceMapper.existInstanceName(alertPluginInstance.getInstanceName()))) {
+ if (alertPluginInstanceMapper.existInstanceName(alertPluginInstance.getInstanceName()) == Boolean.TRUE) {
putMsg(result, Status.PLUGIN_INSTANCE_ALREADY_EXIT);
return result;
}
@@ -184,7 +183,7 @@ public class AlertPluginInstanceServiceImpl extends BaseServiceImpl implements A
@Override
public boolean checkExistPluginInstanceName(String pluginInstanceName) {
- return BooleanUtils.isTrue(alertPluginInstanceMapper.existInstanceName(pluginInstanceName));
+ return alertPluginInstanceMapper.existInstanceName(pluginInstanceName) == Boolean.TRUE;
}
@Override
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/BaseServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/BaseServiceImpl.java
index f39df5d..1322fff 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/BaseServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/BaseServiceImpl.java
@@ -24,9 +24,10 @@ import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.enums.UserType;
import org.apache.dolphinscheduler.common.utils.DateUtils;
import org.apache.dolphinscheduler.common.utils.HadoopUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.User;
+import org.apache.commons.lang.StringUtils;
+
import java.io.IOException;
import java.text.MessageFormat;
import java.util.Date;
@@ -157,7 +158,7 @@ public class BaseServiceImpl implements BaseService {
public Map<String, Object> checkAndParseDateParameters(String startDateStr, String endDateStr) {
Map<String, Object> result = new HashMap<>();
Date start = null;
- if (StringUtils.isNotEmpty(startDateStr)) {
+ if (!StringUtils.isEmpty(startDateStr)) {
start = DateUtils.getScheduleDate(startDateStr);
if (Objects.isNull(start)) {
putMsg(result, Status.REQUEST_PARAMS_NOT_VALID_ERROR, Constants.START_END_DATE);
@@ -167,7 +168,7 @@ public class BaseServiceImpl implements BaseService {
result.put(Constants.START_TIME, start);
Date end = null;
- if (StringUtils.isNotEmpty(endDateStr)) {
+ if (!StringUtils.isEmpty(endDateStr)) {
end = DateUtils.getScheduleDate(endDateStr);
if (Objects.isNull(end)) {
putMsg(result, Status.REQUEST_PARAMS_NOT_VALID_ERROR, Constants.START_END_DATE);
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataAnalysisServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataAnalysisServiceImpl.java
index 98bae2a..1800dd2 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataAnalysisServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataAnalysisServiceImpl.java
@@ -28,7 +28,6 @@ import org.apache.dolphinscheduler.common.enums.CommandType;
import org.apache.dolphinscheduler.common.enums.ExecutionStatus;
import org.apache.dolphinscheduler.common.enums.UserType;
import org.apache.dolphinscheduler.common.utils.DateUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.common.utils.TriFunction;
import org.apache.dolphinscheduler.dao.entity.CommandCount;
import org.apache.dolphinscheduler.dao.entity.DefinitionGroupByUser;
@@ -43,6 +42,8 @@ import org.apache.dolphinscheduler.dao.mapper.ProjectMapper;
import org.apache.dolphinscheduler.dao.mapper.TaskInstanceMapper;
import org.apache.dolphinscheduler.service.process.ProcessService;
+import org.apache.commons.lang.StringUtils;
+
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
@@ -144,7 +145,7 @@ public class DataAnalysisServiceImpl extends BaseServiceImpl implements DataAnal
Date start = null;
Date end = null;
- if (StringUtils.isNotEmpty(startDate) && StringUtils.isNotEmpty(endDate)) {
+ if (!StringUtils.isEmpty(startDate) && !StringUtils.isEmpty(endDate)) {
start = DateUtils.getScheduleDate(startDate);
end = DateUtils.getScheduleDate(endDate);
if (Objects.isNull(start) || Objects.isNull(end)) {
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataSourceServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataSourceServiceImpl.java
index d18c260..bd29aa8 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataSourceServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataSourceServiceImpl.java
@@ -28,12 +28,13 @@ import org.apache.dolphinscheduler.common.datasource.ConnectionParam;
import org.apache.dolphinscheduler.common.datasource.DatasourceUtil;
import org.apache.dolphinscheduler.common.enums.DbType;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.DataSource;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.dao.mapper.DataSourceMapper;
import org.apache.dolphinscheduler.dao.mapper.DataSourceUserMapper;
+import org.apache.commons.lang.StringUtils;
+
import java.sql.Connection;
import java.util.ArrayList;
import java.util.Date;
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/EnvironmentServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/EnvironmentServiceImpl.java
index f0310a1..7291485 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/EnvironmentServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/EnvironmentServiceImpl.java
@@ -27,7 +27,6 @@ import org.apache.dolphinscheduler.common.utils.CollectionUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
import org.apache.dolphinscheduler.common.utils.SnowFlakeUtils;
import org.apache.dolphinscheduler.common.utils.SnowFlakeUtils.SnowFlakeException;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.Environment;
import org.apache.dolphinscheduler.dao.entity.EnvironmentWorkerGroupRelation;
import org.apache.dolphinscheduler.dao.entity.TaskDefinition;
@@ -37,6 +36,7 @@ import org.apache.dolphinscheduler.dao.mapper.EnvironmentWorkerGroupRelationMapp
import org.apache.dolphinscheduler.dao.mapper.TaskDefinitionMapper;
import org.apache.commons.collections4.SetUtils;
+import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.Date;
@@ -126,11 +126,11 @@ public class EnvironmentServiceImpl extends BaseServiceImpl implements Environme
}
if (environmentMapper.insert(env) > 0) {
- if (StringUtils.isNotEmpty(workerGroups)) {
+ if (!StringUtils.isEmpty(workerGroups)) {
List<String> workerGroupList = JSONUtils.parseObject(workerGroups, new TypeReference<List<String>>(){});
if (CollectionUtils.isNotEmpty(workerGroupList)) {
workerGroupList.stream().forEach(workerGroup -> {
- if (StringUtils.isNotEmpty(workerGroup)) {
+ if (!StringUtils.isEmpty(workerGroup)) {
EnvironmentWorkerGroupRelation relation = new EnvironmentWorkerGroupRelation();
relation.setEnvironmentCode(env.getCode());
relation.setWorkerGroup(workerGroup);
@@ -338,7 +338,7 @@ public class EnvironmentServiceImpl extends BaseServiceImpl implements Environme
}
Set<String> workerGroupSet;
- if (StringUtils.isNotEmpty(workerGroups)) {
+ if (!StringUtils.isEmpty(workerGroups)) {
workerGroupSet = JSONUtils.parseObject(workerGroups, new TypeReference<Set<String>>() {});
} else {
workerGroupSet = new TreeSet<>();
@@ -370,14 +370,14 @@ public class EnvironmentServiceImpl extends BaseServiceImpl implements Environme
int update = environmentMapper.update(env, new UpdateWrapper<Environment>().lambda().eq(Environment::getCode,code));
if (update > 0) {
deleteWorkerGroupSet.stream().forEach(key -> {
- if (StringUtils.isNotEmpty(key)) {
+ if (!StringUtils.isEmpty(key)) {
relationMapper.delete(new QueryWrapper<EnvironmentWorkerGroupRelation>()
.lambda()
.eq(EnvironmentWorkerGroupRelation::getEnvironmentCode,code));
}
});
addWorkerGroupSet.stream().forEach(key -> {
- if (StringUtils.isNotEmpty(key)) {
+ if (!StringUtils.isEmpty(key)) {
EnvironmentWorkerGroupRelation relation = new EnvironmentWorkerGroupRelation();
relation.setEnvironmentCode(code);
relation.setWorkerGroup(key);
@@ -448,7 +448,7 @@ public class EnvironmentServiceImpl extends BaseServiceImpl implements Environme
putMsg(result, Status.ENVIRONMENT_CONFIG_IS_NULL);
return result;
}
- if (StringUtils.isNotEmpty(workerGroups)) {
+ if (!StringUtils.isEmpty(workerGroups)) {
List<String> workerGroupList = JSONUtils.parseObject(workerGroups, new TypeReference<List<String>>(){});
if (Objects.isNull(workerGroupList)) {
putMsg(result, Status.ENVIRONMENT_WORKER_GROUPS_IS_INVALID);
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ExecutorServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ExecutorServiceImpl.java
index 465ef7e..7459885 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ExecutorServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ExecutorServiceImpl.java
@@ -42,7 +42,6 @@ import org.apache.dolphinscheduler.common.model.Server;
import org.apache.dolphinscheduler.common.utils.CollectionUtils;
import org.apache.dolphinscheduler.common.utils.DateUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.Command;
import org.apache.dolphinscheduler.dao.entity.ProcessDefinition;
import org.apache.dolphinscheduler.dao.entity.ProcessInstance;
@@ -59,6 +58,7 @@ import org.apache.dolphinscheduler.service.process.ProcessService;
import org.apache.dolphinscheduler.service.quartz.cron.CronUtils;
import org.apache.commons.collections.MapUtils;
+import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.Date;
@@ -416,7 +416,7 @@ public class ExecutorServiceImpl extends BaseServiceImpl implements ExecutorServ
//To add startParams only when repeat running is needed
Map<String, Object> cmdParam = new HashMap<>();
cmdParam.put(CMD_PARAM_RECOVER_PROCESS_ID_STRING, instanceId);
- if (StringUtils.isNotEmpty(startParams)) {
+ if (!StringUtils.isEmpty(startParams)) {
cmdParam.put(CMD_PARAM_START_PARAMS, startParams);
}
@@ -527,7 +527,7 @@ public class ExecutorServiceImpl extends BaseServiceImpl implements ExecutorServ
command.setFailureStrategy(failureStrategy);
}
- if (StringUtils.isNotEmpty(startNodeList)) {
+ if (!StringUtils.isEmpty(startNodeList)) {
cmdParam.put(CMD_PARAM_START_NODE_NAMES, startNodeList);
}
if (warningType != null) {
@@ -545,7 +545,7 @@ public class ExecutorServiceImpl extends BaseServiceImpl implements ExecutorServ
Date start = null;
Date end = null;
- if (StringUtils.isNotEmpty(schedule)) {
+ if (!StringUtils.isEmpty(schedule)) {
String[] interval = schedule.split(",");
if (interval.length == 2) {
start = DateUtils.getScheduleDate(interval[0]);
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/LoggerServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/LoggerServiceImpl.java
index 16cc36c..df79464 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/LoggerServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/LoggerServiceImpl.java
@@ -23,12 +23,13 @@ import org.apache.dolphinscheduler.api.service.LoggerService;
import org.apache.dolphinscheduler.api.utils.Result;
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.utils.ArrayUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.TaskInstance;
import org.apache.dolphinscheduler.remote.utils.Host;
import org.apache.dolphinscheduler.service.log.LogClientService;
import org.apache.dolphinscheduler.service.process.ProcessService;
+import org.apache.commons.lang.StringUtils;
+
import java.nio.charset.StandardCharsets;
import java.util.Objects;
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java
index f9a9b81..ef00f50 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java
@@ -44,7 +44,6 @@ import org.apache.dolphinscheduler.common.utils.DateUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
import org.apache.dolphinscheduler.common.utils.SnowFlakeUtils;
import org.apache.dolphinscheduler.common.utils.SnowFlakeUtils.SnowFlakeException;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.DagData;
import org.apache.dolphinscheduler.dao.entity.ProcessDefinition;
import org.apache.dolphinscheduler.dao.entity.ProcessDefinitionLog;
@@ -71,6 +70,8 @@ import org.apache.dolphinscheduler.dao.mapper.UserMapper;
import org.apache.dolphinscheduler.service.permission.PermissionCheck;
import org.apache.dolphinscheduler.service.process.ProcessService;
+import org.apache.commons.lang.StringUtils;
+
import java.io.BufferedOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessInstanceServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessInstanceServiceImpl.java
index f5dd51d..f88e20e 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessInstanceServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessInstanceServiceImpl.java
@@ -49,7 +49,6 @@ import org.apache.dolphinscheduler.common.utils.CollectionUtils;
import org.apache.dolphinscheduler.common.utils.DateUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
import org.apache.dolphinscheduler.common.utils.ParameterUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.common.utils.placeholder.BusinessTimeUtils;
import org.apache.dolphinscheduler.dao.entity.ProcessDefinition;
import org.apache.dolphinscheduler.dao.entity.ProcessInstance;
@@ -68,6 +67,8 @@ import org.apache.dolphinscheduler.dao.mapper.TaskInstanceMapper;
import org.apache.dolphinscheduler.dao.mapper.TenantMapper;
import org.apache.dolphinscheduler.service.process.ProcessService;
+import org.apache.commons.lang.StringUtils;
+
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.IOException;
@@ -653,7 +654,7 @@ public class ProcessInstanceServiceImpl extends BaseServiceImpl implements Proce
taskInstance.getTaskCode(), taskInstance.getTaskDefinitionVersion());
String localParams = JSONUtils.getNodeString(taskDefinitionLog.getTaskParams(), LOCAL_PARAMS);
- if (StringUtils.isNotEmpty(localParams)) {
+ if (!StringUtils.isEmpty(localParams)) {
localParams = ParameterUtils.convertParameterPlaceholders(localParams, timeParams);
List<Property> localParamsList = JSONUtils.toList(localParams, Property.class);
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/QueueServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/QueueServiceImpl.java
index d55dc30..edd0e1d 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/QueueServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/QueueServiceImpl.java
@@ -22,13 +22,13 @@ import org.apache.dolphinscheduler.api.service.QueueService;
import org.apache.dolphinscheduler.api.utils.PageInfo;
import org.apache.dolphinscheduler.api.utils.Result;
import org.apache.dolphinscheduler.common.Constants;
-import org.apache.dolphinscheduler.common.utils.BooleanUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.Queue;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.dao.mapper.QueueMapper;
import org.apache.dolphinscheduler.dao.mapper.UserMapper;
+import org.apache.commons.lang.StringUtils;
+
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -271,7 +271,7 @@ public class QueueServiceImpl extends BaseServiceImpl implements QueueService {
* @return true if the queue not exists, otherwise return false
*/
private boolean checkQueueExist(String queue) {
- return BooleanUtils.isTrue(queueMapper.existQueue(queue, null));
+ return queueMapper.existQueue(queue, null) == Boolean.TRUE;
}
/**
@@ -282,7 +282,7 @@ public class QueueServiceImpl extends BaseServiceImpl implements QueueService {
* @return true if the queue name not exists, otherwise return false
*/
private boolean checkQueueNameExist(String queueName) {
- return BooleanUtils.isTrue(queueMapper.existQueue(null, queueName));
+ return queueMapper.existQueue(null, queueName) == Boolean.TRUE;
}
/**
@@ -294,7 +294,7 @@ public class QueueServiceImpl extends BaseServiceImpl implements QueueService {
* @return true if need to update user
*/
private boolean checkIfQueueIsInUsing (String oldQueue, String newQueue) {
- return !oldQueue.equals(newQueue) && BooleanUtils.isTrue(userMapper.existUser(oldQueue));
+ return !oldQueue.equals(newQueue) && userMapper.existUser(oldQueue) == Boolean.TRUE;
}
}
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ResourcesServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ResourcesServiceImpl.java
index 4908eaf..f0cbcc9 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ResourcesServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ResourcesServiceImpl.java
@@ -34,13 +34,11 @@ import org.apache.dolphinscheduler.api.utils.Result;
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.enums.ProgramType;
import org.apache.dolphinscheduler.common.enums.ResourceType;
-import org.apache.dolphinscheduler.common.utils.BooleanUtils;
import org.apache.dolphinscheduler.common.utils.CollectionUtils;
import org.apache.dolphinscheduler.common.utils.FileUtils;
import org.apache.dolphinscheduler.common.utils.HadoopUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
import org.apache.dolphinscheduler.common.utils.PropertyUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.Resource;
import org.apache.dolphinscheduler.dao.entity.ResourcesUser;
import org.apache.dolphinscheduler.dao.entity.Tenant;
@@ -55,6 +53,7 @@ import org.apache.dolphinscheduler.dao.mapper.UserMapper;
import org.apache.dolphinscheduler.dao.utils.ResourceProcessDefinitionUtils;
import org.apache.commons.beanutils.BeanMap;
+import org.apache.commons.lang.StringUtils;
import java.io.IOException;
import java.text.MessageFormat;
@@ -253,7 +252,7 @@ public class ResourcesServiceImpl extends BaseServiceImpl implements ResourcesSe
*/
private boolean checkResourceExists(String fullName, int userId, int type) {
Boolean existResource = resourcesMapper.existResource(fullName, userId, type);
- return BooleanUtils.isTrue(existResource);
+ return existResource == Boolean.TRUE;
}
/**
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/SchedulerServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/SchedulerServiceImpl.java
index d03de22..cf1c833 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/SchedulerServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/SchedulerServiceImpl.java
@@ -35,7 +35,6 @@ import org.apache.dolphinscheduler.common.enums.WarningType;
import org.apache.dolphinscheduler.common.model.Server;
import org.apache.dolphinscheduler.common.utils.DateUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.ProcessDefinition;
import org.apache.dolphinscheduler.dao.entity.Project;
import org.apache.dolphinscheduler.dao.entity.Schedule;
@@ -48,6 +47,8 @@ import org.apache.dolphinscheduler.service.quartz.ProcessScheduleJob;
import org.apache.dolphinscheduler.service.quartz.QuartzExecutors;
import org.apache.dolphinscheduler.service.quartz.cron.CronUtils;
+import org.apache.commons.lang.StringUtils;
+
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
@@ -250,7 +251,7 @@ public class SchedulerServiceImpl extends BaseServiceImpl implements SchedulerSe
Date now = new Date();
// updateProcessInstance param
- if (StringUtils.isNotEmpty(scheduleExpression)) {
+ if (!StringUtils.isEmpty(scheduleExpression)) {
ScheduleParam scheduleParam = JSONUtils.parseObject(scheduleExpression, ScheduleParam.class);
if (DateUtils.differSec(scheduleParam.getStartTime(), scheduleParam.getEndTime()) == 0) {
logger.warn("The start time must not be the same as the end");
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/SessionServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/SessionServiceImpl.java
index 9dc6a6d..de1c417 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/SessionServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/SessionServiceImpl.java
@@ -21,11 +21,12 @@ import org.apache.dolphinscheduler.api.controller.BaseController;
import org.apache.dolphinscheduler.api.service.SessionService;
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.utils.CollectionUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.Session;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.dao.mapper.SessionMapper;
+import org.apache.commons.lang.StringUtils;
+
import java.util.Date;
import java.util.List;
import java.util.UUID;
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskDefinitionServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskDefinitionServiceImpl.java
index 35f3f1e..c35099f 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskDefinitionServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskDefinitionServiceImpl.java
@@ -27,7 +27,6 @@ import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
import org.apache.dolphinscheduler.common.utils.SnowFlakeUtils;
import org.apache.dolphinscheduler.common.utils.SnowFlakeUtils.SnowFlakeException;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.ProcessTaskRelation;
import org.apache.dolphinscheduler.dao.entity.Project;
import org.apache.dolphinscheduler.dao.entity.TaskDefinition;
@@ -40,6 +39,8 @@ import org.apache.dolphinscheduler.dao.mapper.TaskDefinitionMapper;
import org.apache.dolphinscheduler.dao.mapper.UserMapper;
import org.apache.dolphinscheduler.service.process.ProcessService;
+import org.apache.commons.lang.StringUtils;
+
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TenantServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TenantServiceImpl.java
index c690ed3..fc01bd7 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TenantServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TenantServiceImpl.java
@@ -23,11 +23,9 @@ import org.apache.dolphinscheduler.api.utils.PageInfo;
import org.apache.dolphinscheduler.api.utils.RegexUtils;
import org.apache.dolphinscheduler.api.utils.Result;
import org.apache.dolphinscheduler.common.Constants;
-import org.apache.dolphinscheduler.common.utils.BooleanUtils;
import org.apache.dolphinscheduler.common.utils.CollectionUtils;
import org.apache.dolphinscheduler.common.utils.HadoopUtils;
import org.apache.dolphinscheduler.common.utils.PropertyUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.ProcessDefinition;
import org.apache.dolphinscheduler.dao.entity.ProcessInstance;
import org.apache.dolphinscheduler.dao.entity.Tenant;
@@ -37,6 +35,8 @@ import org.apache.dolphinscheduler.dao.mapper.ProcessInstanceMapper;
import org.apache.dolphinscheduler.dao.mapper.TenantMapper;
import org.apache.dolphinscheduler.dao.mapper.UserMapper;
+import org.apache.commons.lang.StringUtils;
+
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -202,7 +202,7 @@ public class TenantServiceImpl extends BaseServiceImpl implements TenantService
Date now = new Date();
- if (StringUtils.isNotEmpty(tenantCode)) {
+ if (!StringUtils.isEmpty(tenantCode)) {
tenant.setTenantCode(tenantCode);
}
@@ -322,6 +322,6 @@ public class TenantServiceImpl extends BaseServiceImpl implements TenantService
*/
private boolean checkTenantExists(String tenantCode) {
Boolean existTenant = tenantMapper.existTenant(tenantCode);
- return BooleanUtils.isTrue(existTenant);
+ return existTenant == Boolean.TRUE;
}
}
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UdfFuncServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UdfFuncServiceImpl.java
index 8465ccf..62b69fe 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UdfFuncServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UdfFuncServiceImpl.java
@@ -24,7 +24,6 @@ import org.apache.dolphinscheduler.api.utils.Result;
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.enums.UdfType;
import org.apache.dolphinscheduler.common.utils.PropertyUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.Resource;
import org.apache.dolphinscheduler.dao.entity.UdfFunc;
import org.apache.dolphinscheduler.dao.entity.User;
@@ -32,6 +31,8 @@ import org.apache.dolphinscheduler.dao.mapper.ResourceMapper;
import org.apache.dolphinscheduler.dao.mapper.UDFUserMapper;
import org.apache.dolphinscheduler.dao.mapper.UdfFuncMapper;
+import org.apache.commons.lang.StringUtils;
+
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -113,10 +114,10 @@ public class UdfFuncServiceImpl extends BaseServiceImpl implements UdfFuncServic
udf.setUserId(loginUser.getId());
udf.setFuncName(funcName);
udf.setClassName(className);
- if (StringUtils.isNotEmpty(argTypes)) {
+ if (!StringUtils.isEmpty(argTypes)) {
udf.setArgTypes(argTypes);
}
- if (StringUtils.isNotEmpty(database)) {
+ if (!StringUtils.isEmpty(database)) {
udf.setDatabase(database);
}
udf.setDescription(desc);
@@ -221,7 +222,7 @@ public class UdfFuncServiceImpl extends BaseServiceImpl implements UdfFuncServic
udf.setFuncName(funcName);
udf.setClassName(className);
udf.setArgTypes(argTypes);
- if (StringUtils.isNotEmpty(database)) {
+ if (!StringUtils.isEmpty(database)) {
udf.setDatabase(database);
}
udf.setDescription(desc);
@@ -329,4 +330,4 @@ public class UdfFuncServiceImpl extends BaseServiceImpl implements UdfFuncServic
return result;
}
-}
\ No newline at end of file
+}
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UsersServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UsersServiceImpl.java
index 3b4d78f..7e50a54 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UsersServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UsersServiceImpl.java
@@ -33,7 +33,6 @@ import org.apache.dolphinscheduler.common.utils.CollectionUtils;
import org.apache.dolphinscheduler.common.utils.EncryptionUtils;
import org.apache.dolphinscheduler.common.utils.HadoopUtils;
import org.apache.dolphinscheduler.common.utils.PropertyUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.AlertGroup;
import org.apache.dolphinscheduler.dao.entity.DatasourceUser;
import org.apache.dolphinscheduler.dao.entity.Project;
@@ -56,6 +55,8 @@ import org.apache.dolphinscheduler.dao.mapper.UDFUserMapper;
import org.apache.dolphinscheduler.dao.mapper.UserMapper;
import org.apache.dolphinscheduler.dao.utils.ResourceProcessDefinitionUtils;
+import org.apache.commons.lang.StringUtils;
+
import java.io.IOException;
import java.text.MessageFormat;
import java.util.ArrayList;
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkFlowLineageServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkFlowLineageServiceImpl.java
index 3273b7b..c37b141 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkFlowLineageServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkFlowLineageServiceImpl.java
@@ -20,7 +20,6 @@ package org.apache.dolphinscheduler.api.service.impl;
import org.apache.dolphinscheduler.api.enums.Status;
import org.apache.dolphinscheduler.api.service.WorkFlowLineageService;
import org.apache.dolphinscheduler.common.Constants;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.ProcessLineage;
import org.apache.dolphinscheduler.dao.entity.Project;
import org.apache.dolphinscheduler.dao.entity.WorkFlowLineage;
@@ -28,6 +27,8 @@ import org.apache.dolphinscheduler.dao.entity.WorkFlowRelation;
import org.apache.dolphinscheduler.dao.mapper.ProjectMapper;
import org.apache.dolphinscheduler.dao.mapper.WorkFlowLineageMapper;
+import org.apache.commons.lang.StringUtils;
+
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkerGroupServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkerGroupServiceImpl.java
index 9253d6b..593b2a6 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkerGroupServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkerGroupServiceImpl.java
@@ -26,13 +26,14 @@ import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.enums.NodeType;
import org.apache.dolphinscheduler.common.utils.CollectionUtils;
import org.apache.dolphinscheduler.common.utils.DateUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.ProcessInstance;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.dao.entity.WorkerGroup;
import org.apache.dolphinscheduler.dao.mapper.ProcessInstanceMapper;
import org.apache.dolphinscheduler.dao.mapper.WorkerGroupMapper;
+import org.apache.commons.lang.StringUtils;
+
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
@@ -188,7 +189,7 @@ public class WorkerGroupServiceImpl extends BaseServiceImpl implements WorkerGro
if (CollectionUtils.isNotEmpty(workerGroups)) {
List<WorkerGroup> searchValDataList = new ArrayList<>();
- if (StringUtils.isNotEmpty(searchVal)) {
+ if (!StringUtils.isEmpty(searchVal)) {
for (WorkerGroup workerGroup : workerGroups) {
if (workerGroup.getName().contains(searchVal)) {
searchValDataList.add(workerGroup);
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/utils/CheckUtils.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/utils/CheckUtils.java
index 7f0d8cb..0341e0b 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/utils/CheckUtils.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/utils/CheckUtils.java
@@ -22,10 +22,11 @@ import org.apache.dolphinscheduler.common.enums.TaskType;
import org.apache.dolphinscheduler.common.model.TaskNode;
import org.apache.dolphinscheduler.common.task.AbstractParameters;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.common.utils.TaskParametersUtils;
import org.apache.dolphinscheduler.dao.entity.TaskDefinition;
+import org.apache.commons.lang.StringUtils;
+
import java.text.MessageFormat;
import java.util.HashMap;
import java.util.Map;
@@ -73,7 +74,7 @@ public class CheckUtils {
*/
public static Map<String, Object> checkDesc(String desc) {
Map<String, Object> result = new HashMap<>();
- if (StringUtils.isNotEmpty(desc) && desc.length() > 200) {
+ if (!StringUtils.isEmpty(desc) && desc.length() > 200) {
result.put(Constants.STATUS, Status.REQUEST_PARAMS_NOT_VALID_ERROR);
result.put(Constants.MSG,
MessageFormat.format(Status.REQUEST_PARAMS_NOT_VALID_ERROR.getMsg(), "desc length"));
@@ -90,7 +91,7 @@ public class CheckUtils {
* @return true if other parameters are valid, otherwise return false
*/
public static boolean checkOtherParams(String otherParams) {
- return StringUtils.isNotEmpty(otherParams) && !JSONUtils.checkJsonValid(otherParams);
+ return !StringUtils.isEmpty(otherParams) && !JSONUtils.checkJsonValid(otherParams);
}
/**
@@ -100,7 +101,7 @@ public class CheckUtils {
* @return true if password regex valid, otherwise return false
*/
public static boolean checkPassword(String password) {
- return StringUtils.isNotEmpty(password) && password.length() >= 2 && password.length() <= 20;
+ return !StringUtils.isEmpty(password) && password.length() >= 2 && password.length() <= 20;
}
/**
@@ -157,20 +158,6 @@ public class CheckUtils {
}
/**
- * check params
- *
- * @param userName user name
- * @param password password
- * @param email email
- * @param phone phone
- * @return true if user parameters are valid, other return false
- */
- public static boolean checkUserParams(String userName, String password, String email, String phone) {
- return CheckUtils.checkUserName(userName) && CheckUtils.checkEmail(email) && CheckUtils.checkPassword(password)
- && CheckUtils.checkPhone(phone);
- }
-
- /**
* regex check
*
* @param str input string
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/utils/RegistryCenterUtils.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/utils/RegistryCenterUtils.java
index c271f17..71e0456 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/utils/RegistryCenterUtils.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/utils/RegistryCenterUtils.java
@@ -60,40 +60,6 @@ public class RegistryCenterUtils {
return registryClient.getServerList(NodeType.WORKER);
}
- private static List<ZookeeperRecord> zookeeperInfoList(String zookeeperServers) {
- List<ZookeeperRecord> list = new ArrayList<>(5);
- /*
- if (StringUtils.isNotBlank(zookeeperServers)) {
- String[] zookeeperServersArray = zookeeperServers.split(",");
-
- for (String zookeeperServer : zookeeperServersArray) {
- ZooKeeperState state = new ZooKeeperState(zookeeperServer);
- boolean ok = state.ruok();
- if (ok) {
- state.getZookeeperInfo();
- }
-
- int connections = state.getConnections();
- int watches = state.getWatches();
- long sent = state.getSent();
- long received = state.getReceived();
- String mode = state.getMode();
- float minLatency = state.getMinLatency();
- float avgLatency = state.getAvgLatency();
- float maxLatency = state.getMaxLatency();
- int nodeCount = state.getNodeCount();
- int status = ok ? 1 : 0;
- Date date = new Date();
-
- ZookeeperRecord zookeeperRecord = new ZookeeperRecord(zookeeperServer,connections,watches,sent,received,mode,minLatency,avgLatency,maxLatency,nodeCount,status,date);
- list.add(zookeeperRecord);
-
- }
- }*/
-
- return list;
- }
-
public static Map<String, String> getServerMaps(NodeType nodeType, boolean hostOnly) {
return registryClient.getServerMaps(nodeType, hostOnly);
}
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/utils/ZooKeeperState.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/utils/ZooKeeperState.java
deleted file mode 100644
index ea458c9..0000000
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/utils/ZooKeeperState.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.dolphinscheduler.api.utils;
-
-import org.apache.dolphinscheduler.common.utils.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.Scanner;
-
-/**
- * zookeeper state monitor
- *
- */
-public class ZooKeeperState {
-
- private static final Logger logger = LoggerFactory.getLogger(ZooKeeperState.class);
-
- private final String host;
- private final int port;
-
- private float minLatency = -1, avgLatency = -1, maxLatency = -1;
- private long received = -1;
- private long sent = -1;
- private int outStanding = -1;
- private long zxid = -1;
- private String mode = null;
- private int nodeCount = -1;
- private int watches = -1;
- private int connections = -1;
-
- public ZooKeeperState(String connectionString) {
- String host = connectionString.substring(0,
- connectionString.indexOf(':'));
- int port = Integer.parseInt(connectionString.substring(connectionString
- .indexOf(':') + 1));
- this.host = host;
- this.port = port;
- }
-
- public void getZookeeperInfo() {
- String content = cmd("srvr");
- if (StringUtils.isNotBlank(content)) {
- try (Scanner scannerForStat = new Scanner(content)) {
- while (scannerForStat.hasNext()) {
- String line = scannerForStat.nextLine();
- if (line.startsWith("Latency min/avg/max:")) {
- String[] latencys = getStringValueFromLine(line).split("/");
- minLatency = Float.parseFloat(latencys[0]);
- avgLatency = Float.parseFloat(latencys[1]);
- maxLatency = Float.parseFloat(latencys[2]);
- } else if (line.startsWith("Received:")) {
- received = Long.parseLong(getStringValueFromLine(line));
- } else if (line.startsWith("Sent:")) {
- sent = Long.parseLong(getStringValueFromLine(line));
- } else if (line.startsWith("Outstanding:")) {
- outStanding = Integer.parseInt(getStringValueFromLine(line));
- } else if (line.startsWith("Zxid:")) {
- zxid = Long.parseLong(getStringValueFromLine(line).substring(2), 16);
- } else if (line.startsWith("Mode:")) {
- mode = getStringValueFromLine(line);
- } else if (line.startsWith("Node count:")) {
- nodeCount = Integer.parseInt(getStringValueFromLine(line));
- }
- }
- }
- }
-
- String wchsText = cmd("wchs");
- if (StringUtils.isNotBlank(wchsText)) {
- try (Scanner scannerForWchs = new Scanner(wchsText)) {
- while (scannerForWchs.hasNext()) {
- String line = scannerForWchs.nextLine();
- if (line.startsWith("Total watches:")) {
- watches = Integer.parseInt(getStringValueFromLine(line));
- }
- }
- }
- }
-
- String consText = cmd("cons");
- if (StringUtils.isNotBlank(consText)) {
- Scanner scannerForCons = new Scanner(consText);
- if (StringUtils.isNotBlank(consText)) {
- connections = 0;
- }
- while (scannerForCons.hasNext()) {
- @SuppressWarnings("unused")
- String line = scannerForCons.nextLine();
- ++connections;
- }
- scannerForCons.close();
- }
- }
-
-
- public boolean ruok() {
- return "imok\n".equals(cmd("ruok"));
- }
-
-
- private String getStringValueFromLine(String line) {
- return line.substring(line.indexOf(":") + 1, line.length()).replaceAll(
- " ", "").trim();
- }
-
- private class SendThread extends Thread {
- private String cmd;
-
- private String ret = "";
-
- public SendThread(String cmd) {
- this.cmd = cmd;
- }
-
- @Override
- public void run() {
- try {
- ret = FourLetterWordMain.send4LetterWord(host, port, cmd);
- } catch (Exception e) {
- logger.error(e.getMessage(),e);
- return;
- }
- }
-
- }
-
- private String cmd(String cmd) {
- final int waitTimeout = 5;
- SendThread sendThread = new SendThread(cmd);
- sendThread.setName("FourLetterCmd:" + cmd);
- sendThread.start();
- try {
- sendThread.join(waitTimeout * 1000L);
- return sendThread.ret;
- } catch (InterruptedException e) {
- logger.error("send " + cmd + " to server " + host + ":" + port + " failed!", e);
- Thread.currentThread().interrupt();
- }
- return "";
- }
-
- public Logger getLogger() {
- return logger;
- }
-
- public String getHost() {
- return host;
- }
-
- public int getPort() {
- return port;
- }
-
- public float getMinLatency() {
- return minLatency;
- }
-
- public float getAvgLatency() {
- return avgLatency;
- }
-
- public float getMaxLatency() {
- return maxLatency;
- }
-
- public long getReceived() {
- return received;
- }
-
- public long getSent() {
- return sent;
- }
-
- public int getOutStanding() {
- return outStanding;
- }
-
- public long getZxid() {
- return zxid;
- }
-
- public String getMode() {
- return mode;
- }
-
- public int getNodeCount() {
- return nodeCount;
- }
-
- public int getWatches() {
- return watches;
- }
-
- public int getConnections() {
- return connections;
- }
-
- @Override
- public String toString() {
- return "ZooKeeperState [host=" + host + ", port=" + port
- + ", minLatency=" + minLatency + ", avgLatency=" + avgLatency
- + ", maxLatency=" + maxLatency + ", received=" + received
- + ", sent=" + sent + ", outStanding=" + outStanding + ", zxid="
- + zxid + ", mode=" + mode + ", nodeCount=" + nodeCount
- + ", watches=" + watches + ", connections="
- + connections + "]";
- }
-
-
-
-}
diff --git a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/AbstractControllerTest.java b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/AbstractControllerTest.java
index 6c0faa1..41a1cc3 100644
--- a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/AbstractControllerTest.java
+++ b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/AbstractControllerTest.java
@@ -23,10 +23,11 @@ import org.apache.dolphinscheduler.api.service.SessionService;
import org.apache.dolphinscheduler.api.utils.RegistryCenterUtils;
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.enums.UserType;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.service.registry.RegistryClient;
+import org.apache.commons.lang.StringUtils;
+
import java.text.MessageFormat;
import java.util.HashMap;
import java.util.Map;
@@ -97,7 +98,7 @@ public class AbstractControllerTest {
String session = sessionService.createSession(loginUser, "127.0.0.1");
sessionId = session;
- Assert.assertTrue(StringUtils.isNotEmpty(session));
+ Assert.assertTrue(!StringUtils.isEmpty(session));
}
public Map<String, Object> success() {
diff --git a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionServiceTest.java b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionServiceTest.java
index b4ab9ce..cac9c36 100644
--- a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionServiceTest.java
+++ b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionServiceTest.java
@@ -30,7 +30,6 @@ import org.apache.dolphinscheduler.common.enums.ReleaseState;
import org.apache.dolphinscheduler.common.enums.UserType;
import org.apache.dolphinscheduler.common.enums.WarningType;
import org.apache.dolphinscheduler.common.graph.DAG;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.DagData;
import org.apache.dolphinscheduler.dao.entity.ProcessDefinition;
import org.apache.dolphinscheduler.dao.entity.ProcessTaskRelation;
@@ -47,6 +46,8 @@ import org.apache.dolphinscheduler.dao.mapper.TaskInstanceMapper;
import org.apache.dolphinscheduler.dao.mapper.TenantMapper;
import org.apache.dolphinscheduler.service.process.ProcessService;
+import org.apache.commons.lang.StringUtils;
+
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/SessionServiceTest.java b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/SessionServiceTest.java
index 4f8c6c4..1f14ef4 100644
--- a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/SessionServiceTest.java
+++ b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/SessionServiceTest.java
@@ -21,11 +21,12 @@ import org.apache.dolphinscheduler.api.service.impl.SessionServiceImpl;
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.enums.UserType;
import org.apache.dolphinscheduler.common.utils.DateUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.Session;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.dao.mapper.SessionMapper;
+import org.apache.commons.lang.StringUtils;
+
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
@@ -109,7 +110,7 @@ public class SessionServiceTest {
Mockito.when(sessionMapper.queryByUserId(1)).thenReturn(getSessions());
String sessionId = sessionService.createSession(user, ip);
logger.info("createSessionId is " + sessionId);
- Assert.assertTrue(StringUtils.isNotEmpty(sessionId));
+ Assert.assertTrue(!StringUtils.isEmpty(sessionId));
}
/**
@@ -143,4 +144,4 @@ public class SessionServiceTest {
sessionList.add(getSession());
return sessionList;
}
-}
\ No newline at end of file
+}
diff --git a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/utils/FileUtilsTest.java b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/utils/FileUtilsTest.java
index 1b05eb0..228eaf9 100644
--- a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/utils/FileUtilsTest.java
+++ b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/utils/FileUtilsTest.java
@@ -106,7 +106,7 @@ public class FileUtilsTest {
@Test
public void testFile2String() throws IOException {
String content = "123";
- org.apache.dolphinscheduler.common.utils.FileUtils.writeStringToFile(new File("/tmp/task.json"),content);
+ org.apache.commons.io.FileUtils.writeStringToFile(new File("/tmp/task.json"),content);
File file = new File("/tmp/task.json");
FileInputStream fileInputStream = new FileInputStream("/tmp/task.json");
@@ -121,4 +121,4 @@ public class FileUtilsTest {
Assert.assertTrue(delete);
}
-}
\ No newline at end of file
+}
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java
index 29169c9..cf1ab5b 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java
@@ -19,7 +19,8 @@ package org.apache.dolphinscheduler.common;
import org.apache.dolphinscheduler.common.enums.ExecutionStatus;
import org.apache.dolphinscheduler.common.utils.OSUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
+
+import org.apache.commons.lang.StringUtils;
import java.util.regex.Pattern;
@@ -1095,8 +1096,8 @@ public final class Constants {
/**
* docker & kubernetes
*/
- public static final boolean DOCKER_MODE = StringUtils.isNotEmpty(System.getenv("DOCKER"));
- public static final boolean KUBERNETES_MODE = StringUtils.isNotEmpty(System.getenv("KUBERNETES_SERVICE_HOST")) && StringUtils.isNotEmpty(System.getenv("KUBERNETES_SERVICE_PORT"));
+ public static final boolean DOCKER_MODE = !StringUtils.isEmpty(System.getenv("DOCKER"));
+ public static final boolean KUBERNETES_MODE = !StringUtils.isEmpty(System.getenv("KUBERNETES_SERVICE_HOST")) && !StringUtils.isEmpty(System.getenv("KUBERNETES_SERVICE_PORT"));
/**
* task parameter keys
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/clickhouse/ClickHouseDatasourceProcessor.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/clickhouse/ClickHouseDatasourceProcessor.java
index 4dbdb07..81611a3 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/clickhouse/ClickHouseDatasourceProcessor.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/clickhouse/ClickHouseDatasourceProcessor.java
@@ -24,9 +24,9 @@ import org.apache.dolphinscheduler.common.datasource.ConnectionParam;
import org.apache.dolphinscheduler.common.enums.DbType;
import org.apache.dolphinscheduler.common.utils.CommonUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.commons.collections4.MapUtils;
+import org.apache.commons.lang.StringUtils;
import java.sql.Connection;
import java.sql.DriverManager;
@@ -83,7 +83,7 @@ public class ClickHouseDatasourceProcessor extends AbstractDatasourceProcessor {
public String getJdbcUrl(ConnectionParam connectionParam) {
ClickhouseConnectionParam clickhouseConnectionParam = (ClickhouseConnectionParam) connectionParam;
String jdbcUrl = clickhouseConnectionParam.getJdbcUrl();
- if (StringUtils.isNotEmpty(clickhouseConnectionParam.getOther())) {
+ if (!StringUtils.isEmpty(clickhouseConnectionParam.getOther())) {
jdbcUrl = String.format("%s?%s", jdbcUrl, clickhouseConnectionParam.getOther());
}
return jdbcUrl;
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/db2/Db2DatasourceProcessor.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/db2/Db2DatasourceProcessor.java
index f24ef7e..4bad7f6 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/db2/Db2DatasourceProcessor.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/db2/Db2DatasourceProcessor.java
@@ -25,9 +25,9 @@ import org.apache.dolphinscheduler.common.datasource.ConnectionParam;
import org.apache.dolphinscheduler.common.enums.DbType;
import org.apache.dolphinscheduler.common.utils.CommonUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.commons.collections4.MapUtils;
+import org.apache.commons.lang.StringUtils;
import java.sql.Connection;
import java.sql.DriverManager;
@@ -84,7 +84,7 @@ public class Db2DatasourceProcessor extends AbstractDatasourceProcessor {
@Override
public String getJdbcUrl(ConnectionParam connectionParam) {
Db2ConnectionParam db2ConnectionParam = (Db2ConnectionParam) connectionParam;
- if (StringUtils.isNotEmpty(db2ConnectionParam.getOther())) {
+ if (!StringUtils.isEmpty(db2ConnectionParam.getOther())) {
return String.format("%s;%s", db2ConnectionParam.getJdbcUrl(), db2ConnectionParam.getOther());
}
return db2ConnectionParam.getJdbcUrl();
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/hive/HiveDatasourceProcessor.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/hive/HiveDatasourceProcessor.java
index 4baebb8..8113e59 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/hive/HiveDatasourceProcessor.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/hive/HiveDatasourceProcessor.java
@@ -26,9 +26,9 @@ import org.apache.dolphinscheduler.common.enums.DbType;
import org.apache.dolphinscheduler.common.utils.CommonUtils;
import org.apache.dolphinscheduler.common.utils.HiveConfUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.commons.collections4.MapUtils;
+import org.apache.commons.lang.StringUtils;
import java.io.IOException;
import java.sql.Connection;
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/mysql/MysqlDatasourceProcessor.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/mysql/MysqlDatasourceProcessor.java
index f684378..564ed3d 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/mysql/MysqlDatasourceProcessor.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/mysql/MysqlDatasourceProcessor.java
@@ -25,9 +25,9 @@ import org.apache.dolphinscheduler.common.datasource.ConnectionParam;
import org.apache.dolphinscheduler.common.enums.DbType;
import org.apache.dolphinscheduler.common.utils.CommonUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.commons.collections4.MapUtils;
+import org.apache.commons.lang.StringUtils;
import java.sql.Connection;
import java.sql.DriverManager;
@@ -102,7 +102,7 @@ public class MysqlDatasourceProcessor extends AbstractDatasourceProcessor {
public String getJdbcUrl(ConnectionParam connectionParam) {
MysqlConnectionParam mysqlConnectionParam = (MysqlConnectionParam) connectionParam;
String jdbcUrl = mysqlConnectionParam.getJdbcUrl();
- if (StringUtils.isNotEmpty(mysqlConnectionParam.getOther())) {
+ if (!StringUtils.isEmpty(mysqlConnectionParam.getOther())) {
return String.format("%s?%s&%s", jdbcUrl, mysqlConnectionParam.getOther(), APPEND_PARAMS);
}
return String.format("%s?%s", jdbcUrl, APPEND_PARAMS);
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/oracle/OracleDatasourceProcessor.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/oracle/OracleDatasourceProcessor.java
index e18a963..4ec7e19 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/oracle/OracleDatasourceProcessor.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/oracle/OracleDatasourceProcessor.java
@@ -26,9 +26,9 @@ import org.apache.dolphinscheduler.common.enums.DbConnectType;
import org.apache.dolphinscheduler.common.enums.DbType;
import org.apache.dolphinscheduler.common.utils.CommonUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.commons.collections4.MapUtils;
+import org.apache.commons.lang.StringUtils;
import java.sql.Connection;
import java.sql.DriverManager;
@@ -99,7 +99,7 @@ public class OracleDatasourceProcessor extends AbstractDatasourceProcessor {
@Override
public String getJdbcUrl(ConnectionParam connectionParam) {
OracleConnectionParam oracleConnectionParam = (OracleConnectionParam) connectionParam;
- if (StringUtils.isNotEmpty(oracleConnectionParam.getOther())) {
+ if (!StringUtils.isEmpty(oracleConnectionParam.getOther())) {
return String.format("%s?%s", oracleConnectionParam.getJdbcUrl(), oracleConnectionParam.getOther());
}
return oracleConnectionParam.getJdbcUrl();
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/postgresql/PostgreSqlDatasourceProcessor.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/postgresql/PostgreSqlDatasourceProcessor.java
index 284aa41..e793963 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/postgresql/PostgreSqlDatasourceProcessor.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/postgresql/PostgreSqlDatasourceProcessor.java
@@ -25,9 +25,9 @@ import org.apache.dolphinscheduler.common.datasource.ConnectionParam;
import org.apache.dolphinscheduler.common.enums.DbType;
import org.apache.dolphinscheduler.common.utils.CommonUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.commons.collections4.MapUtils;
+import org.apache.commons.lang.StringUtils;
import java.sql.Connection;
import java.sql.DriverManager;
@@ -84,7 +84,7 @@ public class PostgreSqlDatasourceProcessor extends AbstractDatasourceProcessor {
@Override
public String getJdbcUrl(ConnectionParam connectionParam) {
PostgreSqlConnectionParam postgreSqlConnectionParam = (PostgreSqlConnectionParam) connectionParam;
- if (StringUtils.isNotEmpty(postgreSqlConnectionParam.getOther())) {
+ if (!StringUtils.isEmpty(postgreSqlConnectionParam.getOther())) {
return String.format("%s?%s", postgreSqlConnectionParam.getJdbcUrl(), postgreSqlConnectionParam.getOther());
}
return postgreSqlConnectionParam.getJdbcUrl();
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/presto/PrestoDatasourceProcessor.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/presto/PrestoDatasourceProcessor.java
index e9be62b..25dab29 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/presto/PrestoDatasourceProcessor.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/presto/PrestoDatasourceProcessor.java
@@ -25,9 +25,9 @@ import org.apache.dolphinscheduler.common.datasource.ConnectionParam;
import org.apache.dolphinscheduler.common.enums.DbType;
import org.apache.dolphinscheduler.common.utils.CommonUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.commons.collections4.MapUtils;
+import org.apache.commons.lang.StringUtils;
import java.sql.Connection;
import java.sql.DriverManager;
@@ -86,7 +86,7 @@ public class PrestoDatasourceProcessor extends AbstractDatasourceProcessor {
@Override
public String getJdbcUrl(ConnectionParam connectionParam) {
PrestoConnectionParam prestoConnectionParam = (PrestoConnectionParam) connectionParam;
- if (StringUtils.isNotEmpty(prestoConnectionParam.getOther())) {
+ if (!StringUtils.isEmpty(prestoConnectionParam.getOther())) {
return String.format("%s?%s", prestoConnectionParam.getJdbcUrl(), prestoConnectionParam.getOther());
}
return prestoConnectionParam.getJdbcUrl();
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/spark/SparkDatasourceProcessor.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/spark/SparkDatasourceProcessor.java
index 83365ea..7c7d021 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/spark/SparkDatasourceProcessor.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/spark/SparkDatasourceProcessor.java
@@ -25,9 +25,9 @@ import org.apache.dolphinscheduler.common.datasource.ConnectionParam;
import org.apache.dolphinscheduler.common.enums.DbType;
import org.apache.dolphinscheduler.common.utils.CommonUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.commons.collections4.MapUtils;
+import org.apache.commons.lang.StringUtils;
import java.io.IOException;
import java.sql.Connection;
@@ -110,7 +110,7 @@ public class SparkDatasourceProcessor extends AbstractDatasourceProcessor {
@Override
public String getJdbcUrl(ConnectionParam connectionParam) {
SparkConnectionParam sparkConnectionParam = (SparkConnectionParam) connectionParam;
- if (StringUtils.isNotEmpty(sparkConnectionParam.getOther())) {
+ if (!StringUtils.isEmpty(sparkConnectionParam.getOther())) {
return String.format("%s;%s", sparkConnectionParam.getJdbcUrl(), sparkConnectionParam.getOther());
}
return sparkConnectionParam.getJdbcUrl();
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/sqlserver/SqlServerDatasourceProcessor.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/sqlserver/SqlServerDatasourceProcessor.java
index d4afa6e..32fca09 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/sqlserver/SqlServerDatasourceProcessor.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/sqlserver/SqlServerDatasourceProcessor.java
@@ -25,9 +25,9 @@ import org.apache.dolphinscheduler.common.datasource.ConnectionParam;
import org.apache.dolphinscheduler.common.enums.DbType;
import org.apache.dolphinscheduler.common.utils.CommonUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.commons.collections4.MapUtils;
+import org.apache.commons.lang.StringUtils;
import java.sql.Connection;
import java.sql.DriverManager;
@@ -82,7 +82,7 @@ public class SqlServerDatasourceProcessor extends AbstractDatasourceProcessor {
public String getJdbcUrl(ConnectionParam connectionParam) {
SqlServerConnectionParam sqlServerConnectionParam = (SqlServerConnectionParam) connectionParam;
- if (StringUtils.isNotEmpty(sqlServerConnectionParam.getOther())) {
+ if (!StringUtils.isEmpty(sqlServerConnectionParam.getOther())) {
return String.format("%s;%s", sqlServerConnectionParam.getJdbcUrl(), sqlServerConnectionParam.getOther());
}
return sqlServerConnectionParam.getJdbcUrl();
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/model/TaskNode.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/model/TaskNode.java
index fe8258c..d950aa4 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/model/TaskNode.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/model/TaskNode.java
@@ -24,7 +24,8 @@ import org.apache.dolphinscheduler.common.enums.TaskType;
import org.apache.dolphinscheduler.common.task.TaskTimeoutParameter;
import org.apache.dolphinscheduler.common.utils.CollectionUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
+
+import org.apache.commons.lang.StringUtils;
import java.util.HashMap;
import java.util.List;
@@ -245,7 +246,7 @@ public class TaskNode {
}
public Boolean isForbidden() {
- return (StringUtils.isNotEmpty(this.runFlag)
+ return (!StringUtils.isEmpty(this.runFlag)
&& this.runFlag.equals(Constants.FLOWNODE_RUN_FLAG_FORBIDDEN));
}
@@ -363,7 +364,7 @@ public class TaskNode {
* @return task time out parameter
*/
public TaskTimeoutParameter getTaskTimeoutParameter() {
- if (StringUtils.isNotEmpty(this.getTimeout())) {
+ if (!StringUtils.isEmpty(this.getTimeout())) {
String formatStr = String.format("%s,%s", TaskTimeoutStrategy.WARN.name(), TaskTimeoutStrategy.FAILED.name());
String taskTimeout = this.getTimeout().replace(formatStr, TaskTimeoutStrategy.WARNFAILED.name());
return JSONUtils.parseObject(taskTimeout, TaskTimeoutParameter.class);
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/AbstractParameters.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/AbstractParameters.java
index 80073d9..26f3a65 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/AbstractParameters.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/AbstractParameters.java
@@ -21,7 +21,8 @@ import org.apache.dolphinscheduler.common.process.Property;
import org.apache.dolphinscheduler.common.process.ResourceInfo;
import org.apache.dolphinscheduler.common.utils.CollectionUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
+
+import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.HashMap;
@@ -168,7 +169,7 @@ public abstract class AbstractParameters implements IParameters {
String[] formatResult = result.split("\\$VarPool\\$");
Map<String, String> format = new HashMap<>();
for (String info : formatResult) {
- if (StringUtils.isNotEmpty(info) && info.contains("=")) {
+ if (!StringUtils.isEmpty(info) && info.contains("=")) {
String[] keyValue = info.split("=");
format.put(keyValue[0], keyValue[1]);
}
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/datax/DataxParameters.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/datax/DataxParameters.java
index c1f5f1d..29fbeaf 100755
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/datax/DataxParameters.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/datax/DataxParameters.java
@@ -20,7 +20,8 @@ package org.apache.dolphinscheduler.common.task.datax;
import org.apache.dolphinscheduler.common.enums.Flag;
import org.apache.dolphinscheduler.common.process.ResourceInfo;
import org.apache.dolphinscheduler.common.task.AbstractParameters;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
+
+import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.List;
@@ -217,10 +218,10 @@ public class DataxParameters extends AbstractParameters {
if (customConfig == Flag.NO.ordinal()) {
return dataSource != 0
&& dataTarget != 0
- && StringUtils.isNotEmpty(sql)
- && StringUtils.isNotEmpty(targetTable);
+ && !StringUtils.isEmpty(sql)
+ && !StringUtils.isEmpty(targetTable);
} else {
- return StringUtils.isNotEmpty(json);
+ return !StringUtils.isEmpty(json);
}
}
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/http/HttpParameters.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/http/HttpParameters.java
index f439dc1..04bc391 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/http/HttpParameters.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/http/HttpParameters.java
@@ -22,7 +22,8 @@ import org.apache.dolphinscheduler.common.enums.HttpMethod;
import org.apache.dolphinscheduler.common.process.HttpProperty;
import org.apache.dolphinscheduler.common.process.ResourceInfo;
import org.apache.dolphinscheduler.common.task.AbstractParameters;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
+
+import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.List;
@@ -71,7 +72,7 @@ public class HttpParameters extends AbstractParameters {
@Override
public boolean checkParameters() {
- return StringUtils.isNotEmpty(url);
+ return !StringUtils.isEmpty(url);
}
@Override
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/procedure/ProcedureParameters.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/procedure/ProcedureParameters.java
index 30ee349..d35b05d 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/procedure/ProcedureParameters.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/procedure/ProcedureParameters.java
@@ -19,7 +19,8 @@ package org.apache.dolphinscheduler.common.task.procedure;
import org.apache.dolphinscheduler.common.process.ResourceInfo;
import org.apache.dolphinscheduler.common.task.AbstractParameters;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
+
+import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.List;
@@ -29,62 +30,61 @@ import java.util.List;
*/
public class ProcedureParameters extends AbstractParameters {
- /**
- * data source type,eg MYSQL, POSTGRES, HIVE ...
- */
- private String type;
-
- /**
- * data source id
- */
- private int datasource;
-
- /**
- * procedure name
- */
- private String method;
-
-
- public String getType() {
- return type;
- }
-
- public void setType(String type) {
- this.type = type;
- }
-
- public int getDatasource() {
- return datasource;
- }
-
- public void setDatasource(int datasource) {
- this.datasource = datasource;
- }
-
- public String getMethod() {
- return method;
- }
-
- public void setMethod(String method) {
- this.method = method;
- }
-
- @Override
- public boolean checkParameters() {
- return datasource != 0 && StringUtils.isNotEmpty(type) && StringUtils.isNotEmpty(method);
- }
-
- @Override
- public List<ResourceInfo> getResourceFilesList() {
- return new ArrayList<>();
- }
-
- @Override
- public String toString() {
- return "ProcessdureParam{" +
- "type='" + type + '\'' +
- ", datasource=" + datasource +
- ", method='" + method + '\'' +
- '}';
- }
+ /**
+ * data source type,eg MYSQL, POSTGRES, HIVE ...
+ */
+ private String type;
+
+ /**
+ * data source id
+ */
+ private int datasource;
+
+ /**
+ * procedure name
+ */
+ private String method;
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public int getDatasource() {
+ return datasource;
+ }
+
+ public void setDatasource(int datasource) {
+ this.datasource = datasource;
+ }
+
+ public String getMethod() {
+ return method;
+ }
+
+ public void setMethod(String method) {
+ this.method = method;
+ }
+
+ @Override
+ public boolean checkParameters() {
+ return datasource != 0 && !StringUtils.isEmpty(type) && !StringUtils.isEmpty(method);
+ }
+
+ @Override
+ public List<ResourceInfo> getResourceFilesList() {
+ return new ArrayList<>();
+ }
+
+ @Override
+ public String toString() {
+ return "ProcessdureParam{"
+ + "type='" + type + '\''
+ + ", datasource=" + datasource
+ + ", method='" + method + '\''
+ + '}';
+ }
}
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/sql/SqlParameters.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/sql/SqlParameters.java
index bcdf4aa..c7a341d 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/sql/SqlParameters.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/sql/SqlParameters.java
@@ -23,7 +23,8 @@ import org.apache.dolphinscheduler.common.process.ResourceInfo;
import org.apache.dolphinscheduler.common.task.AbstractParameters;
import org.apache.dolphinscheduler.common.utils.CollectionUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
+
+import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.HashMap;
@@ -217,7 +218,7 @@ public class SqlParameters extends AbstractParameters {
@Override
public boolean checkParameters() {
- return datasource != 0 && StringUtils.isNotEmpty(type) && StringUtils.isNotEmpty(sql);
+ return datasource != 0 && !StringUtils.isEmpty(type) && !StringUtils.isEmpty(sql);
}
@Override
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/sqoop/SqoopParameters.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/sqoop/SqoopParameters.java
index 8b566a8..40ec6c2 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/sqoop/SqoopParameters.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/sqoop/SqoopParameters.java
@@ -20,7 +20,8 @@ import org.apache.dolphinscheduler.common.enums.SqoopJobType;
import org.apache.dolphinscheduler.common.process.Property;
import org.apache.dolphinscheduler.common.process.ResourceInfo;
import org.apache.dolphinscheduler.common.task.AbstractParameters;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
+
+import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.List;
@@ -28,7 +29,7 @@ import java.util.List;
/**
* sqoop parameters
*/
-public class SqoopParameters extends AbstractParameters {
+public class SqoopParameters extends AbstractParameters {
/**
* sqoop job type:
@@ -180,17 +181,17 @@ public class SqoopParameters extends AbstractParameters {
}
if (SqoopJobType.TEMPLATE.getDescp().equals(jobType)) {
- sqoopParamsCheck = StringUtils.isEmpty(customShell) &&
- StringUtils.isNotEmpty(modelType) &&
- StringUtils.isNotEmpty(jobName) &&
- concurrency != 0 &&
- StringUtils.isNotEmpty(sourceType) &&
- StringUtils.isNotEmpty(targetType) &&
- StringUtils.isNotEmpty(sourceParams) &&
- StringUtils.isNotEmpty(targetParams);
+ sqoopParamsCheck = StringUtils.isEmpty(customShell)
+ && !StringUtils.isEmpty(modelType)
+ && !StringUtils.isEmpty(jobName)
+ && concurrency != 0
+ && !StringUtils.isEmpty(sourceType)
+ && !StringUtils.isEmpty(targetType)
+ && !StringUtils.isEmpty(sourceParams)
+ && !StringUtils.isEmpty(targetParams);
} else if (SqoopJobType.CUSTOM.getDescp().equals(jobType)) {
- sqoopParamsCheck = StringUtils.isNotEmpty(customShell) &&
- StringUtils.isEmpty(jobName);
+ sqoopParamsCheck = !StringUtils.isEmpty(customShell)
+ && StringUtils.isEmpty(jobName);
}
return sqoopParamsCheck;
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/BooleanUtils.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/BooleanUtils.java
deleted file mode 100644
index 5873556..0000000
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/BooleanUtils.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dolphinscheduler.common.utils;
-
-public class BooleanUtils {
-
- public static boolean isTrue(Boolean bool) {
- if (bool == null) {
- return false;
- } else {
- return bool;
- }
- }
-
- public static boolean isNotTrue(Boolean bool) {
- return !isTrue(bool);
- }
-}
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/CollectionUtils.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/CollectionUtils.java
index 64759c4..9801beb 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/CollectionUtils.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/CollectionUtils.java
@@ -18,6 +18,7 @@
package org.apache.dolphinscheduler.common.utils;
import org.apache.commons.beanutils.BeanMap;
+import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.Collection;
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/CommonUtils.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/CommonUtils.java
index 96d2369..0933832 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/CommonUtils.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/CommonUtils.java
@@ -21,6 +21,7 @@ import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.enums.ResUploadType;
import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.lang.StringUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.security.UserGroupInformation;
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/DateUtils.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/DateUtils.java
index 5a6a704..1795ca3 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/DateUtils.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/DateUtils.java
@@ -19,6 +19,8 @@ package org.apache.dolphinscheduler.common.utils;
import org.apache.dolphinscheduler.common.Constants;
+import org.apache.commons.lang.StringUtils;
+
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
@@ -26,16 +28,12 @@ import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;
-import java.util.Objects;
import java.util.TimeZone;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-/**
- * date utils
- */
-public class DateUtils {
+public final class DateUtils {
static final long C0 = 1L;
static final long C1 = C0 * 1000L;
@@ -45,11 +43,6 @@ public class DateUtils {
static final long C5 = C4 * 60L;
static final long C6 = C5 * 24L;
- /**
- * a default datetime formatter for the timestamp
- */
- private static final DateTimeFormatter DEFAULT_DATETIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-
private static final Logger logger = LoggerFactory.getLogger(DateUtils.class);
private DateUtils() {
@@ -57,25 +50,6 @@ public class DateUtils {
}
/**
- * @param timeMillis timeMillis like System.currentTimeMillis()
- * @return string formatted as yyyy-MM-dd HH:mm:ss
- */
- public static String formatTimeStamp(long timeMillis) {
- return formatTimeStamp(timeMillis, DEFAULT_DATETIME_FORMATTER);
- }
-
- /**
- * @param timeMillis timeMillis like System.currentTimeMillis()
- * @param dateTimeFormatter expect formatter, like yyyy-MM-dd HH:mm:ss
- * @return formatted string
- */
- public static String formatTimeStamp(long timeMillis, DateTimeFormatter dateTimeFormatter) {
- Objects.requireNonNull(dateTimeFormatter);
- return dateTimeFormatter.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(timeMillis),
- ZoneId.systemDefault()));
- }
-
- /**
* date to local datetime
*
* @param date date
@@ -200,28 +174,6 @@ public class DateUtils {
}
/**
- * get hours between two dates
- *
- * @param d1 date1
- * @param d2 date2
- * @return differ hours
- */
- public static long diffHours(Date d1, Date d2) {
- return (long) Math.ceil(diffMin(d1, d2) / 60.0);
- }
-
- /**
- * get minutes between two dates
- *
- * @param d1 date1
- * @param d2 date2
- * @return differ minutes
- */
- public static long diffMin(Date d1, Date d2) {
- return (long) Math.ceil(differSec(d1, d2) / 60.0);
- }
-
- /**
* get the date of the specified date in the days before and after
*
* @param date date
@@ -483,38 +435,6 @@ public class DateUtils {
Constants.YYYY_MM_DD_HH_MM_SS);
}
- public static Date addYears(Date date, int amount) {
- return add(date, 1, amount);
- }
-
- public static Date addMonths(Date date, int amount) {
- return add(date, 2, amount);
- }
-
- public static Date addWeeks(Date date, int amount) {
- return add(date, 3, amount);
- }
-
- public static Date addDays(Date date, int amount) {
- return add(date, 5, amount);
- }
-
- public static Date addHours(Date date, int amount) {
- return add(date, 11, amount);
- }
-
- public static Date addMinutes(Date date, int amount) {
- return add(date, 12, amount);
- }
-
- public static Date addSeconds(Date date, int amount) {
- return add(date, 13, amount);
- }
-
- public static Date addMilliseconds(Date date, int amount) {
- return add(date, 14, amount);
- }
-
/**
* get date
*
@@ -590,19 +510,6 @@ public class DateUtils {
* Time unit representing one thousandth of a second
*/
public static class MILLISECONDS {
-
- public static long toSeconds(long d) {
- return d / (C3 / C2);
- }
-
- public static long toMinutes(long d) {
- return d / (C4 / C2);
- }
-
- public static long toHours(long d) {
- return d / (C5 / C2);
- }
-
public static long toDays(long d) {
return d / (C6 / C2);
}
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/EncryptionUtils.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/EncryptionUtils.java
index 5d9d540..be8564f 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/EncryptionUtils.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/EncryptionUtils.java
@@ -18,6 +18,7 @@
package org.apache.dolphinscheduler.common.utils;
import org.apache.commons.codec.digest.DigestUtils;
+import org.apache.commons.lang.StringUtils;
/**
* encryption utils
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/FileUtils.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/FileUtils.java
index 32e8598..9fa9b5f 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/FileUtils.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/FileUtils.java
@@ -22,8 +22,8 @@ import static org.apache.dolphinscheduler.common.Constants.RESOURCE_VIEW_SUFFIXS
import static org.apache.dolphinscheduler.common.Constants.RESOURCE_VIEW_SUFFIXS_DEFAULT_VALUE;
import static org.apache.dolphinscheduler.common.Constants.YYYYMMDDHHMMSS;
-import org.apache.commons.io.Charsets;
import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang.StringUtils;
import java.io.BufferedReader;
import java.io.BufferedWriter;
@@ -32,13 +32,9 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.StringReader;
-import java.io.UnsupportedEncodingException;
-import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
-import java.nio.charset.UnsupportedCharsetException;
import java.util.Optional;
import org.slf4j.Logger;
@@ -68,7 +64,7 @@ public class FileUtils {
public static String suffix(String filename) {
String fileSuffix = "";
- if (StringUtils.isNotEmpty(filename)) {
+ if (!StringUtils.isEmpty(filename)) {
int lastIndex = filename.lastIndexOf('.');
if (lastIndex > 0) {
fileSuffix = filename.substring(lastIndex + 1);
@@ -168,7 +164,6 @@ public class FileUtils {
* @return true if write success
*/
public static boolean writeContent2File(String content, String filePath) {
- boolean flag = true;
BufferedReader bufferedReader = null;
BufferedWriter bufferedWriter = null;
try {
@@ -189,184 +184,12 @@ public class FileUtils {
bufferedWriter.close();
} catch (IOException e) {
FileUtils.logger.error(e.getMessage(), e);
- flag = false;
- return flag;
+ return false;
} finally {
IOUtils.closeQuietly(bufferedWriter);
IOUtils.closeQuietly(bufferedReader);
}
- return flag;
- }
-
- /**
- * Writes a String to a file creating the file if it does not exist.
- * <p>
- * NOTE: As from v1.3, the parent directories of the file will be created
- * if they do not exist.
- *
- * @param file the file to write
- * @param data the content to write to the file
- * @param encoding the encoding to use, {@code null} means platform default
- * @throws IOException in case of an I/O error
- * @throws java.io.UnsupportedEncodingException if the encoding is not supported by the VM
- * @since 2.4
- */
- public static void writeStringToFile(File file, String data, Charset encoding) throws IOException {
- writeStringToFile(file, data, encoding, false);
- }
-
- /**
- * Writes a String to a file creating the file if it does not exist.
- * <p>
- * NOTE: As from v1.3, the parent directories of the file will be created
- * if they do not exist.
- *
- * @param file the file to write
- * @param data the content to write to the file
- * @param encoding the encoding to use, {@code null} means platform default
- * @throws IOException in case of an I/O error
- * @throws java.io.UnsupportedEncodingException if the encoding is not supported by the VM
- */
- public static void writeStringToFile(File file, String data, String encoding) throws IOException {
- writeStringToFile(file, data, encoding, false);
- }
-
- /**
- * Writes a String to a file creating the file if it does not exist.
- *
- * @param file the file to write
- * @param data the content to write to the file
- * @param encoding the encoding to use, {@code null} means platform default
- * @param append if {@code true}, then the String will be added to the
- * end of the file rather than overwriting
- * @throws IOException in case of an I/O error
- * @since 2.3
- */
- public static void writeStringToFile(File file, String data, Charset encoding, boolean append) throws IOException {
- OutputStream out = null;
- try {
- out = openOutputStream(file, append);
- IOUtils.write(data, out, encoding);
- out.close(); // don't swallow close Exception if copy completes normally
- } finally {
- IOUtils.closeQuietly(out);
- }
- }
-
- /**
- * Writes a String to a file creating the file if it does not exist.
- *
- * @param file the file to write
- * @param data the content to write to the file
- * @param encoding the encoding to use, {@code null} means platform default
- * @param append if {@code true}, then the String will be added to the
- * end of the file rather than overwriting
- * @throws IOException in case of an I/O error
- * @throws UnsupportedCharsetException thrown instead of {@link UnsupportedEncodingException} in version 2.2 if the encoding is not
- * supported by the VM
- * @since 2.1
- */
- public static void writeStringToFile(File file, String data, String encoding, boolean append) throws IOException {
- writeStringToFile(file, data, Charsets.toCharset(encoding), append);
- }
-
- /**
- * Writes a String to a file creating the file if it does not exist using the default encoding for the VM.
- *
- * @param file the file to write
- * @param data the content to write to the file
- * @throws IOException in case of an I/O error
- */
- public static void writeStringToFile(File file, String data) throws IOException {
- writeStringToFile(file, data, Charset.defaultCharset(), false);
- }
-
- /**
- * Writes a String to a file creating the file if it does not exist using the default encoding for the VM.
- *
- * @param file the file to write
- * @param data the content to write to the file
- * @param append if {@code true}, then the String will be added to the
- * end of the file rather than overwriting
- * @throws IOException in case of an I/O error
- * @since 2.1
- */
- public static void writeStringToFile(File file, String data, boolean append) throws IOException {
- writeStringToFile(file, data, Charset.defaultCharset(), append);
- }
-
- /**
- * Opens a {@link FileOutputStream} for the specified file, checking and
- * creating the parent directory if it does not exist.
- * <p>
- * At the end of the method either the stream will be successfully opened,
- * or an exception will have been thrown.
- * <p>
- * The parent directory will be created if it does not exist.
- * The file will be created if it does not exist.
- * An exception is thrown if the file object exists but is a directory.
- * An exception is thrown if the file exists but cannot be written to.
- * An exception is thrown if the parent directory cannot be created.
- *
- * @param file the file to open for output, must not be {@code null}
- * @return a new {@link FileOutputStream} for the specified file
- * @throws IOException if the file object is a directory
- * @throws IOException if the file cannot be written to
- * @throws IOException if a parent directory needs creating but that fails
- * @since 1.3
- */
- public static FileOutputStream openOutputStream(File file) throws IOException {
- return openOutputStream(file, false);
- }
-
- /**
- * Opens a {@link FileOutputStream} for the specified file, checking and
- * creating the parent directory if it does not exist.
- * <p>
- * At the end of the method either the stream will be successfully opened,
- * or an exception will have been thrown.
- * <p>
- * The parent directory will be created if it does not exist.
- * The file will be created if it does not exist.
- * An exception is thrown if the file object exists but is a directory.
- * An exception is thrown if the file exists but cannot be written to.
- * An exception is thrown if the parent directory cannot be created.
- *
- * @param file the file to open for output, must not be {@code null}
- * @param append if {@code true}, then bytes will be added to the
- * end of the file rather than overwriting
- * @return a new {@link FileOutputStream} for the specified file
- * @throws IOException if the file object is a directory
- * @throws IOException if the file cannot be written to
- * @throws IOException if a parent directory needs creating but that fails
- * @since 2.1
- */
- public static FileOutputStream openOutputStream(File file, boolean append) throws IOException {
- if (file.exists()) {
- if (file.isDirectory()) {
- throw new IOException("File '" + file + "' exists but is a directory");
- }
- if (!file.canWrite()) {
- throw new IOException("File '" + file + "' cannot be written to");
- }
- } else {
- File parent = file.getParentFile();
- if (parent != null && !parent.mkdirs() && !parent.isDirectory()) {
- throw new IOException("Directory '" + parent + "' could not be created");
- }
- }
- return new FileOutputStream(file, append);
- }
-
- /**
- * deletes a directory recursively
- *
- * @param dir directory
- * @throws IOException in case deletion is unsuccessful
- */
-
- public static void deleteDir(String dir) throws IOException {
- org.apache.commons.io.FileUtils.deleteDirectory(new File(dir));
+ return true;
}
/**
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/HadoopUtils.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/HadoopUtils.java
index 2dbc484..8b03913 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/HadoopUtils.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/HadoopUtils.java
@@ -26,6 +26,7 @@ import org.apache.dolphinscheduler.common.enums.ResourceType;
import org.apache.dolphinscheduler.common.exception.BaseException;
import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang.StringUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileStatus;
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/JSONUtils.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/JSONUtils.java
index 0b1edec..09f4432 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/JSONUtils.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/JSONUtils.java
@@ -24,6 +24,8 @@ import static com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKN
import static com.fasterxml.jackson.databind.DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL;
import static com.fasterxml.jackson.databind.MapperFeature.REQUIRE_SETTERS_FOR_GETTERS;
+import org.apache.commons.lang.StringUtils;
+
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/OSUtils.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/OSUtils.java
index 3851f77..07053fa 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/OSUtils.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/OSUtils.java
@@ -19,6 +19,8 @@ package org.apache.dolphinscheduler.common.utils;
import org.apache.dolphinscheduler.common.shell.ShellExecutor;
+import org.apache.commons.lang.StringUtils;
+
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
@@ -206,7 +208,7 @@ public class OSUtils {
*/
private static List<String> getUserListFromMac() throws IOException {
String result = exeCmd("dscl . list /users");
- if (StringUtils.isNotEmpty(result)) {
+ if (!StringUtils.isEmpty(result)) {
return Arrays.asList(result.split("\n"));
}
@@ -392,7 +394,7 @@ public class OSUtils {
}
} else {
String result = exeCmd("groups");
- if (StringUtils.isNotEmpty(result)) {
+ if (!StringUtils.isEmpty(result)) {
String[] groupInfo = result.split(" ");
return groupInfo[0];
}
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ParameterUtils.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ParameterUtils.java
index e010e06..8aa6f80 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ParameterUtils.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ParameterUtils.java
@@ -25,6 +25,8 @@ import org.apache.dolphinscheduler.common.utils.placeholder.BusinessTimeUtils;
import org.apache.dolphinscheduler.common.utils.placeholder.PlaceholderUtils;
import org.apache.dolphinscheduler.common.utils.placeholder.TimePlaceholderUtils;
+import org.apache.commons.lang.StringUtils;
+
import java.sql.PreparedStatement;
import java.util.Date;
import java.util.HashMap;
@@ -99,7 +101,7 @@ public class ParameterUtils {
String cronTimeStr = parameterMap.get(Constants.PARAMETER_SHECDULE_TIME);
Date cronTime = null;
- if (StringUtils.isNotEmpty(cronTimeStr)) {
+ if (!StringUtils.isEmpty(cronTimeStr)) {
cronTime = DateUtils.parse(cronTimeStr, Constants.PARAMETER_FORMAT_TIME);
} else {
@@ -209,7 +211,7 @@ public class ParameterUtils {
*/
public static String handleEscapes(String inputString) {
- if (StringUtils.isNotEmpty(inputString)) {
+ if (!StringUtils.isEmpty(inputString)) {
return inputString.replace("%", "////%").replaceAll("[\n|\r\t]", "_");
}
return inputString;
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ResInfo.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ResInfo.java
index d1bab86..f54bd17 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ResInfo.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ResInfo.java
@@ -20,6 +20,8 @@ package org.apache.dolphinscheduler.common.utils;
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.model.Server;
+import org.apache.commons.lang.StringUtils;
+
/**
* heartbeat for ZK reigster res info
*/
@@ -113,7 +115,7 @@ public class ResInfo {
* @return heartbeat info is valid
*/
public static boolean isValidHeartbeatForRegistryInfo(String heartBeatInfo) {
- if (StringUtils.isNotEmpty(heartBeatInfo)) {
+ if (!StringUtils.isEmpty(heartBeatInfo)) {
String[] parts = heartBeatInfo.split(Constants.COMMA);
return parts.length == Constants.HEARTBEAT_FOR_ZOOKEEPER_INFO_LENGTH
|| parts.length == Constants.HEARTBEAT_WITH_WEIGHT_FOR_ZOOKEEPER_INFO_LENGTH;
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/SchemaUtils.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/SchemaUtils.java
index bbcd9fe..880c440 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/SchemaUtils.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/SchemaUtils.java
@@ -17,6 +17,8 @@
package org.apache.dolphinscheduler.common.utils;
+import org.apache.commons.lang.StringUtils;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ScriptRunner.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ScriptRunner.java
index 1579761..31a362c 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ScriptRunner.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ScriptRunner.java
@@ -1,12 +1,12 @@
-/**
+/*
* Copyright 2004-2020 the original author or authors.
- *
+ * <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -32,113 +32,85 @@ import org.slf4j.LoggerFactory;
*/
public class ScriptRunner {
- public static final Logger logger = LoggerFactory.getLogger(ScriptRunner.class);
-
- private static final String DEFAULT_DELIMITER = ";";
-
- private Connection connection;
-
- private boolean stopOnError;
- private boolean autoCommit;
-
- private String delimiter = DEFAULT_DELIMITER;
- private boolean fullLineDelimiter = false;
-
-
- public ScriptRunner(Connection connection, boolean autoCommit, boolean stopOnError) {
- this.connection = connection;
- this.autoCommit = autoCommit;
- this.stopOnError = stopOnError;
- }
-
-
- public void setDelimiter(String delimiter, boolean fullLineDelimiter) {
- this.delimiter = delimiter;
- this.fullLineDelimiter = fullLineDelimiter;
- }
-
- /**
- * Runs an SQL script (read in using the Reader parameter)
- *
- * @param reader
- * - the source of the script
- * @throws IOException errors
- * @throws SQLException errors
- */
- public void runScript(Reader reader) throws IOException, SQLException {
- try {
- boolean originalAutoCommit = connection.getAutoCommit();
- try {
- if (originalAutoCommit != this.autoCommit) {
- connection.setAutoCommit(this.autoCommit);
- }
- runScript(connection, reader);
- } finally {
- connection.setAutoCommit(originalAutoCommit);
- }
- } catch (IOException | SQLException e) {
- throw e;
- } catch (Exception e) {
- throw new RuntimeException("Error running script. Cause: " + e, e);
- }
- }
-
- public void runScript(Reader reader, String dbName) throws IOException, SQLException {
- try {
- boolean originalAutoCommit = connection.getAutoCommit();
- try {
- if (originalAutoCommit != this.autoCommit) {
- connection.setAutoCommit(this.autoCommit);
- }
- runScript(connection, reader, dbName);
- } finally {
- connection.setAutoCommit(originalAutoCommit);
- }
- } catch (IOException | SQLException e) {
- throw e;
- } catch (Exception e) {
- throw new RuntimeException("Error running script. Cause: " + e, e);
- }
- }
-
- /**
- * Runs an SQL script (read in using the Reader parameter) using the connection
- * passed in
- *
- * @param conn
- * - the connection to use for the script
- * @param reader
- * - the source of the script
- * @throws SQLException
- * if any SQL errors occur
- * @throws IOException
- * if there is an error reading from the Reader
- */
- private void runScript(Connection conn, Reader reader) throws IOException, SQLException {
- StringBuffer command = null;
- try {
- LineNumberReader lineReader = new LineNumberReader(reader);
- String line = null;
- while ((line = lineReader.readLine()) != null) {
- if (command == null) {
- command = new StringBuffer();
- }
- String trimmedLine = line.trim();
- if (trimmedLine.startsWith("--")) {
- logger.info(trimmedLine);
- } else if (trimmedLine.length() < 1 || trimmedLine.startsWith("//")) {
- // Do nothing
- } else if (trimmedLine.length() < 1 || trimmedLine.startsWith("--")) {
- // Do nothing
-
- } else if (trimmedLine.startsWith("delimiter")) {
- String newDelimiter = trimmedLine.split(" ")[1];
- this.setDelimiter(newDelimiter, fullLineDelimiter);
-
- } else if (!fullLineDelimiter && trimmedLine.endsWith(getDelimiter())
- || fullLineDelimiter && trimmedLine.equals(getDelimiter())) {
- command.append(line.substring(0, line.lastIndexOf(getDelimiter())));
- command.append(" ");
+ public static final Logger logger = LoggerFactory.getLogger(ScriptRunner.class);
+
+ private static final String DEFAULT_DELIMITER = ";";
+
+ private final Connection connection;
+
+ private final boolean stopOnError;
+ private final boolean autoCommit;
+
+ private String delimiter = DEFAULT_DELIMITER;
+ private boolean fullLineDelimiter = false;
+
+ public ScriptRunner(Connection connection, boolean autoCommit, boolean stopOnError) {
+ this.connection = connection;
+ this.autoCommit = autoCommit;
+ this.stopOnError = stopOnError;
+ }
+
+ public void setDelimiter(String delimiter, boolean fullLineDelimiter) {
+ this.delimiter = delimiter;
+ this.fullLineDelimiter = fullLineDelimiter;
+ }
+
+ /**
+ * Runs an SQL script (read in using the Reader parameter)
+ *
+ * @param reader - the source of the script
+ * @throws IOException errors
+ * @throws SQLException errors
+ */
+ public void runScript(Reader reader) throws IOException, SQLException {
+ try {
+ boolean originalAutoCommit = connection.getAutoCommit();
+ try {
+ if (originalAutoCommit != this.autoCommit) {
+ connection.setAutoCommit(this.autoCommit);
+ }
+ runScript(connection, reader);
+ } finally {
+ connection.setAutoCommit(originalAutoCommit);
+ }
+ } catch (IOException | SQLException e) {
+ throw e;
+ } catch (Exception e) {
+ throw new RuntimeException("Error running script. Cause: " + e, e);
+ }
+ }
+
+ /**
+ * Runs an SQL script (read in using the Reader parameter) using the connection
+ * passed in
+ *
+ * @param conn - the connection to use for the script
+ * @param reader - the source of the script
+ * @throws SQLException if any SQL errors occur
+ * @throws IOException if there is an error reading from the Reader
+ */
+ private void runScript(Connection conn, Reader reader) throws IOException, SQLException {
+ StringBuffer command = null;
+ try {
+ LineNumberReader lineReader = new LineNumberReader(reader);
+ String line;
+ while ((line = lineReader.readLine()) != null) {
+ if (command == null) {
+ command = new StringBuffer();
+ }
+ String trimmedLine = line.trim();
+ if (trimmedLine.startsWith("--")) {
+ logger.info(trimmedLine);
+ } else if (trimmedLine.length() < 1 || trimmedLine.startsWith("//")) {
+ // Do nothing
+ } else if (trimmedLine.startsWith("delimiter")) {
+ String newDelimiter = trimmedLine.split(" ")[1];
+ this.setDelimiter(newDelimiter, fullLineDelimiter);
+
+ } else if (!fullLineDelimiter && trimmedLine.endsWith(getDelimiter())
+ || fullLineDelimiter && trimmedLine.equals(getDelimiter())) {
+ command.append(line, 0, line.lastIndexOf(getDelimiter()));
+ command.append(" ");
logger.info("sql: {}", command);
try (Statement statement = conn.createStatement()) {
@@ -160,104 +132,32 @@ public class ScriptRunner {
logger.info("");
}
}
- }
- } catch (SQLException e) {
- logger.error("SQLException", e);
- throw e;
- }
-
- command = null;
- Thread.yield();
- } else {
- command.append(line);
- command.append(" ");
- }
- }
-
- } catch (SQLException e) {
- logger.error("Error executing: {}", command);
- throw e;
- } catch (IOException e) {
- e.fillInStackTrace();
- logger.error("Error executing: {}", command);
- throw e;
- }
- }
-
- private void runScript(Connection conn, Reader reader , String dbName) throws IOException, SQLException {
- StringBuffer command = null;
- String sql = "";
- String appKey = dbName.substring(dbName.lastIndexOf("_")+1, dbName.length());
- try {
- LineNumberReader lineReader = new LineNumberReader(reader);
- String line = null;
- while ((line = lineReader.readLine()) != null) {
- if (command == null) {
- command = new StringBuffer();
- }
- String trimmedLine = line.trim();
- if (trimmedLine.startsWith("--")) {
- logger.info(trimmedLine);
- } else if (trimmedLine.length() < 1 || trimmedLine.startsWith("//")) {
- // Do nothing
- } else if (trimmedLine.length() < 1 || trimmedLine.startsWith("--")) {
- // Do nothing
-
- } else if (trimmedLine.startsWith("delimiter")) {
- String newDelimiter = trimmedLine.split(" ")[1];
- this.setDelimiter(newDelimiter, fullLineDelimiter);
-
- } else if (!fullLineDelimiter && trimmedLine.endsWith(getDelimiter())
- || fullLineDelimiter && trimmedLine.equals(getDelimiter())) {
- command.append(line.substring(0, line.lastIndexOf(getDelimiter())));
- command.append(" ");
- sql = command.toString().replaceAll("\\{\\{APPDB\\}\\}", dbName);
- logger.info("sql : {}", sql);
-
- try (Statement statement = conn.createStatement()) {
- statement.execute(sql);
- try (ResultSet rs = statement.getResultSet()) {
- if (stopOnError && rs != null) {
- ResultSetMetaData md = rs.getMetaData();
- int cols = md.getColumnCount();
- for (int i = 0; i < cols; i++) {
- String name = md.getColumnLabel(i);
- logger.info("{} \t", name);
- }
- logger.info("");
- while (rs.next()) {
- for (int i = 0; i < cols; i++) {
- String value = rs.getString(i);
- logger.info("{} \t", value);
- }
- logger.info("");
- }
- }
- }
+ }
} catch (SQLException e) {
logger.error("SQLException", e);
throw e;
}
- command = null;
- Thread.yield();
- } else {
- command.append(line);
- command.append(" ");
- }
- }
-
- } catch (SQLException e) {
- throw e;
- } catch (IOException e) {
- e.fillInStackTrace();
- logger.error("Error executing: {}", sql);
- throw e;
- }
- }
-
- private String getDelimiter() {
- return delimiter;
- }
-
-}
\ No newline at end of file
+ command = null;
+ Thread.yield();
+ } else {
+ command.append(line);
+ command.append(" ");
+ }
+ }
+
+ } catch (SQLException e) {
+ logger.error("Error executing: {}", command);
+ throw e;
+ } catch (IOException e) {
+ e.fillInStackTrace();
+ logger.error("Error executing: {}", command);
+ throw e;
+ }
+ }
+
+ private String getDelimiter() {
+ return delimiter;
+ }
+
+}
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/SensitiveLogUtils.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/SensitiveLogUtils.java
index 5706c38..b95417e 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/SensitiveLogUtils.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/SensitiveLogUtils.java
@@ -19,6 +19,8 @@ package org.apache.dolphinscheduler.common.utils;
import org.apache.dolphinscheduler.common.Constants;
+import org.apache.commons.lang.StringUtils;
+
/**
* sensitive log Util
*/
@@ -34,7 +36,7 @@ public class SensitiveLogUtils {
*/
public static String maskDataSourcePwd(String dataSourcePwd) {
- if (StringUtils.isNotEmpty(dataSourcePwd)) {
+ if (!StringUtils.isEmpty(dataSourcePwd)) {
dataSourcePwd = Constants.PASSWORD_DEFAULT;
}
return dataSourcePwd;
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/StringUtils.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/StringUtils.java
deleted file mode 100644
index c30d60e..0000000
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/StringUtils.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dolphinscheduler.common.utils;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * java.lang.String utils class
- */
-public class StringUtils {
-
- /**
- * The empty String {@code ""}.
- */
- public static final String EMPTY = "";
-
- public static final int INDEX_NOT_FOUND = -1;
-
- private StringUtils() {
- throw new UnsupportedOperationException("Construct StringUtils");
- }
-
- /**
- * <p>Checks if a CharSequence is empty ("") or null.</p>
- *
- * @param cs the CharSequence to check, may be null
- * @return {@code true} if the CharSequence is empty or null
- */
- public static boolean isEmpty(final CharSequence cs) {
- return cs == null || cs.length() == 0;
- }
-
- /**
- * <p>Checks if a CharSequence is not empty ("") and not null.</p>
- *
- * @param cs the CharSequence to check, may be null
- * @return {@code true} if the CharSequence is not empty and not null
- */
- public static boolean isNotEmpty(final CharSequence cs) {
- return !isEmpty(cs);
- }
-
- /**
- * <p>Checks if a CharSequence is empty (""), null or whitespace only.</p>
- *
- * @param cs the CharSequence to check, may be null
- * @return {@code true} if the CharSequence is null, empty or whitespace only
- */
- public static boolean isBlank(final CharSequence cs) {
- int strLen;
- if (cs == null || (strLen = cs.length()) == 0) {
- return true;
- }
- for (int i = 0; i < strLen; i++) {
- if (!Character.isWhitespace(cs.charAt(i))) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * <p>Checks if a CharSequence is not empty (""), not null and not whitespace only.</p>
- *
- * @param cs the CharSequence to check, may be null
- * @return {@code true} if the CharSequence is not empty and not null and not whitespace only
- */
- public static boolean isNotBlank(final CharSequence cs) {
- return !isBlank(cs);
- }
-
- /**
- * <p>Replace all strings matching the regular expression \t \n \r with _</p>
- *
- * @param src the String , may be null
- * @return the string that has been replaced
- */
- public static String replaceNRTtoUnderline(String src) {
- return isBlank(src) ? src : src.replaceAll("[\n|\r|\t]", "_");
- }
-
- /**
- * <p>Removes control characters (char <= 32) from both
- * ends of this String, handling {@code null} by returning
- * {@code null}.</p>
- *
- * @param str the String to be trimmed, may be null
- * @return the trimmed string, {@code null} if null String input
- */
- public static String trim(final String str) {
- return str == null ? null : str.trim();
- }
-
- /**
- * <p>Returns either the passed in CharSequence, or if the CharSequence is
- * whitespace, empty ("") or {@code null}, the value of {@code defaultStr}.</p>
- *
- * @param <T> the specific kind of CharSequence
- * @param str the CharSequence to check, may be null
- * @param defaultStr the default CharSequence to return
- * if the input is whitespace, empty ("") or {@code null}, may be null
- * @return the passed in CharSequence, or the default
- */
- public static <T extends CharSequence> T defaultIfBlank(final T str, final T defaultStr) {
- return isBlank(str) ? defaultStr : str;
- }
-
- /**
- * <p>Compares two String, returning {@code true} if they represent
- * equal string, ignoring case.</p>
- *
- * @param str1 the first String, may be null
- * @param str2 the second String, may be null
- * @return {@code true} if the String are equal, case insensitive, or
- * both {@code null}
- */
- public static boolean equalsIgnoreCase(String str1, String str2) {
- return str1 == null ? str2 == null : str1.equalsIgnoreCase(str2);
- }
-
- public static String substringBefore(final String str, final String separator) {
- if (isEmpty(str) || separator == null) {
- return str;
- }
- if (separator.isEmpty()) {
- return EMPTY;
- }
- final int pos = str.indexOf(separator);
- if (pos == INDEX_NOT_FOUND) {
- return str;
- }
- return str.substring(0, pos);
- }
-
- public static String substringAfter(final String str, final String separator) {
- if (isEmpty(str)) {
- return str;
- }
- if (separator == null) {
- return EMPTY;
- }
- final int pos = str.indexOf(separator);
- if (pos == INDEX_NOT_FOUND) {
- return EMPTY;
- }
- return str.substring(pos + separator.length());
- }
-
- public static long strDigitToLong(String str, long defaultValue) {
- if (str == null) {
- return defaultValue;
- } else {
- try {
- return Long.parseLong(str);
- } catch (NumberFormatException var4) {
- return defaultValue;
- }
- }
- }
-
- /**
- * <p>Joins the elements of the provided Collection into a single String
- * containing the provided Collection of elements.</p>
- *
- * @param collection the collection, may be null
- * @param separator the separator
- * @return a single String
- */
- public static String join(Collection<?> collection, String separator) {
- return collection == null ? null : join(collection.iterator(), separator);
- }
-
- /**
- * <p>Joins the elements of the provided Iterator into a single String
- * containing the provided Iterator of elements.</p>
- *
- * @param iterator the iterator, may be null
- * @param separator the separator
- * @return a single String
- */
- public static String join(Iterator<?> iterator, String separator) {
- if (iterator == null) {
- return null;
- } else if (!iterator.hasNext()) {
- return "";
- } else {
- Object first = iterator.next();
- if (!iterator.hasNext()) {
- return first == null ? "" : first.toString();
- } else {
- StringBuilder buf = new StringBuilder(256);
- if (first != null) {
- buf.append(first);
- }
-
- while (iterator.hasNext()) {
- if (separator != null) {
- buf.append(separator);
- }
-
- Object obj = iterator.next();
- if (obj != null) {
- buf.append(obj);
- }
- }
- return buf.toString();
- }
- }
- }
-}
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/placeholder/TimePlaceholderUtils.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/placeholder/TimePlaceholderUtils.java
index 0094390..bfb5e28 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/placeholder/TimePlaceholderUtils.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/placeholder/TimePlaceholderUtils.java
@@ -33,7 +33,8 @@ import static org.apache.dolphinscheduler.common.Constants.SUBTRACT_STRING;
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.utils.DateUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
+
+import org.apache.commons.lang.StringUtils;
import java.util.AbstractMap;
import java.util.ArrayList;
diff --git a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/DateUtilsTest.java b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/DateUtilsTest.java
index df84671..2cddfbb 100644
--- a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/DateUtilsTest.java
+++ b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/DateUtilsTest.java
@@ -43,20 +43,6 @@ public class DateUtilsTest {
}
@Test
- public void testConvertTimeStampsToString() {
- TimeZone defaultTimeZone = TimeZone.getDefault();
- final TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
- TimeZone.setDefault(timeZone);
-
- long timeMillis = 1625989249021L;
- Assert.assertEquals("2021-07-11 15:40:49", DateUtils.formatTimeStamp(timeMillis));
- DateTimeFormatter testFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
- Assert.assertEquals("2021/07/11 15:40:49", DateUtils.formatTimeStamp(timeMillis, testFormatter));
-
- TimeZone.setDefault(defaultTimeZone);
- }
-
- @Test
public void testWeek() {
Date curr = DateUtils.stringToDate("2019-02-01 00:00:00");
Date monday1 = DateUtils.stringToDate("2019-01-28 00:00:00");
@@ -70,18 +56,6 @@ public class DateUtilsTest {
}
@Test
- public void diffHours() {
- Date d1 = DateUtils.stringToDate("2019-01-28 00:00:00");
- Date d2 = DateUtils.stringToDate("2019-01-28 20:00:00");
- Assert.assertEquals(DateUtils.diffHours(d1, d2), 20);
- Date d3 = DateUtils.stringToDate("2019-01-28 20:00:00");
- Assert.assertEquals(DateUtils.diffHours(d3, d2), 0);
- Assert.assertEquals(DateUtils.diffHours(d2, d1), 20);
- Date d4 = null;
- Assert.assertEquals(DateUtils.diffHours(d2, d4), 0);
- }
-
- @Test
public void dateToString() {
Date d1 = DateUtils.stringToDate("2019-01-28");
Assert.assertNull(d1);
diff --git a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/ScriptRunnerTest.java b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/ScriptRunnerTest.java
index 155d52a..befc290 100644
--- a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/ScriptRunnerTest.java
+++ b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/ScriptRunnerTest.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
package org.apache.dolphinscheduler.common.utils;
+
+import java.io.StringReader;
+
import org.junit.Assert;
import org.junit.Test;
-import org.mockito.Mockito;
-import java.io.StringReader;
-import java.sql.*;
public class ScriptRunnerTest {
@Test
@@ -33,38 +33,5 @@ public class ScriptRunnerTest {
exception = e;
}
Assert.assertNotNull(exception);
-
- //connect is not null
- runScript("");
- }
-
- private void runScript(String dbName) {
- try {
- Connection conn = Mockito.mock(Connection.class);
- Mockito.when(conn.getAutoCommit()).thenReturn(true);
- PreparedStatement st = Mockito.mock(PreparedStatement.class);
- Mockito.when(conn.createStatement()).thenReturn(st);
- ResultSet rs = Mockito.mock(ResultSet.class);
- Mockito.when(st.getResultSet()).thenReturn(rs);
- ResultSetMetaData md = Mockito.mock(ResultSetMetaData.class);
- Mockito.when(rs.getMetaData()).thenReturn(md);
- Mockito.when(md.getColumnCount()).thenReturn(2);
- Mockito.when(rs.next()).thenReturn(true, false);
- ScriptRunner s = new ScriptRunner(conn, true, true);
- if (dbName.isEmpty()) {
- s.runScript(new StringReader("select 1;"));
- } else {
- s.runScript(new StringReader("select 1;"), dbName);
- }
- Mockito.verify(md).getColumnLabel(1);
- } catch(Exception e) {
- Assert.assertNotNull(e);
- }
- }
-
- @Test
- public void testRunScriptWithDbName() {
- //connect is not null
- runScript("db_test");
}
}
diff --git a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/StringUtilsTest.java b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/StringUtilsTest.java
deleted file mode 100644
index 2e59750..0000000
--- a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/StringUtilsTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dolphinscheduler.common.utils;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-public class StringUtilsTest {
- @Test
- public void testIsNotEmpty() {
- //null string
- boolean b = StringUtils.isNotEmpty(null);
- Assert.assertFalse(b);
-
- //"" string
- b = StringUtils.isNotEmpty("");
- Assert.assertFalse(b);
-
- //" " string
- b = StringUtils.isNotEmpty(" ");
- Assert.assertTrue(b);
-
- //"test" string
- b = StringUtils.isNotEmpty("test");
- Assert.assertTrue(b);
- }
-
- @Test
- public void testIsNotBlank() {
- //null string
- boolean b = StringUtils.isNotBlank(null);
- Assert.assertFalse(b);
-
- //"" string
- b = StringUtils.isNotBlank("");
- Assert.assertFalse(b);
-
- //" " string
- b = StringUtils.isNotBlank(" ");
- Assert.assertFalse(b);
-
- //" test " string
- b = StringUtils.isNotBlank(" test ");
- Assert.assertTrue(b);
-
- //"test" string
- b = StringUtils.isNotBlank("test");
- Assert.assertTrue(b);
- }
-
- @Test
- public void testTrim() {
- String trim = StringUtils.trim(null);
- Assert.assertNull(trim);
-
- trim = StringUtils.trim(" test ");
- Assert.assertEquals("test", trim);
- }
-
- @Test
- public void testDefaultIfBlank() {
- String defaultStr = StringUtils.defaultIfBlank("", "defaultStr");
- Assert.assertEquals("defaultStr", defaultStr);
-
- defaultStr = StringUtils.defaultIfBlank("test", "defaultStr");
- Assert.assertEquals("test", defaultStr);
- }
-
- @Test
- public void testJoin() {
- List<String> list = new ArrayList<>();
- list.add("1");
- list.add("3");
- list.add("4");
- String join = StringUtils.join(list, ",");
- Assert.assertEquals("1,3,4", join);
- }
-}
diff --git a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/AlertDao.java b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/AlertDao.java
index 6787b8c..18e8e0d 100644
--- a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/AlertDao.java
+++ b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/AlertDao.java
@@ -21,7 +21,6 @@ import org.apache.dolphinscheduler.common.enums.AlertEvent;
import org.apache.dolphinscheduler.common.enums.AlertStatus;
import org.apache.dolphinscheduler.common.enums.AlertWarnLevel;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.datasource.ConnectionFactory;
import org.apache.dolphinscheduler.dao.entity.Alert;
import org.apache.dolphinscheduler.dao.entity.AlertPluginInstance;
@@ -33,6 +32,8 @@ import org.apache.dolphinscheduler.dao.mapper.AlertGroupMapper;
import org.apache.dolphinscheduler.dao.mapper.AlertMapper;
import org.apache.dolphinscheduler.dao.mapper.AlertPluginInstanceMapper;
+import org.apache.commons.lang.StringUtils;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
diff --git a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/UdfFunc.java b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/UdfFunc.java
index 7a58e36..d76436b 100644
--- a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/UdfFunc.java
+++ b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/UdfFunc.java
@@ -19,15 +19,18 @@ package org.apache.dolphinscheduler.dao.entity;
import org.apache.dolphinscheduler.common.enums.UdfType;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
+
+import org.apache.commons.lang.StringUtils;
+
+import java.io.IOException;
+import java.util.Date;
+
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.KeyDeserializer;
-import java.io.IOException;
-import java.util.Date;
/**
* udf function
diff --git a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDao.java b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDao.java
index f0ffc52..fb3ffb0 100644
--- a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDao.java
+++ b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDao.java
@@ -23,6 +23,9 @@ import org.apache.dolphinscheduler.common.process.ResourceInfo;
import org.apache.dolphinscheduler.common.utils.*;
import org.apache.dolphinscheduler.dao.AbstractBaseDao;
import org.apache.dolphinscheduler.dao.datasource.ConnectionFactory;
+
+import org.apache.commons.lang.StringUtils;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -144,7 +147,7 @@ public abstract class UpgradeDao extends AbstractBaseDao {
// Execute the dolphinscheduler_dml.sql script to import related data of dolphinscheduler
ScriptRunner initScriptRunner = new ScriptRunner(conn, false, true);
- Reader initSqlReader = new FileReader(new File(mysqlSQLFilePath));
+ Reader initSqlReader = new FileReader(mysqlSQLFilePath);
initScriptRunner.runScript(initSqlReader);
conn.commit();
@@ -189,7 +192,7 @@ public abstract class UpgradeDao extends AbstractBaseDao {
conn = dataSource.getConnection();
// Execute the dolphinscheduler_ddl.sql script to create the table structure of dolphinscheduler
ScriptRunner initScriptRunner = new ScriptRunner(conn, true, true);
- Reader initSqlReader = new FileReader(new File(mysqlSQLFilePath));
+ Reader initSqlReader = new FileReader(mysqlSQLFilePath);
initScriptRunner.runScript(initSqlReader);
} catch (IOException e) {
diff --git a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/QueueMapperTest.java b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/QueueMapperTest.java
index 8d44f88..c72f993 100644
--- a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/QueueMapperTest.java
+++ b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/QueueMapperTest.java
@@ -17,7 +17,6 @@
package org.apache.dolphinscheduler.dao.mapper;
-import org.apache.dolphinscheduler.common.utils.BooleanUtils;
import org.apache.dolphinscheduler.dao.entity.Queue;
import java.util.Date;
@@ -133,7 +132,7 @@ public class QueueMapperTest {
Assert.assertNull(queueMapper.existQueue("queue", null));
Assert.assertNull(queueMapper.existQueue(null, "queue"));
Queue queue = insertOne();
- Assert.assertTrue(BooleanUtils.isTrue(queueMapper.existQueue(queue.getQueue(), null)));
- Assert.assertTrue(BooleanUtils.isTrue(queueMapper.existQueue(null, queue.getQueueName())));
+ Assert.assertTrue(queueMapper.existQueue(queue.getQueue(), null) == Boolean.TRUE);
+ Assert.assertTrue(queueMapper.existQueue(null, queue.getQueueName()) == Boolean.TRUE);
}
-}
\ No newline at end of file
+}
diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/log/SensitiveDataConverter.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/log/SensitiveDataConverter.java
index 73ee5d5..85c9e99 100644
--- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/log/SensitiveDataConverter.java
+++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/log/SensitiveDataConverter.java
@@ -22,7 +22,8 @@ import ch.qos.logback.classic.spi.ILoggingEvent;
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.utils.SensitiveLogUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
+
+import org.apache.commons.lang.StringUtils;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -57,7 +58,7 @@ public class SensitiveDataConverter extends MessageConverter {
String tempLogMsg = oriLogMsg;
- if (StringUtils.isNotEmpty(tempLogMsg)) {
+ if (!StringUtils.isEmpty(tempLogMsg)) {
tempLogMsg = passwordHandler(pwdPattern, tempLogMsg);
}
return tempLogMsg;
diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/consumer/TaskPriorityQueueConsumer.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/consumer/TaskPriorityQueueConsumer.java
index 61bc654..bab83db 100644
--- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/consumer/TaskPriorityQueueConsumer.java
+++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/consumer/TaskPriorityQueueConsumer.java
@@ -35,7 +35,6 @@ import org.apache.dolphinscheduler.common.thread.Stopper;
import org.apache.dolphinscheduler.common.utils.CollectionUtils;
import org.apache.dolphinscheduler.common.utils.EnumUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.common.utils.TaskParametersUtils;
import org.apache.dolphinscheduler.dao.entity.DataSource;
import org.apache.dolphinscheduler.dao.entity.Resource;
@@ -57,6 +56,8 @@ import org.apache.dolphinscheduler.service.process.ProcessService;
import org.apache.dolphinscheduler.service.queue.TaskPriority;
import org.apache.dolphinscheduler.service.queue.TaskPriorityQueue;
+import org.apache.commons.lang.StringUtils;
+
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -334,7 +335,7 @@ public class TaskPriorityQueueConsumer extends Thread {
// whether udf type
boolean udfTypeFlag = EnumUtils.isValidEnum(UdfType.class, sqlParameters.getType())
- && StringUtils.isNotEmpty(sqlParameters.getUdfs());
+ && !StringUtils.isEmpty(sqlParameters.getUdfs());
if (udfTypeFlag) {
String[] udfFunIds = sqlParameters.getUdfs().split(",");
diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/dispatch/ExecutorDispatcher.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/dispatch/ExecutorDispatcher.java
index 475c5b9..bd53ad6 100644
--- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/dispatch/ExecutorDispatcher.java
+++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/dispatch/ExecutorDispatcher.java
@@ -18,7 +18,6 @@
package org.apache.dolphinscheduler.server.master.dispatch;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.remote.utils.Host;
import org.apache.dolphinscheduler.server.master.dispatch.context.ExecutionContext;
import org.apache.dolphinscheduler.server.master.dispatch.enums.ExecutorType;
@@ -27,6 +26,8 @@ import org.apache.dolphinscheduler.server.master.dispatch.executor.ExecutorManag
import org.apache.dolphinscheduler.server.master.dispatch.executor.NettyExecutorManager;
import org.apache.dolphinscheduler.server.master.dispatch.host.HostManager;
+import org.apache.commons.lang.StringUtils;
+
import java.util.concurrent.ConcurrentHashMap;
import org.springframework.beans.factory.InitializingBean;
diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/dispatch/host/CommonHostManager.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/dispatch/host/CommonHostManager.java
index 8f73dd1..0e84db6 100644
--- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/dispatch/host/CommonHostManager.java
+++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/dispatch/host/CommonHostManager.java
@@ -20,13 +20,14 @@ package org.apache.dolphinscheduler.server.master.dispatch.host;
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.utils.CollectionUtils;
import org.apache.dolphinscheduler.common.utils.ResInfo;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.remote.utils.Host;
import org.apache.dolphinscheduler.server.master.dispatch.context.ExecutionContext;
import org.apache.dolphinscheduler.server.master.dispatch.enums.ExecutorType;
import org.apache.dolphinscheduler.server.master.dispatch.host.assign.HostWorker;
import org.apache.dolphinscheduler.server.master.registry.ServerNodeManager;
+import org.apache.commons.lang.StringUtils;
+
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -88,7 +89,7 @@ public abstract class CommonHostManager implements HostManager {
protected int getWorkerHostWeightFromHeartbeat(String heartbeat) {
int hostWeight = Constants.DEFAULT_WORKER_HOST_WEIGHT;
- if (StringUtils.isNotEmpty(heartbeat)) {
+ if (!StringUtils.isEmpty(heartbeat)) {
String[] parts = heartbeat.split(Constants.COMMA);
if (ResInfo.isNewHeartbeatWithWeight(parts)) {
hostWeight = Integer.parseInt(parts[10]);
diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/registry/MasterRegistryClient.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/registry/MasterRegistryClient.java
index b26e246..73aaef2 100644
--- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/registry/MasterRegistryClient.java
+++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/registry/MasterRegistryClient.java
@@ -31,7 +31,6 @@ import org.apache.dolphinscheduler.common.model.Server;
import org.apache.dolphinscheduler.common.thread.ThreadUtils;
import org.apache.dolphinscheduler.common.utils.DateUtils;
import org.apache.dolphinscheduler.common.utils.NetUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.ProcessInstance;
import org.apache.dolphinscheduler.dao.entity.TaskInstance;
import org.apache.dolphinscheduler.remote.utils.NamedThreadFactory;
@@ -46,6 +45,8 @@ import org.apache.dolphinscheduler.service.registry.RegistryClient;
import org.apache.dolphinscheduler.spi.register.RegistryConnectListener;
import org.apache.dolphinscheduler.spi.register.RegistryConnectState;
+import org.apache.commons.lang.StringUtils;
+
import java.util.Date;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
@@ -160,7 +161,7 @@ public class MasterRegistryClient {
registryClient.getLock(failoverPath);
String serverHost = null;
- if (StringUtils.isNotEmpty(path)) {
+ if (!StringUtils.isEmpty(path)) {
serverHost = registryClient.getHostByEventDataPath(path);
if (StringUtils.isEmpty(serverHost)) {
logger.error("server down error: unknown path: {}", path);
diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/registry/ServerNodeManager.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/registry/ServerNodeManager.java
index 8223bdb..cbfb329 100644
--- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/registry/ServerNodeManager.java
+++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/registry/ServerNodeManager.java
@@ -24,7 +24,6 @@ import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.enums.NodeType;
import org.apache.dolphinscheduler.common.model.Server;
import org.apache.dolphinscheduler.common.utils.NetUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.AlertDao;
import org.apache.dolphinscheduler.dao.entity.WorkerGroup;
import org.apache.dolphinscheduler.dao.mapper.WorkerGroupMapper;
@@ -35,6 +34,7 @@ import org.apache.dolphinscheduler.spi.register.DataChangeEvent;
import org.apache.dolphinscheduler.spi.register.SubscribeListener;
import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.Collections;
diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/EventExecuteService.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/EventExecuteService.java
index 3548419..5704175 100644
--- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/EventExecuteService.java
+++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/EventExecuteService.java
@@ -23,7 +23,6 @@ import org.apache.dolphinscheduler.common.enums.StateEventType;
import org.apache.dolphinscheduler.common.thread.Stopper;
import org.apache.dolphinscheduler.common.thread.ThreadUtils;
import org.apache.dolphinscheduler.common.utils.NetUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.ProcessInstance;
import org.apache.dolphinscheduler.dao.entity.TaskInstance;
import org.apache.dolphinscheduler.remote.command.StateEventChangeCommand;
@@ -32,6 +31,8 @@ import org.apache.dolphinscheduler.server.master.config.MasterConfig;
import org.apache.dolphinscheduler.service.bean.SpringApplicationContext;
import org.apache.dolphinscheduler.service.process.ProcessService;
+import org.apache.commons.lang.StringUtils;
+
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutorService;
diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/WorkflowExecuteThread.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/WorkflowExecuteThread.java
index 9388f03..56072e2 100644
--- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/WorkflowExecuteThread.java
+++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/WorkflowExecuteThread.java
@@ -47,9 +47,7 @@ import org.apache.dolphinscheduler.common.utils.CollectionUtils;
import org.apache.dolphinscheduler.common.utils.DateUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
import org.apache.dolphinscheduler.common.utils.NetUtils;
-import org.apache.dolphinscheduler.common.utils.OSUtils;
import org.apache.dolphinscheduler.common.utils.ParameterUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.Environment;
import org.apache.dolphinscheduler.dao.entity.ProcessDefinition;
import org.apache.dolphinscheduler.dao.entity.ProcessInstance;
@@ -70,6 +68,8 @@ import org.apache.dolphinscheduler.service.process.ProcessService;
import org.apache.dolphinscheduler.service.quartz.cron.CronUtils;
import org.apache.dolphinscheduler.service.queue.PeerTaskInstancePriorityQueue;
+import org.apache.commons.lang.StringUtils;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -182,13 +182,6 @@ public class WorkflowExecuteThread implements Runnable {
*/
private NettyExecutorManager nettyExecutorManager;
- /**
- * submit post node
- *
- * @param parentNodeName parent node name
- */
- private Map<String, Object> propToValue = new ConcurrentHashMap<>();
-
private ConcurrentLinkedQueue<StateEvent> stateEvents = new ConcurrentLinkedQueue<>();
private List<Date> complementListDate = Lists.newLinkedList();
@@ -475,21 +468,6 @@ public class WorkflowExecuteThread implements Runnable {
}
/**
- * prepare process parameter
- *
- * @throws Exception exception
- */
- private void prepareProcess() throws Exception {
-
- // gen process dag
- buildFlowDag();
-
- // init task queue
- initTaskQueue();
- logger.info("prepare process :{} end", processInstance.getId());
- }
-
- /**
* process end handle
*/
private void endProcess() {
@@ -1054,23 +1032,6 @@ public class WorkflowExecuteThread implements Runnable {
}
/**
- * whether standby task list have retry tasks
- */
- private boolean retryTaskExists() {
-
- boolean result = false;
-
- for (Iterator<TaskInstance> iter = readyToSubmitTaskQueue.iterator(); iter.hasNext(); ) {
- TaskInstance task = iter.next();
- if (task.getState().typeIsFailure()) {
- result = true;
- break;
- }
- }
- return result;
- }
-
- /**
* whether complement end
*
* @return Boolean whether is complement end
@@ -1172,32 +1133,6 @@ public class WorkflowExecuteThread implements Runnable {
}
/**
- * whether check process time out
- *
- * @param processInstance task instance
- * @return true if time out of process instance > running time of process instance
- */
- private boolean checkProcessTimeOut(ProcessInstance processInstance) {
- if (processInstance.getTimeout() == 0) {
- return false;
- }
-
- Date now = new Date();
- long runningTime = DateUtils.diffMin(now, processInstance.getStartTime());
-
- return runningTime > processInstance.getTimeout();
- }
-
- /**
- * whether can submit task to queue
- *
- * @return boolean
- */
- private boolean canSubmitTaskToQueue() {
- return OSUtils.checkResource(masterConfig.getMasterMaxCpuloadAvg(), masterConfig.getMasterReservedMemory());
- }
-
- /**
* close the on going tasks
*/
private void killAllTasks() {
diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/CommonTaskProcessor.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/CommonTaskProcessor.java
index 3c330d1..8590863 100644
--- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/CommonTaskProcessor.java
+++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/CommonTaskProcessor.java
@@ -20,7 +20,6 @@ package org.apache.dolphinscheduler.server.master.runner.task;
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.enums.ExecutionStatus;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.ProcessInstance;
import org.apache.dolphinscheduler.dao.entity.TaskInstance;
import org.apache.dolphinscheduler.remote.command.TaskKillRequestCommand;
@@ -36,6 +35,8 @@ import org.apache.dolphinscheduler.service.queue.TaskPriority;
import org.apache.dolphinscheduler.service.queue.TaskPriorityQueue;
import org.apache.dolphinscheduler.service.queue.TaskPriorityQueueImpl;
+import org.apache.commons.lang.StringUtils;
+
import java.util.Date;
import org.slf4j.Logger;
diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/SwitchTaskProcessor.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/SwitchTaskProcessor.java
index 411e85b..87e79df 100644
--- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/SwitchTaskProcessor.java
+++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/SwitchTaskProcessor.java
@@ -25,7 +25,6 @@ import org.apache.dolphinscheduler.common.task.switchtask.SwitchParameters;
import org.apache.dolphinscheduler.common.task.switchtask.SwitchResultVo;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
import org.apache.dolphinscheduler.common.utils.NetUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.ProcessInstance;
import org.apache.dolphinscheduler.dao.entity.TaskDefinition;
import org.apache.dolphinscheduler.dao.entity.TaskInstance;
@@ -35,6 +34,8 @@ import org.apache.dolphinscheduler.server.utils.SwitchTaskUtils;
import org.apache.dolphinscheduler.service.bean.SpringApplicationContext;
import org.apache.dolphinscheduler.service.process.ProcessService;
+import org.apache.commons.lang.StringUtils;
+
import java.util.Date;
import java.util.HashMap;
import java.util.List;
diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/monitor/AbstractMonitor.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/monitor/AbstractMonitor.java
index 15fef1e..5e31343 100644
--- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/monitor/AbstractMonitor.java
+++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/monitor/AbstractMonitor.java
@@ -17,7 +17,9 @@
package org.apache.dolphinscheduler.server.monitor;
import org.apache.dolphinscheduler.common.utils.CollectionUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
+
+import org.apache.commons.lang.StringUtils;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/monitor/RunConfig.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/monitor/RunConfig.java
index 484958e..6aac184 100644
--- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/monitor/RunConfig.java
+++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/monitor/RunConfig.java
@@ -17,7 +17,9 @@
package org.apache.dolphinscheduler.server.monitor;
import org.apache.dolphinscheduler.common.Constants;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
+
+import org.apache.commons.lang.StringUtils;
+
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@@ -95,4 +97,4 @@ public class RunConfig {
public void setSshPort(String sshPort) {
this.sshPort = sshPort;
}
-}
\ No newline at end of file
+}
diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/utils/ProcessUtils.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/utils/ProcessUtils.java
index 4d2ace6..8eb40b7 100644
--- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/utils/ProcessUtils.java
+++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/utils/ProcessUtils.java
@@ -26,11 +26,12 @@ import org.apache.dolphinscheduler.common.utils.HadoopUtils;
import org.apache.dolphinscheduler.common.utils.LoggerUtils;
import org.apache.dolphinscheduler.common.utils.OSUtils;
import org.apache.dolphinscheduler.common.utils.PropertyUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.remote.utils.Host;
import org.apache.dolphinscheduler.server.entity.TaskExecutionContext;
import org.apache.dolphinscheduler.service.log.LogClientService;
+import org.apache.commons.lang.StringUtils;
+
import java.io.File;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
@@ -46,11 +47,7 @@ import org.slf4j.LoggerFactory;
* mainly used to get the start command line of a process.
*/
public class ProcessUtils {
-
- /**
- * logger
- */
- private static final Logger logger = LoggerFactory.getLogger(ProcessUtils.class);
+ private static final Logger logger = LoggerFactory.getLogger(ProcessUtils.class);
/**
* Initialization regularization, solve the problem of pre-compilation performance,
@@ -63,233 +60,6 @@ public class ProcessUtils {
*/
private static final Pattern WINDOWSATTERN = Pattern.compile("\\w+\\((\\d+)\\)");
- private static final String LOCAL_PROCESS_EXEC = "jdk.lang.Process.allowAmbiguousCommands";
-
- /**
- * build command line characters.
- *
- * @param commandList command list
- * @return command
- */
- public static String buildCommandStr(List<String> commandList) {
- String cmdstr;
- String[] cmd = commandList.toArray(new String[0]);
- SecurityManager security = System.getSecurityManager();
- boolean allowAmbiguousCommands = isAllowAmbiguousCommands(security);
- if (allowAmbiguousCommands) {
-
- String executablePath = new File(cmd[0]).getPath();
-
- if (needsEscaping(VERIFICATION_LEGACY, executablePath)) {
- executablePath = quoteString(executablePath);
- }
-
- cmdstr = createCommandLine(
- VERIFICATION_LEGACY, executablePath, cmd);
- } else {
- String executablePath;
- try {
- executablePath = getExecutablePath(cmd[0]);
- } catch (IllegalArgumentException e) {
-
- StringBuilder join = new StringBuilder();
- for (String s : cmd) {
- join.append(s).append(' ');
- }
-
- cmd = getTokensFromCommand(join.toString());
- executablePath = getExecutablePath(cmd[0]);
-
- // Check new executable name once more
- if (security != null) {
- security.checkExec(executablePath);
- }
- }
-
- cmdstr = createCommandLine(
-
- isShellFile(executablePath) ? VERIFICATION_CMD_BAT : VERIFICATION_WIN32, quoteString(executablePath), cmd);
- }
- return cmdstr;
- }
-
- /**
- * check is allow ambiguous commands
- *
- * @param security security manager
- * @return allow ambiguous command flag
- */
- private static boolean isAllowAmbiguousCommands(SecurityManager security) {
- boolean allowAmbiguousCommands = false;
- if (security == null) {
- allowAmbiguousCommands = true;
- String value = System.getProperty(LOCAL_PROCESS_EXEC);
- if (value != null) {
- allowAmbiguousCommands = !Constants.STRING_FALSE.equalsIgnoreCase(value);
- }
- }
- return allowAmbiguousCommands;
- }
-
- /**
- * get executable path.
- *
- * @param path path
- * @return executable path
- */
- private static String getExecutablePath(String path) {
- boolean pathIsQuoted = isQuoted(true, path, "Executable name has embedded quote, split the arguments");
-
- File fileToRun = new File(pathIsQuoted ? path.substring(1, path.length() - 1) : path);
- return fileToRun.getPath();
- }
-
- /**
- * whether is shell file.
- *
- * @param executablePath executable path
- * @return true if endsWith .CMD or .BAT
- */
- private static boolean isShellFile(String executablePath) {
- String upPath = executablePath.toUpperCase();
- return (upPath.endsWith(".CMD") || upPath.endsWith(".BAT"));
- }
-
- /**
- * quote string.
- *
- * @param arg argument
- * @return format arg
- */
- private static String quoteString(String arg) {
- return '"' + arg + '"';
- }
-
- /**
- * get tokens from command.
- *
- * @param command command
- * @return token string array
- */
- private static String[] getTokensFromCommand(String command) {
- ArrayList<String> matchList = new ArrayList<>(8);
- Matcher regexMatcher = LazyPattern.PATTERN.matcher(command);
- while (regexMatcher.find()) {
- matchList.add(regexMatcher.group());
- }
- return matchList.toArray(new String[0]);
- }
-
- /**
- * Lazy Pattern.
- */
- private static class LazyPattern {
- /**
- * Escape-support version:
- * "(\")((?:\\\\\\1|.)+?)\\1|([^\\s\"]+)";
- */
- private static final Pattern PATTERN = Pattern.compile("[^\\s\"]+|\"[^\"]*\"");
- }
-
- /**
- * verification cmd bat.
- */
- private static final int VERIFICATION_CMD_BAT = 0;
-
- /**
- * verification win32.
- */
- private static final int VERIFICATION_WIN32 = 1;
-
- /**
- * verification legacy.
- */
- private static final int VERIFICATION_LEGACY = 2;
-
- /**
- * escape verification.
- */
- private static final char[][] ESCAPE_VERIFICATION = {{' ', '\t', '<', '>', '&', '|', '^'},
-
- {' ', '\t', '<', '>'}, {' ', '\t'}};
-
- /**
- * create command line.
- *
- * @param verificationType verification type
- * @param executablePath executable path
- * @param cmd cmd
- * @return command line
- */
- private static String createCommandLine(int verificationType, final String executablePath, final String[] cmd) {
- StringBuilder cmdbuf = new StringBuilder(80);
-
- cmdbuf.append(executablePath);
-
- for (int i = 1; i < cmd.length; ++i) {
- cmdbuf.append(' ');
- String s = cmd[i];
- if (needsEscaping(verificationType, s)) {
- cmdbuf.append('"').append(s);
-
- if ((verificationType != VERIFICATION_CMD_BAT) && s.endsWith("\\")) {
- cmdbuf.append('\\');
- }
- cmdbuf.append('"');
- } else {
- cmdbuf.append(s);
- }
- }
- return cmdbuf.toString();
- }
-
- /**
- * whether is quoted.
- *
- * @param noQuotesInside no quotes inside
- * @param arg arg
- * @param errorMessage error message
- * @return boolean
- */
- private static boolean isQuoted(boolean noQuotesInside, String arg, String errorMessage) {
- int lastPos = arg.length() - 1;
- if (lastPos >= 1 && arg.charAt(0) == '"' && arg.charAt(lastPos) == '"') {
- // The argument has already been quoted.
- if (noQuotesInside && arg.indexOf('"', 1) != lastPos) {
- // There is ["] inside.
- throw new IllegalArgumentException(errorMessage);
- }
- return true;
- }
- if (noQuotesInside && arg.indexOf('"') >= 0) {
- // There is ["] inside.
- throw new IllegalArgumentException(errorMessage);
- }
- return false;
- }
-
- /**
- * whether needs escaping.
- *
- * @param verificationType verification type
- * @param arg arg
- * @return boolean
- */
- private static boolean needsEscaping(int verificationType, String arg) {
-
- boolean argIsQuoted = isQuoted((verificationType == VERIFICATION_CMD_BAT), arg, "Argument has embedded quote, use the explicit CMD.EXE call.");
-
- if (!argIsQuoted) {
- char[] testEscape = ESCAPE_VERIFICATION[verificationType];
- for (char c : testEscape) {
- if (arg.indexOf(c) >= 0) {
- return true;
- }
- }
- }
- return false;
- }
-
/**
* kill yarn application.
*
@@ -299,21 +69,21 @@ public class ProcessUtils {
* @param executePath execute path
*/
public static void cancelApplication(List<String> appIds, Logger logger, String tenantCode, String executePath) {
- if (CollectionUtils.isNotEmpty(appIds)) {
+ if (appIds == null || appIds.isEmpty()) {
+ return;
+ }
- for (String appId : appIds) {
- try {
- ExecutionStatus applicationStatus = HadoopUtils.getInstance().getApplicationStatus(appId);
+ for (String appId : appIds) {
+ try {
+ ExecutionStatus applicationStatus = HadoopUtils.getInstance().getApplicationStatus(appId);
- if (!applicationStatus.typeIsFinished()) {
- String commandFile = String
- .format("%s/%s.kill", executePath, appId);
- String cmd = getKerberosInitCommand() + "yarn application -kill " + appId;
- execYarnKillCommand(logger, tenantCode, appId, commandFile, cmd);
- }
- } catch (Exception e) {
- logger.error(String.format("Get yarn application app id [%s] status failed: [%s]", appId, e.getMessage()));
+ if (!applicationStatus.typeIsFinished()) {
+ String commandFile = String.format("%s/%s.kill", executePath, appId);
+ String cmd = getKerberosInitCommand() + "yarn application -kill " + appId;
+ execYarnKillCommand(logger, tenantCode, appId, commandFile, cmd);
}
+ } catch (Exception e) {
+ logger.error("Get yarn application app id [{}}] status failed", appId, e);
}
}
}
@@ -321,15 +91,15 @@ public class ProcessUtils {
/**
* get kerberos init command
*/
- public static String getKerberosInitCommand() {
+ static String getKerberosInitCommand() {
logger.info("get kerberos init command");
StringBuilder kerberosCommandBuilder = new StringBuilder();
- boolean hadoopKerberosState = PropertyUtils.getBoolean(Constants.HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE,false);
+ boolean hadoopKerberosState = PropertyUtils.getBoolean(Constants.HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE, false);
if (hadoopKerberosState) {
kerberosCommandBuilder.append("export KRB5_CONFIG=")
.append(PropertyUtils.getString(Constants.JAVA_SECURITY_KRB5_CONF_PATH))
.append("\n\n")
- .append(String.format("kinit -k -t %s %s || true",PropertyUtils.getString(Constants.LOGIN_USER_KEY_TAB_PATH),PropertyUtils.getString(Constants.LOGIN_USER_KEY_TAB_USERNAME)))
+ .append(String.format("kinit -k -t %s %s || true", PropertyUtils.getString(Constants.LOGIN_USER_KEY_TAB_PATH), PropertyUtils.getString(Constants.LOGIN_USER_KEY_TAB_USERNAME)))
.append("\n\n");
logger.info("kerberos init command: {}", kerberosCommandBuilder);
}
@@ -360,7 +130,7 @@ public class ProcessUtils {
File f = new File(commandFile);
if (!f.exists()) {
- FileUtils.writeStringToFile(new File(commandFile), sb.toString(), StandardCharsets.UTF_8);
+ org.apache.commons.io.FileUtils.writeStringToFile(new File(commandFile), sb.toString(), StandardCharsets.UTF_8);
}
String runCmd = String.format("%s %s", Constants.SH, commandFile);
@@ -373,35 +143,6 @@ public class ProcessUtils {
}
/**
- * kill tasks according to different task types.
- *
- * @param taskExecutionContext taskExecutionContext
- */
- public static void kill(TaskExecutionContext taskExecutionContext) {
- try {
- int processId = taskExecutionContext.getProcessId();
- if (processId == 0) {
- logger.error("process kill failed, process id :{}, task id:{}",
- processId, taskExecutionContext.getTaskInstanceId());
- return;
- }
-
- String pidsStr = getPidsStr(processId);
- if (StringUtils.isNotEmpty(pidsStr)) {
- String cmd = String.format("kill -9 %s", pidsStr);
- cmd = OSUtils.getSudoCmd(taskExecutionContext.getTenantCode(), cmd);
- logger.info("process id:{}, cmd:{}", processId, cmd);
- OSUtils.exeCmd(cmd);
- }
-
- } catch (Exception e) {
- logger.error("kill task failed", e);
- }
- // find log and kill yarn job
- killYarnJob(taskExecutionContext);
- }
-
- /**
* get pids str.
*
* @param processId process id
@@ -436,6 +177,7 @@ public class ProcessUtils {
/**
* find logs and kill yarn tasks.
+ *
* @param taskExecutionContext taskExecutionContext
* @return yarn application ids
*/
@@ -448,7 +190,7 @@ public class ProcessUtils {
Constants.RPC_PORT,
taskExecutionContext.getLogPath());
}
- if (StringUtils.isNotEmpty(log)) {
+ if (!StringUtils.isEmpty(log)) {
if (StringUtils.isEmpty(taskExecutionContext.getExecutePath())) {
taskExecutionContext.setExecutePath(FileUtils.getProcessExecDir(taskExecutionContext.getProjectCode(),
taskExecutionContext.getProcessDefineCode(),
diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/processor/TaskKillProcessor.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/processor/TaskKillProcessor.java
index 7ca312e..101eb0f 100644
--- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/processor/TaskKillProcessor.java
+++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/processor/TaskKillProcessor.java
@@ -22,7 +22,6 @@ import org.apache.dolphinscheduler.common.enums.ExecutionStatus;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
import org.apache.dolphinscheduler.common.utils.LoggerUtils;
import org.apache.dolphinscheduler.common.utils.OSUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.remote.command.Command;
import org.apache.dolphinscheduler.remote.command.CommandType;
import org.apache.dolphinscheduler.remote.command.TaskKillRequestCommand;
@@ -40,6 +39,8 @@ import org.apache.dolphinscheduler.service.log.LogClientService;
import org.apache.dolphinscheduler.spi.task.TaskExecutionContextCacheManager;
import org.apache.dolphinscheduler.spi.task.request.TaskRequest;
+import org.apache.commons.lang.StringUtils;
+
import java.util.Collections;
import java.util.List;
@@ -122,7 +123,7 @@ public class TaskKillProcessor implements NettyRequestProcessor {
}
String pidsStr = ProcessUtils.getPidsStr(taskExecutionContext.getProcessId());
- if (StringUtils.isNotEmpty(pidsStr)) {
+ if (!StringUtils.isEmpty(pidsStr)) {
String cmd = String.format("kill -9 %s", pidsStr);
cmd = OSUtils.getSudoCmd(taskExecutionContext.getTenantCode(), cmd);
logger.info("process id:{}, cmd:{}", taskExecutionContext.getProcessId(), cmd);
@@ -180,7 +181,7 @@ public class TaskKillProcessor implements NettyRequestProcessor {
logger.info("view log host : {},logPath : {}", host, logPath);
String log = logClient.viewLog(host, Constants.RPC_PORT, logPath);
List<String> appIds = Collections.emptyList();
- if (StringUtils.isNotEmpty(log)) {
+ if (!StringUtils.isEmpty(log)) {
appIds = LoggerUtils.getAppIds(log, logger);
if (StringUtils.isEmpty(executePath)) {
logger.error("task instance execute path is empty");
diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/registry/WorkerRegistryClient.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/registry/WorkerRegistryClient.java
index aa69964..f00bf4f 100644
--- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/registry/WorkerRegistryClient.java
+++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/registry/WorkerRegistryClient.java
@@ -26,12 +26,13 @@ import org.apache.dolphinscheduler.common.IStoppable;
import org.apache.dolphinscheduler.common.enums.NodeType;
import org.apache.dolphinscheduler.common.utils.DateUtils;
import org.apache.dolphinscheduler.common.utils.NetUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.remote.utils.NamedThreadFactory;
import org.apache.dolphinscheduler.server.registry.HeartBeatTask;
import org.apache.dolphinscheduler.server.worker.config.WorkerConfig;
import org.apache.dolphinscheduler.service.registry.RegistryClient;
+import org.apache.commons.lang.StringUtils;
+
import java.util.Date;
import java.util.Set;
import java.util.StringJoiner;
diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/runner/TaskExecuteThread.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/runner/TaskExecuteThread.java
index a1c9df3..c06b265 100644
--- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/runner/TaskExecuteThread.java
+++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/runner/TaskExecuteThread.java
@@ -27,7 +27,6 @@ import org.apache.dolphinscheduler.common.utils.HadoopUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
import org.apache.dolphinscheduler.common.utils.OSUtils;
import org.apache.dolphinscheduler.common.utils.RetryerUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.remote.command.Command;
import org.apache.dolphinscheduler.remote.command.TaskExecuteAckCommand;
import org.apache.dolphinscheduler.remote.command.TaskExecuteResponseCommand;
@@ -42,6 +41,7 @@ import org.apache.dolphinscheduler.spi.task.TaskExecutionContextCacheManager;
import org.apache.dolphinscheduler.spi.task.request.TaskRequest;
import org.apache.commons.collections.MapUtils;
+import org.apache.commons.lang.StringUtils;
import java.io.File;
import java.io.IOException;
diff --git a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/log/LoggerServerTest.java b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/log/LoggerServerTest.java
index d3b1dcf..74bdcea 100644
--- a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/log/LoggerServerTest.java
+++ b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/log/LoggerServerTest.java
@@ -17,14 +17,16 @@
package org.apache.dolphinscheduler.server.log;
+import org.apache.dolphinscheduler.common.Constants;
+import org.apache.dolphinscheduler.common.utils.FileUtils;
+import org.apache.dolphinscheduler.service.log.LogClientService;
+
+import org.apache.commons.lang.StringUtils;
+
import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
-import org.apache.dolphinscheduler.common.Constants;
-import org.apache.dolphinscheduler.common.utils.FileUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
-import org.apache.dolphinscheduler.service.log.LogClientService;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
@@ -46,7 +48,7 @@ public class LoggerServerTest {
@Test
public void testRollViewLog() throws IOException {
String expectedTmpDemoString = "testRolloViewLog";
- FileUtils.writeStringToFile(new File("/tmp/demo.txt"), expectedTmpDemoString, Charset.defaultCharset());
+ org.apache.commons.io.FileUtils.writeStringToFile(new File("/tmp/demo.txt"), expectedTmpDemoString, Charset.defaultCharset());
String resultTmpDemoString = this.logClientService.rollViewLog(
"localhost", Constants.RPC_PORT,"/tmp/demo.txt", 0, 1000);
@@ -59,7 +61,7 @@ public class LoggerServerTest {
@Test
public void testRemoveTaskLog() throws IOException {
String expectedTmpRemoveString = "testRemoveTaskLog";
- FileUtils.writeStringToFile(new File("/tmp/remove.txt"), expectedTmpRemoveString, Charset.defaultCharset());
+ org.apache.commons.io.FileUtils.writeStringToFile(new File("/tmp/remove.txt"), expectedTmpRemoveString, Charset.defaultCharset());
Boolean b = this.logClientService.removeTaskLog("localhost", Constants.RPC_PORT,"/tmp/remove.txt");
diff --git a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/host/RoundRobinHostManagerTest.java b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/host/RoundRobinHostManagerTest.java
index 8c2ac01..f29f66e 100644
--- a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/host/RoundRobinHostManagerTest.java
+++ b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/host/RoundRobinHostManagerTest.java
@@ -17,12 +17,13 @@
package org.apache.dolphinscheduler.server.master.dispatch.host;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.remote.utils.Host;
import org.apache.dolphinscheduler.server.master.dispatch.context.ExecutionContext;
import org.apache.dolphinscheduler.server.master.registry.ServerNodeManager;
import org.apache.dolphinscheduler.server.utils.ExecutionContextTestUtils;
+import org.apache.commons.lang.StringUtils;
+
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -59,7 +60,7 @@ public class RoundRobinHostManagerTest {
Mockito.when(serverNodeManager.getWorkerGroupNodes("default")).thenReturn(Sets.newHashSet("192.168.1.1:22"));
ExecutionContext context = ExecutionContextTestUtils.getExecutionContext(10000);
Host host = roundRobinHostManager.select(context);
- Assert.assertTrue(StringUtils.isNotEmpty(host.getAddress()));
+ Assert.assertTrue(!StringUtils.isEmpty(host.getAddress()));
Assert.assertTrue(host.getAddress().equalsIgnoreCase("192.168.1.1:22"));
}
}
diff --git a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/utils/ProcessUtilsTest.java b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/utils/ProcessUtilsTest.java
index cd13532..d545c02 100644
--- a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/utils/ProcessUtilsTest.java
+++ b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/utils/ProcessUtilsTest.java
@@ -24,7 +24,6 @@ import org.apache.dolphinscheduler.common.enums.ExecutionStatus;
import org.apache.dolphinscheduler.common.utils.HadoopUtils;
import org.apache.dolphinscheduler.common.utils.OSUtils;
import org.apache.dolphinscheduler.common.utils.PropertyUtils;
-import org.apache.dolphinscheduler.server.entity.TaskExecutionContext;
import java.util.ArrayList;
import java.util.List;
@@ -65,53 +64,6 @@ public class ProcessUtilsTest {
}
@Test
- public void testBuildCommandStr() {
- List<String> commands = new ArrayList<>();
- commands.add("sudo");
- commands.add("-u");
- commands.add("tenantCode");
- //allowAmbiguousCommands false
- Assert.assertEquals("sudo -u tenantCode", ProcessUtils.buildCommandStr(commands));
-
- //quota
- commands.clear();
- commands.add("\"sudo\"");
- Assert.assertEquals("\"sudo\"", ProcessUtils.buildCommandStr(commands));
-
- //allowAmbiguousCommands true
- commands.clear();
- commands.add("sudo");
- System.setProperty("jdk.lang.Process.allowAmbiguousCommands", "false");
- Assert.assertEquals("\"sudo\"", ProcessUtils.buildCommandStr(commands));
- }
-
- @Test
- public void testKill() {
- //get taskExecutionContext
- TaskExecutionContext taskExecutionContext = new TaskExecutionContext();
-
- //process id eq 0
- taskExecutionContext.setProcessId(0);
- ProcessUtils.kill(taskExecutionContext);
-
- //process id not eq 0
- taskExecutionContext.setProcessId(1);
- PowerMockito.mockStatic(OSUtils.class);
- try {
- when(OSUtils.exeCmd(String.format("%s -sp %d", Constants.PSTREE, 1))).thenReturn("1111");
- when(OSUtils.exeCmd(String.format("%s -p %d", Constants.PSTREE, 1))).thenReturn("1111");
- when(OSUtils.exeCmd("sudo -u tenantCode kill -9")).thenReturn("1111");
- } catch (Exception e) {
- e.printStackTrace();
- }
- taskExecutionContext.setHost("127.0.0.1:8888");
- taskExecutionContext.setLogPath("/log/1.log");
- taskExecutionContext.setTenantCode("tenantCode");
- ProcessUtils.kill(taskExecutionContext);
- Assert.assertEquals(1, taskExecutionContext.getProcessId());
- }
-
- @Test
public void testGetKerberosInitCommand() {
PowerMockito.mockStatic(PropertyUtils.class);
PowerMockito.when(PropertyUtils.getBoolean(Constants.HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE,false)).thenReturn(true);
diff --git a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessService.java b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessService.java
index 51ffa2a..99b4f8f 100644
--- a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessService.java
+++ b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessService.java
@@ -59,7 +59,6 @@ import org.apache.dolphinscheduler.common.utils.JSONUtils;
import org.apache.dolphinscheduler.common.utils.ParameterUtils;
import org.apache.dolphinscheduler.common.utils.SnowFlakeUtils;
import org.apache.dolphinscheduler.common.utils.SnowFlakeUtils.SnowFlakeException;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.common.utils.TaskParametersUtils;
import org.apache.dolphinscheduler.dao.entity.Command;
import org.apache.dolphinscheduler.dao.entity.DagData;
@@ -106,6 +105,8 @@ import org.apache.dolphinscheduler.dao.utils.DagHelper;
import org.apache.dolphinscheduler.remote.utils.Host;
import org.apache.dolphinscheduler.service.log.LogClientService;
+import org.apache.commons.lang.StringUtils;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
@@ -127,8 +128,6 @@ import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.facebook.presto.jdbc.internal.guava.collect.Lists;
-import com.cronutils.model.Cron;
-import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
/**
diff --git a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/quartz/QuartzExecutors.java b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/quartz/QuartzExecutors.java
index 487abad..1588907 100644
--- a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/quartz/QuartzExecutors.java
+++ b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/quartz/QuartzExecutors.java
@@ -63,13 +63,13 @@ import static org.quartz.TriggerBuilder.newTrigger;
import org.apache.dolphinscheduler.common.utils.DateUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
import org.apache.dolphinscheduler.common.utils.PropertyUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.Schedule;
import org.apache.dolphinscheduler.service.exceptions.ServiceException;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.Date;
diff --git a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/registry/RegistryCenter.java b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/registry/RegistryCenter.java
index 119a60a..ba74f88 100644
--- a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/registry/RegistryCenter.java
+++ b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/registry/RegistryCenter.java
@@ -23,7 +23,6 @@ import static org.apache.dolphinscheduler.common.Constants.REGISTRY_DOLPHINSCHED
import org.apache.dolphinscheduler.common.IStoppable;
import org.apache.dolphinscheduler.common.utils.PropertyUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.spi.plugin.DolphinPluginLoader;
import org.apache.dolphinscheduler.spi.plugin.DolphinPluginManagerConfig;
import org.apache.dolphinscheduler.spi.register.Registry;
@@ -32,6 +31,8 @@ import org.apache.dolphinscheduler.spi.register.RegistryException;
import org.apache.dolphinscheduler.spi.register.RegistryPluginManager;
import org.apache.dolphinscheduler.spi.register.SubscribeListener;
+import org.apache.commons.lang.StringUtils;
+
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicBoolean;
diff --git a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/registry/RegistryClient.java b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/registry/RegistryClient.java
index 296cf6c..68a2f38 100644
--- a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/registry/RegistryClient.java
+++ b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/registry/RegistryClient.java
@@ -32,7 +32,8 @@ import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.enums.NodeType;
import org.apache.dolphinscheduler.common.model.Server;
import org.apache.dolphinscheduler.common.utils.ResInfo;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
+
+import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.Collections;
diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/AbstractCommandExecutor.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/AbstractCommandExecutor.java
index 9854ce1..54b51c0 100644
--- a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/AbstractCommandExecutor.java
+++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/AbstractCommandExecutor.java
@@ -23,7 +23,6 @@ import static org.apache.dolphinscheduler.spi.task.TaskConstants.SH;
import org.apache.dolphinscheduler.plugin.task.util.LoggerUtils;
import org.apache.dolphinscheduler.plugin.task.util.OSUtils;
-import org.apache.dolphinscheduler.plugin.task.util.ThreadUtils;
import org.apache.dolphinscheduler.spi.task.TaskConstants;
import org.apache.dolphinscheduler.spi.task.TaskExecutionContextCacheManager;
import org.apache.dolphinscheduler.spi.task.request.TaskRequest;
@@ -41,6 +40,8 @@ import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ThreadFactory;
import java.util.concurrent.TimeUnit;
import java.util.function.Consumer;
import java.util.regex.Matcher;
@@ -48,6 +49,8 @@ import java.util.regex.Pattern;
import org.slf4j.Logger;
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
+
/**
* abstract command executor
*/
@@ -132,7 +135,6 @@ public abstract class AbstractCommandExecutor {
processBuilder.command(command);
process = processBuilder.start();
- // print command
printCommand(command);
}
@@ -159,7 +161,7 @@ public abstract class AbstractCommandExecutor {
// parse process output
parseProcessOutput(process);
- Integer processId = getProcessId(process);
+ int processId = getProcessId(process);
result.setProcessId(processId);
@@ -242,7 +244,6 @@ public abstract class AbstractCommandExecutor {
*
* @param processId process id
* @return process is alive
- * @throws InterruptedException interrupted exception
*/
private boolean softKill(int processId) {
@@ -281,20 +282,8 @@ public abstract class AbstractCommandExecutor {
}
}
- /**
- * print command
- *
- * @param commands process builder
- */
private void printCommand(List<String> commands) {
- String cmdStr;
-
- try {
- cmdStr = ProcessUtils.buildCommandStr(commands);
- logger.info("task run command:\n{}", cmdStr);
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- }
+ logger.info("task run command: {}", String.join(" ", commands));
}
/**
@@ -320,7 +309,7 @@ public abstract class AbstractCommandExecutor {
*/
private void parseProcessOutput(Process process) {
String threadLoggerInfoName = String.format(LoggerUtils.TASK_LOGGER_THREAD_NAME + "-%s", taskRequest.getTaskAppId());
- ExecutorService getOutputLogService = ThreadUtils.newDaemonSingleThreadExecutor(threadLoggerInfoName + "-" + "getOutputLogService");
+ ExecutorService getOutputLogService = newDaemonSingleThreadExecutor(threadLoggerInfoName + "-" + "getOutputLogService");
getOutputLogService.submit(() -> {
try (BufferedReader inReader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
String line;
@@ -343,7 +332,7 @@ public abstract class AbstractCommandExecutor {
getOutputLogService.shutdown();
- ExecutorService parseProcessOutputExecutorService = ThreadUtils.newDaemonSingleThreadExecutor(threadLoggerInfoName);
+ ExecutorService parseProcessOutputExecutorService = newDaemonSingleThreadExecutor(threadLoggerInfoName);
parseProcessOutputExecutorService.submit(() -> {
try {
long lastFlushTime = System.currentTimeMillis();
@@ -364,10 +353,6 @@ public abstract class AbstractCommandExecutor {
parseProcessOutputExecutorService.shutdown();
}
- public int getProcessId() {
- return getProcessId(process);
- }
-
/**
* get app links
*
@@ -378,7 +363,7 @@ public abstract class AbstractCommandExecutor {
List<String> logs = convertFile2List(logPath);
List<String> appIds = new ArrayList<>();
- /**
+ /*
* analysis log?get submited yarn application id
*/
for (String log : logs) {
@@ -398,7 +383,7 @@ public abstract class AbstractCommandExecutor {
* @return line list
*/
private List<String> convertFile2List(String filename) {
- List lineList = new ArrayList<String>(100);
+ List<String> lineList = new ArrayList<>(100);
File file = new File(filename);
if (!file.exists()) {
@@ -477,12 +462,11 @@ public abstract class AbstractCommandExecutor {
private long flush(long lastFlushTime) {
long now = System.currentTimeMillis();
- /**
+ /*
* when log buffer siz or flush time reach condition , then flush
*/
if (logBuffer.size() >= TaskConstants.DEFAULT_LOG_ROWS_NUM || now - lastFlushTime > TaskConstants.DEFAULT_LOG_FLUSH_INTERVAL) {
lastFlushTime = now;
- /** log handle */
logHandler.accept(logBuffer);
logBuffer.clear();
@@ -490,21 +474,15 @@ public abstract class AbstractCommandExecutor {
return lastFlushTime;
}
- protected List<String> commandOptions() {
- return Collections.emptyList();
- }
-
protected abstract String buildCommandFilePath();
- protected abstract String commandInterpreter();
-
protected abstract void createCommandFileIfNotExists(String execCommand, String commandFile) throws IOException;
- public String getTaskResultString() {
- return taskResultString;
- }
-
- public void setTaskResultString(String taskResultString) {
- this.taskResultString = taskResultString;
+ ExecutorService newDaemonSingleThreadExecutor(String threadName) {
+ ThreadFactory threadFactory = new ThreadFactoryBuilder()
+ .setDaemon(true)
+ .setNameFormat(threadName)
+ .build();
+ return Executors.newSingleThreadExecutor(threadFactory);
}
-}
\ No newline at end of file
+}
diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/ProcessUtils.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/ProcessUtils.java
index ba24b31..2f94003 100644
--- a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/ProcessUtils.java
+++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/ProcessUtils.java
@@ -21,27 +21,20 @@ import org.apache.dolphinscheduler.plugin.task.util.OSUtils;
import org.apache.dolphinscheduler.spi.task.TaskConstants;
import org.apache.dolphinscheduler.spi.task.request.TaskRequest;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class ProcessUtils {
+public final class ProcessUtils {
+ private static final Logger logger = LoggerFactory.getLogger(ProcessUtils.class);
private ProcessUtils() {
throw new IllegalStateException("Utility class");
}
/**
- * logger
- */
- private static final Logger logger = LoggerFactory.getLogger(ProcessUtils.class);
-
- /**
* Initialization regularization, solve the problem of pre-compilation performance,
* avoid the thread safety problem of multi-thread operation
*/
@@ -52,231 +45,6 @@ public class ProcessUtils {
*/
private static final Pattern WINDOWSATTERN = Pattern.compile("(\\d+)");
- private static final String LOCAL_PROCESS_EXEC = "jdk.lang.Process.allowAmbiguousCommands";
-
- /**
- * verification cmd bat.
- */
- private static final int VERIFICATION_CMD_BAT = 0;
-
- /**
- * verification legacy.
- */
- private static final int VERIFICATION_LEGACY = 2;
-
- /**
- * escape verification.
- */
- private static final char[][] ESCAPE_VERIFICATION = {{' ', '\t', '<', '>', '&', '|', '^'}, {' ', '\t', '<', '>'}, {' ', '\t'}};
-
- /**
- * verification win32.
- */
- private static final int VERIFICATION_WIN32 = 1;
-
- /**
- * Lazy Pattern.
- */
- private static class LazyPattern {
- /**
- * Escape-support version:
- * "(\")((?:\\\\\\1|.)+?)\\1|([^\\s\"]+)";
- */
- private static final Pattern PATTERN = Pattern.compile("[^\\s\"]+|\"[^\"]*\"");
- }
-
- /**
- * build command line characters.
- *
- * @param commandList command list
- * @return command
- */
- public static String buildCommandStr(List<String> commandList) {
- String cmdstr;
- String[] cmd = commandList.toArray(new String[0]);
- SecurityManager security = System.getSecurityManager();
- boolean allowAmbiguousCommands = isAllowAmbiguousCommands(security);
- if (allowAmbiguousCommands) {
-
- String executablePath = new File(cmd[0]).getPath();
-
- if (needsEscaping(VERIFICATION_LEGACY, executablePath)) {
- executablePath = quoteString(executablePath);
- }
-
- cmdstr = createCommandLine(
- VERIFICATION_LEGACY, executablePath, cmd);
- } else {
- String executablePath;
- try {
- executablePath = getExecutablePath(cmd[0]);
- } catch (IllegalArgumentException e) {
-
- StringBuilder join = new StringBuilder();
- for (String s : cmd) {
- join.append(s).append(' ');
- }
-
- cmd = getTokensFromCommand(join.toString());
- executablePath = getExecutablePath(cmd[0]);
-
- // Check new executable name once more
- if (security != null) {
- security.checkExec(executablePath);
- }
- }
-
- cmdstr = createCommandLine(
-
- isShellFile(executablePath) ? VERIFICATION_CMD_BAT : VERIFICATION_WIN32, quoteString(executablePath), cmd);
- }
- return cmdstr;
- }
-
- /**
- * whether is shell file.
- *
- * @param executablePath executable path
- * @return true if endsWith .CMD or .BAT
- */
- private static boolean isShellFile(String executablePath) {
- String upPath = executablePath.toUpperCase();
- return (upPath.endsWith(".CMD") || upPath.endsWith(".BAT"));
- }
-
- /**
- * create command line.
- *
- * @param verificationType verification type
- * @param executablePath executable path
- * @param cmd cmd
- * @return command line
- */
- private static String createCommandLine(int verificationType, final String executablePath, final String[] cmd) {
- StringBuilder cmdbuf = new StringBuilder(80);
-
- cmdbuf.append(executablePath);
-
- for (int i = 1; i < cmd.length; ++i) {
- cmdbuf.append(' ');
- String s = cmd[i];
- if (needsEscaping(verificationType, s)) {
- cmdbuf.append('"').append(s);
-
- if ((verificationType != VERIFICATION_CMD_BAT) && s.endsWith("\\")) {
- cmdbuf.append('\\');
- }
- cmdbuf.append('"');
- } else {
- cmdbuf.append(s);
- }
- }
- return cmdbuf.toString();
- }
-
- /**
- * check is allow ambiguous commands
- *
- * @param security security manager
- * @return allow ambiguous command flag
- */
- private static boolean isAllowAmbiguousCommands(SecurityManager security) {
- boolean allowAmbiguousCommands = false;
- if (security == null) {
- allowAmbiguousCommands = true;
- String value = System.getProperty(LOCAL_PROCESS_EXEC);
- if (value != null) {
- allowAmbiguousCommands = !TaskConstants.STRING_FALSE.equalsIgnoreCase(value);
- }
- }
- return allowAmbiguousCommands;
- }
-
- /**
- * whether needs escaping.
- *
- * @param verificationType verification type
- * @param arg arg
- * @return boolean
- */
- private static boolean needsEscaping(int verificationType, String arg) {
-
- boolean argIsQuoted = isQuoted((verificationType == VERIFICATION_CMD_BAT), arg, "Argument has embedded quote, use the explicit CMD.EXE call.");
-
- if (!argIsQuoted) {
- char[] testEscape = ESCAPE_VERIFICATION[verificationType];
- for (char c : testEscape) {
- if (arg.indexOf(c) >= 0) {
- return true;
- }
- }
- }
- return false;
- }
-
- /**
- * whether is quoted.
- *
- * @param noQuotesInside no quotes inside
- * @param arg arg
- * @param errorMessage error message
- * @return boolean
- */
- private static boolean isQuoted(boolean noQuotesInside, String arg, String errorMessage) {
- int lastPos = arg.length() - 1;
- if (lastPos >= 1 && arg.charAt(0) == '"' && arg.charAt(lastPos) == '"') {
- // The argument has already been quoted.
- if (noQuotesInside && arg.indexOf('"', 1) != lastPos) {
- // There is ["] inside.
- throw new IllegalArgumentException(errorMessage);
- }
- return true;
- }
- if (noQuotesInside && arg.indexOf('"') >= 0) {
- // There is ["] inside.
- throw new IllegalArgumentException(errorMessage);
- }
- return false;
- }
-
- /**
- * quote string.
- *
- * @param arg argument
- * @return format arg
- */
- private static String quoteString(String arg) {
- return '"' + arg + '"';
- }
-
- /**
- * get executable path.
- *
- * @param path path
- * @return executable path
- */
- private static String getExecutablePath(String path) {
- boolean pathIsQuoted = isQuoted(true, path, "Executable name has embedded quote, split the arguments");
-
- File fileToRun = new File(pathIsQuoted ? path.substring(1, path.length() - 1) : path);
- return fileToRun.getPath();
- }
-
- /**
- * get tokens from command.
- *
- * @param command command
- * @return token string array
- */
- private static String[] getTokensFromCommand(String command) {
- ArrayList<String> matchList = new ArrayList<>(8);
- Matcher regexMatcher = LazyPattern.PATTERN.matcher(command);
- while (regexMatcher.find()) {
- matchList.add(regexMatcher.group());
- }
- return matchList.toArray(new String[0]);
- }
-
/**
* kill tasks according to different task types.
*/
@@ -294,10 +62,6 @@ public class ProcessUtils {
logger.info("process id:{}, cmd:{}", processId, cmd);
OSUtils.exeCmd(cmd);
-
- // find log and kill yarn job
- // killYarnJob(request);
-
} catch (Exception e) {
logger.error("kill task failed", e);
}
diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/ShellCommandExecutor.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/ShellCommandExecutor.java
index 4719dc5..6a5d122 100644
--- a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/ShellCommandExecutor.java
+++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/ShellCommandExecutor.java
@@ -74,16 +74,6 @@ public class ShellCommandExecutor extends AbstractCommandExecutor {
}
/**
- * get command type
- *
- * @return command type
- */
- @Override
- protected String commandInterpreter() {
- return OSUtils.isWindows() ? CMD : SH;
- }
-
- /**
* create command file if not exists
*
* @param execCommand exec command
diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/datasource/DatasourceUtil.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/datasource/DatasourceUtil.java
index 6402820..d7b47f0 100644
--- a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/datasource/DatasourceUtil.java
+++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/datasource/DatasourceUtil.java
@@ -50,29 +50,6 @@ public class DatasourceUtil {
private static final DatasourceProcessor db2PROCESSOR = new Db2DatasourceProcessor();
private static final DatasourceProcessor prestoPROCESSOR = new PrestoDatasourceProcessor();
- /**
- * check datasource param
- *
- * @param baseDataSourceParamDTO datasource param
- */
- public static void checkDatasourceParam(BaseDataSourceParamDTO baseDataSourceParamDTO) {
- getDatasourceProcessor(baseDataSourceParamDTO.getType()).checkDatasourceParam(baseDataSourceParamDTO);
- }
-
- /**
- * build connection url
- *
- * @param baseDataSourceParamDTO datasourceParam
- */
- public static ConnectionParam buildConnectionParams(BaseDataSourceParamDTO baseDataSourceParamDTO) {
- ConnectionParam connectionParams = getDatasourceProcessor(baseDataSourceParamDTO.getType())
- .createConnectionParams(baseDataSourceParamDTO);
- if (logger.isDebugEnabled()) {
- logger.info("parameters map:{}", connectionParams);
- }
- return connectionParams;
- }
-
public static ConnectionParam buildConnectionParams(DbType dbType, String connectionJson) {
return getDatasourceProcessor(dbType).createConnectionParams(connectionJson);
}
@@ -89,10 +66,6 @@ public class DatasourceUtil {
return getDatasourceProcessor(dbType).getJdbcUrl(baseConnectionParam);
}
- public static BaseDataSourceParamDTO buildDatasourceParamDTO(DbType dbType, String connectionParams) {
- return getDatasourceProcessor(dbType).createDatasourceParamDTO(connectionParams);
- }
-
public static DatasourceProcessor getDatasourceProcessor(DbType dbType) {
switch (dbType) {
case MYSQL:
diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/util/ThreadUtils.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/util/ThreadUtils.java
deleted file mode 100644
index cf14b4a..0000000
--- a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/util/ThreadUtils.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dolphinscheduler.plugin.task.util;
-
-import java.lang.management.ManagementFactory;
-import java.lang.management.ThreadInfo;
-import java.lang.management.ThreadMXBean;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.ScheduledThreadPoolExecutor;
-import java.util.concurrent.ThreadFactory;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
-
-import com.google.common.util.concurrent.ThreadFactoryBuilder;
-
-/**
- * thread utils
- */
-public class ThreadUtils {
-
- private ThreadUtils() {
- throw new IllegalStateException("Utility class");
- }
-
- private static final ThreadMXBean threadBean = ManagementFactory.getThreadMXBean();
- private static final int STACK_DEPTH = 20;
-
- /**
- * Wrapper over newCachedThreadPool. Thread names are formatted as prefix-ID, where ID is a
- * unique, sequentially assigned integer.
- *
- * @param prefix prefix
- * @return ThreadPoolExecutor
- */
- public static ThreadPoolExecutor newDaemonCachedThreadPool(String prefix) {
- ThreadFactory threadFactory = namedThreadFactory(prefix);
- return ((ThreadPoolExecutor) Executors.newCachedThreadPool(threadFactory));
- }
-
- /**
- * Create a thread factory that names threads with a prefix and also sets the threads to daemon.
- *
- * @param prefix prefix
- * @return ThreadFactory
- */
- private static ThreadFactory namedThreadFactory(String prefix) {
- return new ThreadFactoryBuilder().setDaemon(true).setNameFormat(prefix + "-%d").build();
- }
-
- /**
- * Create a cached thread pool whose max number of threads is `maxThreadNumber`. Thread names
- * are formatted as prefix-ID, where ID is a unique, sequentially assigned integer.
- *
- * @param prefix prefix
- * @param maxThreadNumber maxThreadNumber
- * @param keepAliveSeconds keepAliveSeconds
- * @return ThreadPoolExecutor
- */
- public static ThreadPoolExecutor newDaemonCachedThreadPool(String prefix,
- int maxThreadNumber,
- int keepAliveSeconds) {
- ThreadFactory threadFactory = namedThreadFactory(prefix);
- ThreadPoolExecutor threadPool = new ThreadPoolExecutor(
- // corePoolSize: the max number of threads to create before queuing the tasks
- maxThreadNumber,
- // maximumPoolSize: because we use LinkedBlockingDeque, this one is not used
- maxThreadNumber,
- keepAliveSeconds,
- TimeUnit.SECONDS,
- new LinkedBlockingQueue<>(),
- threadFactory);
- threadPool.allowCoreThreadTimeOut(true);
- return threadPool;
- }
-
- /**
- * Wrapper over newFixedThreadPool. Thread names are formatted as prefix-ID, where ID is a
- * unique, sequentially assigned integer.
- *
- * @param nThreads nThreads
- * @param prefix prefix
- * @return ThreadPoolExecutor
- */
- public static ThreadPoolExecutor newDaemonFixedThreadPool(int nThreads, String prefix) {
- ThreadFactory threadFactory = namedThreadFactory(prefix);
- return ((ThreadPoolExecutor) Executors.newFixedThreadPool(nThreads, threadFactory));
- }
-
- /**
- * Wrapper over newSingleThreadExecutor.
- *
- * @param threadName threadName
- * @return ExecutorService
- */
- public static ExecutorService newDaemonSingleThreadExecutor(String threadName) {
- ThreadFactory threadFactory = new ThreadFactoryBuilder()
- .setDaemon(true)
- .setNameFormat(threadName)
- .build();
- return Executors.newSingleThreadExecutor(threadFactory);
- }
-
- /**
- * Wrapper over newDaemonFixedThreadExecutor.
- *
- * @param threadName threadName
- * @param threadsNum threadsNum
- * @return ExecutorService
- */
- public static ExecutorService newDaemonFixedThreadExecutor(String threadName, int threadsNum) {
- ThreadFactory threadFactory = new ThreadFactoryBuilder()
- .setDaemon(true)
- .setNameFormat(threadName)
- .build();
- return Executors.newFixedThreadPool(threadsNum, threadFactory);
- }
-
- /**
- * Wrapper over ScheduledThreadPoolExecutor
- *
- * @param threadName threadName
- * @param corePoolSize corePoolSize
- * @return ScheduledExecutorService
- */
- public static ScheduledExecutorService newDaemonThreadScheduledExecutor(String threadName, int corePoolSize) {
- return newThreadScheduledExecutor(threadName, corePoolSize, true);
- }
-
- /**
- * Wrapper over ScheduledThreadPoolExecutor
- *
- * @param threadName threadName
- * @param corePoolSize corePoolSize
- * @param isDaemon isDaemon
- * @return ScheduledThreadPoolExecutor
- */
- public static ScheduledExecutorService newThreadScheduledExecutor(String threadName, int corePoolSize, boolean isDaemon) {
- ThreadFactory threadFactory = new ThreadFactoryBuilder()
- .setDaemon(isDaemon)
- .setNameFormat(threadName)
- .build();
- ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(corePoolSize, threadFactory);
- // By default, a cancelled task is not automatically removed from the work queue until its delay
- // elapses. We have to enable it manually.
- executor.setRemoveOnCancelPolicy(true);
- return executor;
- }
-
- /**
- * get thread info
- *
- * @param t t
- * @return thread info
- */
- public static ThreadInfo getThreadInfo(Thread t) {
- long tid = t.getId();
- return threadBean.getThreadInfo(tid, STACK_DEPTH);
- }
-
- /**
- * Format the given ThreadInfo object as a String.
- *
- * @param threadInfo threadInfo
- * @param indent indent
- * @return threadInfo
- */
- public static String formatThreadInfo(ThreadInfo threadInfo, String indent) {
- StringBuilder sb = new StringBuilder();
- appendThreadInfo(sb, threadInfo, indent);
- return sb.toString();
- }
-
- /**
- * Print all of the thread's information and stack traces.
- *
- * @param sb StringBuilder
- * @param info ThreadInfo
- * @param indent indent
- */
- public static void appendThreadInfo(StringBuilder sb,
- ThreadInfo info,
- String indent) {
- boolean contention = threadBean.isThreadContentionMonitoringEnabled();
-
- if (info == null) {
- sb.append(indent).append("Inactive (perhaps exited while monitoring was done)\n");
- return;
- }
- String taskName = getTaskName(info.getThreadId(), info.getThreadName());
- sb.append(indent).append("Thread ").append(taskName).append(":\n");
-
- Thread.State state = info.getThreadState();
- sb.append(indent).append(" State: ").append(state).append("\n");
- sb.append(indent).append(" Blocked count: ").append(info.getBlockedCount()).append("\n");
- sb.append(indent).append(" Waited count: ").append(info.getWaitedCount()).append("\n");
- if (contention) {
- sb.append(indent).append(" Blocked time: ").append(info.getBlockedTime()).append("\n");
- sb.append(indent).append(" Waited time: ").append(info.getWaitedTime()).append("\n");
- }
- if (state == Thread.State.WAITING) {
- sb.append(indent).append(" Waiting on ").append(info.getLockName()).append("\n");
- } else if (state == Thread.State.BLOCKED) {
- sb.append(indent).append(" Blocked on ").append(info.getLockName()).append("\n");
- sb.append(indent).append(" Blocked by ").append(
- getTaskName(info.getLockOwnerId(), info.getLockOwnerName())).append("\n");
- }
- sb.append(indent).append(" Stack:").append("\n");
- for (StackTraceElement frame : info.getStackTrace()) {
- sb.append(indent).append(" ").append(frame.toString()).append("\n");
- }
- }
-
- /**
- * getTaskName
- *
- * @param id id
- * @param name name
- * @return task name
- */
- private static String getTaskName(long id, String name) {
- if (name == null) {
- return Long.toString(id);
- }
- return id + " (" + name + ")";
- }
-
- /**
- * sleep
- *
- * @param millis millis
- */
- public static void sleep(final long millis) {
- try {
- Thread.sleep(millis);
- } catch (final InterruptedException ignore) {
- Thread.currentThread().interrupt();
- }
- }
-}
diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-python/src/main/java/org/apache/dolphinscheduler/plugin/task/python/PythonCommandExecutor.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-python/src/main/java/org/apache/dolphinscheduler/plugin/task/python/PythonCommandExecutor.java
index d277e14..c0d9e6b 100644
--- a/dolphinscheduler-task-plugin/dolphinscheduler-task-python/src/main/java/org/apache/dolphinscheduler/plugin/task/python/PythonCommandExecutor.java
+++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-python/src/main/java/org/apache/dolphinscheduler/plugin/task/python/PythonCommandExecutor.java
@@ -31,7 +31,6 @@ import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
-import java.util.Collections;
import java.util.List;
import java.util.function.Consumer;
@@ -106,31 +105,6 @@ public class PythonCommandExecutor extends AbstractCommandExecutor {
}
/**
- * get command options
- *
- * @return command options list
- */
- @Override
- protected List<String> commandOptions() {
- // unbuffered binary stdout and stderr
- return Collections.singletonList("-u");
- }
-
- /**
- * get python home
- *
- * @return python home
- */
- @Override
- protected String commandInterpreter() {
- String pythonHome = getPythonHome(taskRequest.getEnvFile());
- if (StringUtils.isEmpty(pythonHome)) {
- return PYTHON;
- }
- return pythonHome;
- }
-
- /**
* get the absolute path of the Python command
* note :
* common.properties
diff --git a/style/checkstyle.xml b/style/checkstyle.xml
index 6cfcced..48340ed 100644
--- a/style/checkstyle.xml
+++ b/style/checkstyle.xml
@@ -197,7 +197,6 @@
^cc\.concurrent\.mango\.util\.concurrent,
^org\.apache\.curator-test\.shaded,
^com\.sun\.istack,
- ^org\.apache\.commons\.lang,
^org\.jetbrains\.annotations,
^jline\.internal,
^com\.cronutils\.utils,