>>() {
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/PageResult.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/PageResult.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/PageResult.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/PageResult.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/ResponseResult.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/ResponseResult.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/ResponseResult.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/ResponseResult.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/TokenInfo.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/TokenInfo.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/TokenInfo.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/TokenInfo.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/app/AppInfo.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/AppInfo.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/app/AppInfo.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/AppInfo.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/app/AppPathConstant.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/AppPathConstant.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/app/AppPathConstant.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/AppPathConstant.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/app/AppStartRequest.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/AppStartRequest.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/app/AppStartRequest.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/AppStartRequest.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/app/AppStartedInfo.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/AppStartedInfo.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/app/AppStartedInfo.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/AppStartedInfo.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/app/JHAppApiExecution.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/JHAppApiExecution.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/app/JHAppApiExecution.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/JHAppApiExecution.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/app/SessionInfo.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/SessionInfo.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/app/SessionInfo.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/SessionInfo.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/auth/AuthPathConstant.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/auth/AuthPathConstant.java
similarity index 82%
rename from src/main/java/com/jhinno/sdk/openapi/api/auth/AuthPathConstant.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/auth/AuthPathConstant.java
index e8d855f..cf4420a 100644
--- a/src/main/java/com/jhinno/sdk/openapi/api/auth/AuthPathConstant.java
+++ b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/auth/AuthPathConstant.java
@@ -24,5 +24,9 @@ public class AuthPathConstant {
*/
public static final String AUTH_REGISTER = "/ws/api/auth/register";
+ /**
+ * 测试服务器是否可用
+ */
+ public static final String PING = "/ws/api/ping";
}
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/data/DataPathConstant.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/data/DataPathConstant.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/data/DataPathConstant.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/data/DataPathConstant.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/data/JHDataApiExecution.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/data/JHDataApiExecution.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/data/JHDataApiExecution.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/data/JHDataApiExecution.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/data/SpoolerDataInfo.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/data/SpoolerDataInfo.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/data/SpoolerDataInfo.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/data/SpoolerDataInfo.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/file/FileInfo.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/file/FileInfo.java
similarity index 91%
rename from src/main/java/com/jhinno/sdk/openapi/api/file/FileInfo.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/file/FileInfo.java
index ab7d6a6..a8b4b35 100644
--- a/src/main/java/com/jhinno/sdk/openapi/api/file/FileInfo.java
+++ b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/file/FileInfo.java
@@ -49,5 +49,10 @@ public class FileInfo {
*/
private Boolean execute;
+ /**
+ * 是否软连接
+ */
+ private Boolean link;
+
}
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/file/FilePathConstant.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/file/FilePathConstant.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/file/FilePathConstant.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/file/FilePathConstant.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/file/JHFileApiExecution.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/file/JHFileApiExecution.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/file/JHFileApiExecution.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/file/JHFileApiExecution.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/job/JHJobApiExecution.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JHJobApiExecution.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/job/JHJobApiExecution.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JHJobApiExecution.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/job/JobActionEnum.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JobActionEnum.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/job/JobActionEnum.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JobActionEnum.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/job/JobHistoryInfo.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JobHistoryInfo.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/job/JobHistoryInfo.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JobHistoryInfo.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/job/JobInfo.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JobInfo.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/job/JobInfo.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JobInfo.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/job/JobPathConstant.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JobPathConstant.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/job/JobPathConstant.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JobPathConstant.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/job/JobStatusEnum.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JobStatusEnum.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/job/JobStatusEnum.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JobStatusEnum.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/job/JobsActionEnum.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JobsActionEnum.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/job/JobsActionEnum.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JobsActionEnum.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/job/PageJobInfo.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/PageJobInfo.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/job/PageJobInfo.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/PageJobInfo.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/job/StageInfo.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/StageInfo.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/job/StageInfo.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/StageInfo.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/organization/AddUpdateDepartment.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/organization/AddUpdateDepartment.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/organization/AddUpdateDepartment.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/organization/AddUpdateDepartment.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/organization/AddUpdateUserInfo.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/organization/AddUpdateUserInfo.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/organization/AddUpdateUserInfo.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/organization/AddUpdateUserInfo.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/organization/DepartmentPathConstant.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/organization/DepartmentPathConstant.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/organization/DepartmentPathConstant.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/organization/DepartmentPathConstant.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/organization/JHDepartmentApiExecution.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/organization/JHDepartmentApiExecution.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/organization/JHDepartmentApiExecution.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/organization/JHDepartmentApiExecution.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/organization/JHUserApiExecution.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/organization/JHUserApiExecution.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/organization/JHUserApiExecution.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/organization/JHUserApiExecution.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/organization/UpdateUserPasswordType.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/organization/UpdateUserPasswordType.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/organization/UpdateUserPasswordType.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/organization/UpdateUserPasswordType.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/organization/UserInfo.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/organization/UserInfo.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/organization/UserInfo.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/organization/UserInfo.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/api/organization/UserPathConstant.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/organization/UserPathConstant.java
similarity index 100%
rename from src/main/java/com/jhinno/sdk/openapi/api/organization/UserPathConstant.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/organization/UserPathConstant.java
diff --git a/src/main/java/com/jhinno/sdk/openapi/client/DefaultHttpClientConfig.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/client/DefaultHttpClientConfig.java
similarity index 78%
rename from src/main/java/com/jhinno/sdk/openapi/client/DefaultHttpClientConfig.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/client/DefaultHttpClientConfig.java
index 4903146..2d05c1d 100644
--- a/src/main/java/com/jhinno/sdk/openapi/client/DefaultHttpClientConfig.java
+++ b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/client/DefaultHttpClientConfig.java
@@ -20,17 +20,17 @@ public class DefaultHttpClientConfig {
/**
- * 默认socket连接超时的时间(单位:秒)
+ * 默认socket连接超时的时间(单位:毫秒)
*/
public static final int SOCKET_TIMEOUT = 5000;
/**
- * 默认连接超时的时间(单位:秒)
+ * 默认连接超时的时间(单位:毫秒)
*/
public static final int CONNECT_TIMEOUT = 5000;
/**
- * 默认请求超时的时间(单位:秒)
+ * 默认请求超时的时间(单位:毫秒)
*/
public static final int CONNECTION_REQUEST_TIMEOUT = 5000;
}
diff --git a/src/main/java/com/jhinno/sdk/openapi/client/JHApiClient.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/client/JHApiClient.java
similarity index 85%
rename from src/main/java/com/jhinno/sdk/openapi/client/JHApiClient.java
rename to jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/client/JHApiClient.java
index c41a375..bc782e0 100644
--- a/src/main/java/com/jhinno/sdk/openapi/client/JHApiClient.java
+++ b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/client/JHApiClient.java
@@ -7,7 +7,10 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.jhinno.sdk.openapi.ArgsException;
import com.jhinno.sdk.openapi.ClientErrorCode;
import com.jhinno.sdk.openapi.ClientException;
+import com.jhinno.sdk.openapi.api.auth.AuthPathConstant;
import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.DateFormatUtils;
+import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
@@ -33,7 +36,12 @@ import java.nio.charset.StandardCharsets;
import java.security.KeyManagementException;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
+import java.sql.Timestamp;
+import java.text.DateFormat;
+import java.text.ParseException;
import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.Map;
import java.util.TimeZone;
@@ -47,9 +55,9 @@ import java.util.TimeZone;
public class JHApiClient {
/**
- * 基础的请求URL地址
+ * 基础的请求URL地址
*
- * 如:https://192.168.3.12/appform
+ * 如:https://192.168.3.12/appform
*
*/
private final String baseUrl;
@@ -66,10 +74,14 @@ public class JHApiClient {
* @param baseUrl 景行接口服务的基础地址
* @param closeableHttpClient 可关闭的HTTP客户端
*/
- private JHApiClient(CloseableHttpClient closeableHttpClient, String baseUrl) {
+ private JHApiClient(CloseableHttpClient closeableHttpClient, String baseUrl, int socketTimeout, int connectTimeout, int connectRequestTimeout) {
this.baseUrl = baseUrl.endsWith("/") ? baseUrl.substring(0, baseUrl.length() - 1) : baseUrl;
this.closeableHttpClient = closeableHttpClient;
- this.requestConfig = RequestConfig.custom().setSocketTimeout(DefaultHttpClientConfig.SOCKET_TIMEOUT).setConnectTimeout(DefaultHttpClientConfig.CONNECT_TIMEOUT).setConnectionRequestTimeout(DefaultHttpClientConfig.CONNECTION_REQUEST_TIMEOUT).build();
+ this.requestConfig = RequestConfig.custom()
+ .setSocketTimeout(socketTimeout)
+ .setConnectTimeout(connectTimeout)
+ .setConnectionRequestTimeout(connectRequestTimeout)
+ .build();
mapper = new ObjectMapper();
mapper.setTimeZone(TimeZone.getTimeZone("GMT+8"));
mapper.setDateFormat(new SimpleDateFormat(DatePattern.NORM_DATETIME_PATTERN));
@@ -93,22 +105,23 @@ public class JHApiClient {
*
* @param maxTotal 最大连接数
* @param maxPerRout 服务每次能并行接收的请求数量
- * @param baseUrl 景行接口服务的基础地址
+ * @param baseUrl 景行接口服务的基础地址 如: http://192.168.3.4/appform
* @return JHApiClient的实例
*/
- public static JHApiClient build(int maxTotal, int maxPerRout, String baseUrl) {
- return build(createHttpClients(maxTotal, maxPerRout), baseUrl);
+ public static JHApiClient build(String baseUrl, int maxTotal, int maxPerRout, int socketTimeout, int connectTimeout, int connectRequestTimeout) {
+ return build(createHttpClients(maxTotal, maxPerRout), baseUrl, socketTimeout, connectTimeout, connectRequestTimeout);
}
/**
* 通过{@link DefaultHttpClientConfig}默认配置的最大连接数和服务每次能并行接收的请求数量构建一个JHApiClient实例
*
*
- * @param baseUrl 景行接口服务的基础地址
+ * @param baseUrl 景行接口服务的基础地址,如: http://192.168.3.4/appform
* @return JHApiClient的实例
*/
public static JHApiClient build(String baseUrl) {
- return build(createHttpClients(DefaultHttpClientConfig.MAX_TOTAL, DefaultHttpClientConfig.MAX_PER_ROUT), baseUrl);
+ CloseableHttpClient client = createHttpClients(DefaultHttpClientConfig.MAX_TOTAL, DefaultHttpClientConfig.MAX_PER_ROUT);
+ return build(client, baseUrl, DefaultHttpClientConfig.SOCKET_TIMEOUT, DefaultHttpClientConfig.CONNECT_TIMEOUT, DefaultHttpClientConfig.CONNECTION_REQUEST_TIMEOUT);
}
/**
@@ -119,8 +132,8 @@ public class JHApiClient {
* @param baseUrl 景行接口服务的基础地址
* @return JHApiClient的实例
*/
- public static JHApiClient build(CloseableHttpClient httpClient, String baseUrl) {
- return new JHApiClient(httpClient, baseUrl);
+ public static JHApiClient build(CloseableHttpClient httpClient, String baseUrl, int socketTimeout, int connectTimeout, int connectRequestTimeout) {
+ return new JHApiClient(httpClient, baseUrl, socketTimeout, connectTimeout, connectRequestTimeout);
}
@@ -226,6 +239,29 @@ public class JHApiClient {
}
+
+ public Long requestTimeMillis() {
+ HttpGet httpGet = new HttpGet(getUrl(AuthPathConstant.PING));
+ httpGet.setConfig(requestConfig);
+ try {
+ HttpResponse response = closeableHttpClient.execute(httpGet);
+ Header header = response.getFirstHeader("Date");
+ if (header == null) {
+ return null;
+ }
+ String value = header.getValue();
+ if (StringUtils.isBlank(value)) {
+ return null;
+ }
+ return DatePattern.HTTP_DATETIME_FORMAT.parse(value).getTime();
+ } catch (IOException e) {
+ throw new ClientException(e.getMessage());
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
+ }
+
+ }
+
/**
* 发送请求
*
diff --git a/src/test/java/com/jhinno/sdk/openapi/test/JHClientConfig.java b/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/JHClientConfig.java
similarity index 90%
rename from src/test/java/com/jhinno/sdk/openapi/test/JHClientConfig.java
rename to jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/JHClientConfig.java
index a72e4b8..5392c18 100644
--- a/src/test/java/com/jhinno/sdk/openapi/test/JHClientConfig.java
+++ b/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/JHClientConfig.java
@@ -13,6 +13,6 @@ public class JHClientConfig {
/**
* 初始化JHApi客户端
*/
- public static final JHApiClient client = JHApiClient.build("https://192.168.87.25/appform");
+ public static final JHApiClient client = JHApiClient.build("https://172.17.0.5/appform");
}
diff --git a/src/test/java/com/jhinno/sdk/openapi/test/app/AppApiTest.java b/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/app/AppApiTest.java
similarity index 100%
rename from src/test/java/com/jhinno/sdk/openapi/test/app/AppApiTest.java
rename to jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/app/AppApiTest.java
diff --git a/src/test/java/com/jhinno/sdk/openapi/test/auth/AuthApiTest.java b/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/auth/AuthApiTest.java
similarity index 100%
rename from src/test/java/com/jhinno/sdk/openapi/test/auth/AuthApiTest.java
rename to jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/auth/AuthApiTest.java
diff --git a/src/test/java/com/jhinno/sdk/openapi/test/data/DataApiTest.java b/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/data/DataApiTest.java
similarity index 100%
rename from src/test/java/com/jhinno/sdk/openapi/test/data/DataApiTest.java
rename to jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/data/DataApiTest.java
diff --git a/src/test/java/com/jhinno/sdk/openapi/test/file/FileApiTest.java b/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/file/FileApiTest.java
similarity index 95%
rename from src/test/java/com/jhinno/sdk/openapi/test/file/FileApiTest.java
rename to jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/file/FileApiTest.java
index 48e768c..19405db 100644
--- a/src/test/java/com/jhinno/sdk/openapi/test/file/FileApiTest.java
+++ b/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/file/FileApiTest.java
@@ -50,7 +50,7 @@ public class FileApiTest {
*/
@Test
public void testGetFileList() {
- List fileList = execution.getFileList("lqyan", "$HOME");
+ List fileList = execution.getFileList("jhadmin", "$HOME");
ConsoleTable consoleTable = ConsoleTable.create();
consoleTable.setSBCMode(false);
consoleTable.addHeader("fileName", "fileType", "owner", "read", "write", "execute", "path");
@@ -65,7 +65,7 @@ public class FileApiTest {
*/
@Test
public void testMkdir() {
- System.out.println(execution.mkdir("jhadmin", "$HOME/test", true));
+ System.out.println(execution.mkdir("jhadmin", "$HOMEtest1", true));
}
diff --git a/src/test/java/com/jhinno/sdk/openapi/test/job/JobApiTest.java b/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/job/JobApiTest.java
similarity index 100%
rename from src/test/java/com/jhinno/sdk/openapi/test/job/JobApiTest.java
rename to jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/job/JobApiTest.java
diff --git a/src/test/java/com/jhinno/sdk/openapi/test/organization/DepartmentApiTest.java b/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/organization/DepartmentApiTest.java
similarity index 100%
rename from src/test/java/com/jhinno/sdk/openapi/test/organization/DepartmentApiTest.java
rename to jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/organization/DepartmentApiTest.java
diff --git a/src/test/java/com/jhinno/sdk/openapi/test/organization/UserApiTest.java b/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/organization/UserApiTest.java
similarity index 100%
rename from src/test/java/com/jhinno/sdk/openapi/test/organization/UserApiTest.java
rename to jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/organization/UserApiTest.java
diff --git a/jhinno-openapi-sdk-spring-boot-starter/pom.xml b/jhinno-openapi-sdk-spring-boot-starter/pom.xml
new file mode 100644
index 0000000..f31ccfc
--- /dev/null
+++ b/jhinno-openapi-sdk-spring-boot-starter/pom.xml
@@ -0,0 +1,136 @@
+
+
+ 4.0.0
+
+ jhinno-openapi-sdk-spring-boot-starter
+ 1.0.1
+ jar
+ Jhinno OpenAPI SDK for Java SpringBoot Starter
+ The Jhinno OpenAPI SDK for Java used for accessing Jhinno OpenApi Service
+ http://jhinno.com
+
+
+ com.jhinno
+ jhinno-openapi-java-sdk-parent
+ 1.0.1
+
+
+
+
+
+ com.jhinno
+ jhinno-openapi-java-sdk
+ 1.0.1
+
+
+
+ org.springframework.boot
+ spring-boot-autoconfigure
+ true
+
+
+
+ org.springframework.boot
+ spring-boot-configuration-processor
+ true
+
+
+
+ org.projectlombok
+ lombok
+ provided
+ true
+
+
+
+
+
+
+
+ jhinno-releases
+ http://192.168.87.22:8081/repository/maven-releases
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ ${maven.compiler.source}
+ ${maven.compiler.target}
+ ${project.build.sourceEncoding}
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.projectlombok
+ lombok-maven-plugin
+ 1.18.0.0
+
+ UTF-8
+ src/main/java
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 3.6.3
+
+ target/generated-sources/delombok
+ ${project.build.sourceEncoding}
+ ${project.build.sourceEncoding}
+ ${project.build.sourceEncoding}
+ none
+
+
+ date
+ X
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+ 3.3.0
+
+
+ attach-sources
+
+ jar-no-fork
+
+
+
+
+
+
+
+
+
+
+ lqyan
+ lqyan
+ lqyan@jhinno.com
+
+
+
+
+
+ The Apache License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0.txt
+
+
+
+
+
\ No newline at end of file
diff --git a/jhinno-openapi-sdk-spring-boot-starter/src/main/java/com/jhinno/sdk/openapi/autoconfigure/JHOpenapiClientAutoConfigure.java b/jhinno-openapi-sdk-spring-boot-starter/src/main/java/com/jhinno/sdk/openapi/autoconfigure/JHOpenapiClientAutoConfigure.java
new file mode 100644
index 0000000..cdc04e5
--- /dev/null
+++ b/jhinno-openapi-sdk-spring-boot-starter/src/main/java/com/jhinno/sdk/openapi/autoconfigure/JHOpenapiClientAutoConfigure.java
@@ -0,0 +1,32 @@
+package com.jhinno.sdk.openapi.autoconfigure;
+
+import com.jhinno.sdk.openapi.client.JHApiClient;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * openapi客户端自动配置
+ * @author yanlongqi
+ * @date 2024/6/4 16:01
+ */
+@Configuration
+@EnableConfigurationProperties(JHOpenapiProperties.class)
+public class JHOpenapiClientAutoConfigure {
+
+
+ @Bean
+ @ConditionalOnMissingBean
+ public JHApiClient jhApiClient(JHOpenapiProperties properties){
+ return JHApiClient.build(
+ properties.getServerUrl(),
+ properties.getMaxTotal(),
+ properties.getMaxPerRout(),
+ properties.getSocketTimeout(),
+ properties.getConnectTimeout(),
+ properties.getConnectRequestTimeout()
+ );
+ }
+
+}
diff --git a/jhinno-openapi-sdk-spring-boot-starter/src/main/java/com/jhinno/sdk/openapi/autoconfigure/JHOpenapiExecutionAutoconfigure.java b/jhinno-openapi-sdk-spring-boot-starter/src/main/java/com/jhinno/sdk/openapi/autoconfigure/JHOpenapiExecutionAutoconfigure.java
new file mode 100644
index 0000000..9d36024
--- /dev/null
+++ b/jhinno-openapi-sdk-spring-boot-starter/src/main/java/com/jhinno/sdk/openapi/autoconfigure/JHOpenapiExecutionAutoconfigure.java
@@ -0,0 +1,85 @@
+package com.jhinno.sdk.openapi.autoconfigure;
+
+import com.jhinno.sdk.openapi.api.JHApiExecution;
+import com.jhinno.sdk.openapi.api.app.JHAppApiExecution;
+import com.jhinno.sdk.openapi.api.data.JHDataApiExecution;
+import com.jhinno.sdk.openapi.api.file.JHFileApiExecution;
+import com.jhinno.sdk.openapi.api.job.JHJobApiExecution;
+import com.jhinno.sdk.openapi.api.organization.JHDepartmentApiExecution;
+import com.jhinno.sdk.openapi.api.organization.JHUserApiExecution;
+import com.jhinno.sdk.openapi.client.JHApiClient;
+import lombok.RequiredArgsConstructor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * openapi执行器自动配置
+ *
+ * @author yanlongqi
+ * @date 2024/6/4 17:27
+ */
+@Configuration
+@RequiredArgsConstructor
+public class JHOpenapiExecutionAutoconfigure {
+
+
+ private final JHOpenapiProperties properties;
+ private final JHApiClient client;
+
+ @Bean
+ public JHAppApiExecution appApiExecution() {
+ JHAppApiExecution execution = new JHAppApiExecution(client);
+ execution.setTokenTimeout(properties.getTokenTimeout());
+ execution.setTokenResidueTime(properties.getTokenResidueTime());
+ execution.setUsedServerTime(properties.isUsedServerTime());
+ return execution;
+ }
+
+ @Bean
+ public JHDataApiExecution dataApiExecution() {
+ JHDataApiExecution execution = new JHDataApiExecution(client);
+ execution.setTokenTimeout(properties.getTokenTimeout());
+ execution.setTokenResidueTime(properties.getTokenResidueTime());
+ execution.setUsedServerTime(properties.isUsedServerTime());
+ return execution;
+ }
+
+
+ @Bean
+ public JHFileApiExecution fileApiExecution() {
+ JHFileApiExecution execution = new JHFileApiExecution(client);
+ execution.setTokenTimeout(properties.getTokenTimeout());
+ execution.setTokenResidueTime(properties.getTokenResidueTime());
+ execution.setUsedServerTime(properties.isUsedServerTime());
+ return execution;
+ }
+
+ @Bean
+ public JHJobApiExecution jobApiExecution() {
+ JHJobApiExecution execution = new JHJobApiExecution(client);
+ execution.setTokenTimeout(properties.getTokenTimeout());
+ execution.setTokenResidueTime(properties.getTokenResidueTime());
+ execution.setUsedServerTime(properties.isUsedServerTime());
+ return execution;
+ }
+
+
+ @Bean
+ public JHDepartmentApiExecution departmentApiExecution() {
+ JHDepartmentApiExecution execution = new JHDepartmentApiExecution(client);
+ execution.setTokenTimeout(properties.getTokenTimeout());
+ execution.setTokenResidueTime(properties.getTokenResidueTime());
+ execution.setUsedServerTime(properties.isUsedServerTime());
+ return execution;
+ }
+
+
+ @Bean
+ public JHUserApiExecution userApiExecution() {
+ JHUserApiExecution execution = new JHUserApiExecution(client);
+ execution.setTokenTimeout(properties.getTokenTimeout());
+ execution.setTokenResidueTime(properties.getTokenResidueTime());
+ execution.setUsedServerTime(properties.isUsedServerTime());
+ return execution;
+ }
+}
diff --git a/jhinno-openapi-sdk-spring-boot-starter/src/main/java/com/jhinno/sdk/openapi/autoconfigure/JHOpenapiProperties.java b/jhinno-openapi-sdk-spring-boot-starter/src/main/java/com/jhinno/sdk/openapi/autoconfigure/JHOpenapiProperties.java
new file mode 100644
index 0000000..851a987
--- /dev/null
+++ b/jhinno-openapi-sdk-spring-boot-starter/src/main/java/com/jhinno/sdk/openapi/autoconfigure/JHOpenapiProperties.java
@@ -0,0 +1,65 @@
+package com.jhinno.sdk.openapi.autoconfigure;
+
+import com.jhinno.sdk.openapi.CommonConstant;
+import com.jhinno.sdk.openapi.client.DefaultHttpClientConfig;
+import com.jhinno.sdk.openapi.constant.CommonConstants;
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * @author yanlongqi
+ * @date 2024/6/4 16:03
+ */
+@Data
+@ConfigurationProperties(prefix = CommonConstants.CONFIG_PREFIX)
+public class JHOpenapiProperties {
+
+ /**
+ * 接口服务的BaseURL, 列如:https://192.168.87.20/appform
+ */
+ private String serverUrl;
+
+ /**
+ * 设置连接池的最大连接数,默认{@link DefaultHttpClientConfig#MAX_TOTAL}
+ */
+ private int maxTotal = DefaultHttpClientConfig.MAX_TOTAL;
+
+
+ /**
+ * 设置服务每次能并行接收的请求数量,默认{@link DefaultHttpClientConfig#MAX_PER_ROUT}
+ */
+ private int maxPerRout = DefaultHttpClientConfig.MAX_PER_ROUT;
+
+ /**
+ * 设置服务socket连接超时的时间(单位:毫秒),默认{@link DefaultHttpClientConfig#SOCKET_TIMEOUT}
+ */
+ private int socketTimeout = DefaultHttpClientConfig.SOCKET_TIMEOUT;
+
+ /**
+ * 设置服务连接超时的时间(单位:毫秒),默认{@link DefaultHttpClientConfig#CONNECT_TIMEOUT}
+ */
+ private int connectTimeout = DefaultHttpClientConfig.CONNECT_TIMEOUT;
+
+
+ /**
+ * 设置服务请求超时的时间(单位:毫秒),默认{@link DefaultHttpClientConfig#CONNECTION_REQUEST_TIMEOUT}
+ */
+ private int connectRequestTimeout = DefaultHttpClientConfig.CONNECTION_REQUEST_TIMEOUT;
+
+
+ /**
+ * token的超时时间(单位:分钟)
+ */
+ private int tokenTimeout = CommonConstant.DEFAULT_TOKEN_EFFECTIVE_TIME;
+
+ /**
+ * token提前获取的时间(单位:分钟)
+ */
+ private int tokenResidueTime = CommonConstant.DEFAULT_TOKEN_RESIDUE_TIME;
+
+
+ /**
+ * 是否使用服务器时间
+ */
+ private boolean usedServerTime = CommonConstant.DEFAULT_IS_USED_SERVER_TIME;
+}
diff --git a/jhinno-openapi-sdk-spring-boot-starter/src/main/java/com/jhinno/sdk/openapi/constant/CommonConstants.java b/jhinno-openapi-sdk-spring-boot-starter/src/main/java/com/jhinno/sdk/openapi/constant/CommonConstants.java
new file mode 100644
index 0000000..2910227
--- /dev/null
+++ b/jhinno-openapi-sdk-spring-boot-starter/src/main/java/com/jhinno/sdk/openapi/constant/CommonConstants.java
@@ -0,0 +1,14 @@
+package com.jhinno.sdk.openapi.constant;
+
+/**
+ * @author yanlongqi
+ * @date 2024/6/4 16:12
+ */
+public class CommonConstants {
+
+
+ /**
+ * 配置的前缀
+ */
+ public static final String CONFIG_PREFIX = "jhinno.openapi";
+}
diff --git a/jhinno-openapi-sdk-spring-boot-starter/src/main/resources/META-INF/spring.factories b/jhinno-openapi-sdk-spring-boot-starter/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..b7d5802
--- /dev/null
+++ b/jhinno-openapi-sdk-spring-boot-starter/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,3 @@
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+ com.jhinno.sdk.openapi.autoconfigure.JHOpenapiClientAutoConfigure,\
+ com.jhinno.sdk.openapi.autoconfigure.JHOpenapiExecutionAutoconfigure
\ No newline at end of file
diff --git a/jhinno-openapi-sdk-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/jhinno-openapi-sdk-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 0000000..b3a4867
--- /dev/null
+++ b/jhinno-openapi-sdk-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1,2 @@
+com.jhinno.sdk.openapi.autoconfigure.JHOpenapiClientAutoConfigure
+com.jhinno.sdk.openapi.autoconfigure.JHOpenapiExecutionAutoconfigure
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 2d1fbea..508a198 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,10 +5,10 @@
4.0.0
com.jhinno
- jhinno-openapi-java-sdk
- 1.0.0
- jar
- Jhinno OpenAPI SDK for Java
+ jhinno-openapi-java-sdk-parent
+ 1.0.1
+ pom
+ Jhinno OpenAPI SDK for Java parent
The Jhinno OpenAPI SDK for Java used for accessing Jhinno OpenApi Service
http://jhinno.com
@@ -21,70 +21,12 @@
true
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.7.18
+
-
-
- org.apache.commons
- commons-lang3
- 3.13.0
-
-
-
- org.apache.httpcomponents
- httpclient
- 4.5.13
-
-
- commons-codec
- commons-codec
-
-
-
-
-
- org.apache.httpcomponents
- httpmime
- 4.5.13
-
-
-
- commons-codec
- commons-codec
- 1.15
-
-
-
- com.fasterxml.jackson.core
- jackson-core
- 2.15.2
-
-
-
- com.fasterxml.jackson.core
- jackson-databind
- 2.15.2
-
-
-
- cn.hutool
- hutool-all
- 5.8.25
-
-
-
- org.projectlombok
- lombok
- 1.18.28
- provided
-
-
-
- junit
- junit
- 4.13.2
- test
-
-
@@ -93,70 +35,11 @@
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.6.2
-
- ${maven.compiler.source}
- ${maven.compiler.target}
- ${project.build.sourceEncoding}
-
-
+
+ jhinno-openapi-java-sdk
+ jhinno-openapi-sdk-spring-boot-starter
+
-
- org.apache.maven.plugins
- maven-jar-plugin
- 3.3.0
-
-
-
- org.projectlombok
- lombok-maven-plugin
- 1.18.0.0
-
- UTF-8
- src/main/java
-
-
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
- 3.6.3
-
- target/generated-sources/delombok
- ${project.build.sourceEncoding}
- ${project.build.sourceEncoding}
- ${project.build.sourceEncoding}
- none
-
-
- date
- X
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-source-plugin
- 3.3.0
-
-
- attach-sources
-
- jar-no-fork
-
-
-
-
-
-
-