From d6a7d1fa1a0d4698342c9400dfd451c751cbb3e8 Mon Sep 17 00:00:00 2001 From: pnoker Date: Wed, 27 Apr 2022 23:02:54 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DataCustomServiceImpl.java | 4 +- .../com/dc3/center/manager/api/BatchApi.java | 8 +- dc3-common/dc3-common-base/pom.xml | 27 +- .../exception/GlobalExceptionAdvice.java | 4 +- .../java/com/dc3/common/utils/JsonUtil.java | 344 ++++++++++++++++++ dc3-common/dc3-common-profiles/pom.xml | 6 + .../src/main/resources/application-dc3.yml | 19 + .../src/main/resources/application-feign.yml | 7 +- dc3-common/dc3-common-sdk/pom.xml | 8 - .../sdk/service/impl/DriverServiceImpl.java | 8 +- .../rabbit/DriverMetadataReceiver.java | 14 +- dc3-driver/dc3-driver-edge-gateway/pom.xml | 5 - .../com/dc3/driver/mqtt/bean/MqttPayload.java | 4 +- .../mqtt/handler/MqttReceiveHandler.java | 4 +- .../dc3-driver-listening-virtual/pom.xml | 5 - .../src/main/resources/application.yml | 17 +- dc3-driver/dc3-driver-modbus-tcp/pom.xml | 5 - .../service/impl/DriverCustomServiceImpl.java | 4 +- dc3-driver/dc3-driver-mqtt/pom.xml | 5 - .../com/dc3/driver/mqtt/bean/MqttPayload.java | 4 +- .../mqtt/handler/MqttReceiveHandler.java | 4 +- dc3-driver/dc3-driver-opc-da/pom.xml | 6 +- .../service/impl/DriverCustomServiceImpl.java | 8 +- dc3-driver/dc3-driver-opc-ua/pom.xml | 6 +- .../service/impl/DriverCustomServiceImpl.java | 10 +- .../AuthenticGatewayFilterFactory.java | 6 +- pom.xml | 158 ++++++-- 27 files changed, 564 insertions(+), 136 deletions(-) create mode 100644 dc3-common/dc3-common-base/src/main/java/com/dc3/common/utils/JsonUtil.java create mode 100644 dc3-common/dc3-common-profiles/src/main/resources/application-dc3.yml diff --git a/dc3-center/dc3-center-data/src/main/java/com/dc3/center/data/service/impl/DataCustomServiceImpl.java b/dc3-center/dc3-center-data/src/main/java/com/dc3/center/data/service/impl/DataCustomServiceImpl.java index 75f1ec37c..22e0521b1 100644 --- a/dc3-center/dc3-center-data/src/main/java/com/dc3/center/data/service/impl/DataCustomServiceImpl.java +++ b/dc3-center/dc3-center-data/src/main/java/com/dc3/center/data/service/impl/DataCustomServiceImpl.java @@ -13,11 +13,11 @@ package com.dc3.center.data.service.impl; -import com.alibaba.fastjson.JSON; import com.dc3.center.data.service.DataCustomService; import com.dc3.center.data.service.elastic.PointValueRepository; import com.dc3.common.bean.point.PointValue; import com.dc3.common.bean.point.TsPointValue; +import com.dc3.common.utils.JsonUtil; import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; import okhttp3.*; @@ -111,7 +111,7 @@ public class DataCustomServiceImpl implements DataCustomService { * @param tsPointValues TsPointValue Array */ private void savePointValueToOpenTsdb(List tsPointValues) { - RequestBody requestBody = RequestBody.create(MediaType.parse("application/json;charset=utf-8"), JSON.toJSONString(tsPointValues)); + RequestBody requestBody = RequestBody.create(MediaType.parse("application/json;charset=utf-8"), JsonUtil.toJsonString(tsPointValues)); Request request = new Request.Builder() .url(details ? putUrl + "?details" : putUrl) .post(requestBody) diff --git a/dc3-center/dc3-center-manager/src/main/java/com/dc3/center/manager/api/BatchApi.java b/dc3-center/dc3-center-manager/src/main/java/com/dc3/center/manager/api/BatchApi.java index e591fc4ac..60b50ac45 100644 --- a/dc3-center/dc3-center-manager/src/main/java/com/dc3/center/manager/api/BatchApi.java +++ b/dc3-center/dc3-center-manager/src/main/java/com/dc3/center/manager/api/BatchApi.java @@ -14,14 +14,13 @@ package com.dc3.center.manager.api; import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSON; import com.dc3.api.center.manager.feign.BatchClient; import com.dc3.center.manager.service.BatchService; import com.dc3.common.bean.R; import com.dc3.common.bean.batch.BatchDriver; import com.dc3.common.constant.Common; import com.dc3.common.exception.ServiceException; -import com.dc3.common.utils.Dc3Util; +import com.dc3.common.utils.JsonUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -51,10 +50,7 @@ public class BatchApi implements BatchClient { throw new ServiceException("Import file is empty"); } // Convert json file to BatchDriver Array - List batchDrivers = JSON.parseArray( - Dc3Util.inputStreamToString(multipartFile.getInputStream()), - BatchDriver.class - ); + List batchDrivers = JsonUtil.parseArray(multipartFile.getInputStream(), BatchDriver.class); if (null == batchDrivers) { throw new ServiceException("Import file is blank"); } diff --git a/dc3-common/dc3-common-base/pom.xml b/dc3-common/dc3-common-base/pom.xml index 315452175..849d02d9d 100644 --- a/dc3-common/dc3-common-base/pom.xml +++ b/dc3-common/dc3-common-base/pom.xml @@ -28,14 +28,6 @@ IOT DC3 平台 公共基础集合。 - - 0.9.1 - 2.3.0 - 1.1.1 - 5.7.20 - 1.2.79 - - @@ -75,29 +67,24 @@ io.jsonwebtoken jjwt - ${jwt.version} javax.xml.bind jaxb-api - ${jaxb.version} com.sun.xml.bind jaxb-impl - ${jaxb.version} com.sun.xml.bind jaxb-core - ${jaxb.version} javax.activation activation - ${activation.version} @@ -118,18 +105,16 @@ commons-fileupload + + + com.google.guava + guava + + cn.hutool hutool-all - ${hutool.version} - - - - - com.alibaba - fastjson - ${fastjson.version} diff --git a/dc3-common/dc3-common-base/src/main/java/com/dc3/common/exception/GlobalExceptionAdvice.java b/dc3-common/dc3-common-base/src/main/java/com/dc3/common/exception/GlobalExceptionAdvice.java index 2b9590aa2..d18b48b64 100644 --- a/dc3-common/dc3-common-base/src/main/java/com/dc3/common/exception/GlobalExceptionAdvice.java +++ b/dc3-common/dc3-common-base/src/main/java/com/dc3/common/exception/GlobalExceptionAdvice.java @@ -13,8 +13,8 @@ package com.dc3.common.exception; -import com.alibaba.fastjson.JSON; import com.dc3.common.bean.R; +import com.dc3.common.utils.JsonUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; import org.springframework.validation.BindException; @@ -80,7 +80,7 @@ public class GlobalExceptionAdvice { log.warn("Method Argument Not Valid Exception Handler: {}({})", error.getField(), error.getDefaultMessage()); map.put(error.getField(), error.getDefaultMessage()); }); - return R.fail(JSON.toJSONString(map)); + return R.fail(JsonUtil.toJsonString(map)); } } diff --git a/dc3-common/dc3-common-base/src/main/java/com/dc3/common/utils/JsonUtil.java b/dc3-common/dc3-common-base/src/main/java/com/dc3/common/utils/JsonUtil.java new file mode 100644 index 000000000..e95882b9c --- /dev/null +++ b/dc3-common/dc3-common-base/src/main/java/com/dc3/common/utils/JsonUtil.java @@ -0,0 +1,344 @@ +package com.dc3.common.utils; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.JavaType; +import com.fasterxml.jackson.databind.MapperFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.json.JsonMapper; + +import java.io.*; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.List; + +/** + * Json 工具类 + * 基于 Jackson 实现 + * + * @author pnoker + */ +public final class JsonUtil { + + private static final ObjectMapper OBJECT_MAPPER = JsonMapper.builder() + .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, Boolean.FALSE) + .configure(MapperFeature.DEFAULT_VIEW_INCLUSION, Boolean.FALSE) + .serializationInclusion(JsonInclude.Include.NON_NULL).build(); + + + /** + * 反序列化,将 Json 字符串解析为 Java 对象 + * + * @param text Json String + * @param valueType Java 对象 + * @return Java 对象 + */ + public static T parseObject(String text, Class valueType) { + try { + return OBJECT_MAPPER.readValue(text, valueType); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + /** + * 反序列化,将 Json 字符串解析为 Java 对象 + * + * @param bytes Json Byte Array + * @param valueType Java 对象 + * @return Java 对象 + */ + public static T parseObject(byte[] bytes, Class valueType) { + try { + return OBJECT_MAPPER.readValue(bytes, valueType); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + /** + * 反序列化,将 Json 字符串解析为 Java 对象 + * + * @param jsonParser Json Parser + * @param valueType Java 对象 + * @return Java 对象 + */ + public static T parseObject(JsonParser jsonParser, Class valueType) { + try { + return OBJECT_MAPPER.readValue(jsonParser, valueType); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + /** + * 反序列化,将 Json 字符串解析为 Java 对象 + * + * @param dataInput Json DataInput + * @param valueType Java 对象 + * @return Java 对象 + */ + public static T parseObject(DataInput dataInput, Class valueType) { + try { + return OBJECT_MAPPER.readValue(dataInput, valueType); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + /** + * 反序列化,将 Json 字符串解析为 Java 对象 + * + * @param inputStream Json InputStream + * @param valueType Java 对象 + * @return Java 对象 + */ + public static T parseObject(InputStream inputStream, Class valueType) { + try { + return OBJECT_MAPPER.readValue(inputStream, valueType); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + /** + * 反序列化,将 Json 字符串解析为 Java 对象 + * + * @param reader Json Reader + * @param valueType Java 对象 + * @return Java 对象 + */ + public static T parseObject(Reader reader, Class valueType) { + try { + return OBJECT_MAPPER.readValue(reader, valueType); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + /** + * 反序列化,将 Json 字符串解析为 Java 对象 + * + * @param file Json File + * @param valueType Java 对象 + * @return Java 对象 + */ + public static T parseObject(File file, Class valueType) { + try { + return OBJECT_MAPPER.readValue(file, valueType); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + /** + * 反序列化,将Json 字符串转化为指定对象,并将指定对象中的泛型转为指定的T类型 + * + * @param text Json String + * @param typeReference TypeReference,T 为指定要转化为的数据类型 + * @return Java 对象 + */ + public static T parseObject(String text, TypeReference typeReference) { + try { + return OBJECT_MAPPER.readValue(text, typeReference); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + /** + * 反序列化,将 Json 字符串解析为 Java 对象集合 + * + * @param text Json String + * @param valueType Java 对象 + * @return Java 对象集合 + */ + public static List parseArray(String text, Class valueType) { + try { + JavaType javaType = OBJECT_MAPPER.getTypeFactory().constructParametricType(ArrayList.class, valueType); + return OBJECT_MAPPER.readValue(text, javaType); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + /** + * 反序列化,将 Json 字符串解析为 Java 对象集合 + * + * @param bytes Json Byte Array + * @param valueType Java 对象 + * @return Java 对象集合 + */ + public static List parseArray(byte[] bytes, Class valueType) { + try { + JavaType javaType = OBJECT_MAPPER.getTypeFactory().constructParametricType(ArrayList.class, valueType); + return OBJECT_MAPPER.readValue(bytes, javaType); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + /** + * 反序列化,将 Json 字符串解析为 Java 对象集合 + * + * @param jsonParser Json JsonParser + * @param valueType Java 对象 + * @return Java 对象集合 + */ + public static List parseArray(JsonParser jsonParser, Class valueType) { + try { + JavaType javaType = OBJECT_MAPPER.getTypeFactory().constructParametricType(ArrayList.class, valueType); + return OBJECT_MAPPER.readValue(jsonParser, javaType); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + /** + * 反序列化,将 Json 字符串解析为 Java 对象集合 + * + * @param dataInput Json DataInput + * @param valueType Java 对象 + * @return Java 对象集合 + */ + public static List parseArray(DataInput dataInput, Class valueType) { + try { + JavaType javaType = OBJECT_MAPPER.getTypeFactory().constructParametricType(ArrayList.class, valueType); + return OBJECT_MAPPER.readValue(dataInput, javaType); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + /** + * 反序列化,将 Json 字符串解析为 Java 对象集合 + * + * @param inputStream Json InputStream + * @param valueType Java 对象 + * @return Java 对象集合 + */ + public static List parseArray(InputStream inputStream, Class valueType) { + try { + JavaType javaType = OBJECT_MAPPER.getTypeFactory().constructParametricType(ArrayList.class, valueType); + return OBJECT_MAPPER.readValue(inputStream, javaType); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + /** + * 反序列化,将 Json 字符串解析为 Java 对象集合 + * + * @param reader Json Reader + * @param valueType Java 对象 + * @return Java 对象集合 + */ + public static List parseArray(Reader reader, Class valueType) { + try { + JavaType javaType = OBJECT_MAPPER.getTypeFactory().constructParametricType(ArrayList.class, valueType); + return OBJECT_MAPPER.readValue(reader, javaType); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + /** + * 反序列化,将 Json 字符串解析为 Java 对象集合 + * + * @param file Json File + * @param valueType Java 对象 + * @return Java 对象集合 + */ + public static List parseArray(File file, Class valueType) { + try { + JavaType javaType = OBJECT_MAPPER.getTypeFactory().constructParametricType(ArrayList.class, valueType); + return OBJECT_MAPPER.readValue(file, javaType); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + /** + * 序列化,将一个 Java 对象或 Java 对象集合转化为 Json 字符串 + * + * @param type Java 对象引用 + * @return Json 字符串 + */ + public static String toJsonString(T type) { + try { + return OBJECT_MAPPER.writeValueAsString(type); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + } + + /** + * 序列化,将一个 Java 对象转化为 Json 字符串,并定制 Json 展示内容 + * + * @param type Java 对象引用 + * @param serializationView 定制现实内容的 Java 对象 + * @return Json 字符串 + */ + public static String toJsonString(T type, Class serializationView) { + try { + return OBJECT_MAPPER.writerWithView(serializationView).writeValueAsString(type); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + } + + /** + * 美化序列化,将一个 Java 对象或 Java 对象集合转化为 Json 字符串 + * + * @param type Java 对象引用 + * @return Json 字符串 + */ + public static String toPrettyJsonString(T type) { + try { + return OBJECT_MAPPER.writerWithDefaultPrettyPrinter().writeValueAsString(type); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + } + + /** + * 美化序列化,将一个Java 对象转化为 Json 字符串,并定制 Json 展示内容 + * + * @param type Java 对象引用 + * @param serializationView 定制现实内容的Java 对象 + * @return Json 字符串 + */ + public static String toPrettyJsonString(T type, Class serializationView) { + try { + return OBJECT_MAPPER.writerWithView(serializationView).withDefaultPrettyPrinter().writeValueAsString(type); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + } + + /** + * 序列化,将一个 Java 对象或 Java 对象集合转化为 Json Byte Array + * + * @param type Java 对象引用 + * @return Json 字符串 + */ + public static byte[] toJsonBytes(T type) { + try { + return OBJECT_MAPPER.writeValueAsString(type).getBytes(StandardCharsets.UTF_8); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + } + + /** + * 返回一个ObjectMapper对象 + * + * @return ObjectMapper + */ + public static ObjectMapper getObjectMapper() { + return OBJECT_MAPPER; + } +} \ No newline at end of file diff --git a/dc3-common/dc3-common-profiles/pom.xml b/dc3-common/dc3-common-profiles/pom.xml index f27b578c3..300a61f0f 100644 --- a/dc3-common/dc3-common-profiles/pom.xml +++ b/dc3-common/dc3-common-profiles/pom.xml @@ -48,6 +48,12 @@ spring-boot-starter-actuator + + + org.springframework.cloud + spring-cloud-openfeign-core + + org.springframework.boot diff --git a/dc3-common/dc3-common-profiles/src/main/resources/application-dc3.yml b/dc3-common/dc3-common-profiles/src/main/resources/application-dc3.yml new file mode 100644 index 000000000..6e13043c0 --- /dev/null +++ b/dc3-common/dc3-common-profiles/src/main/resources/application-dc3.yml @@ -0,0 +1,19 @@ +gateway: + save: + opentsdb: true + elasticsearch: true + +auth: + save: + opentsdb: true + elasticsearch: true + +manager: + save: + opentsdb: true + elasticsearch: true + +data: + save: + opentsdb: true + elasticsearch: true \ No newline at end of file diff --git a/dc3-common/dc3-common-profiles/src/main/resources/application-feign.yml b/dc3-common/dc3-common-profiles/src/main/resources/application-feign.yml index 6cc16ea98..2fa89d956 100644 --- a/dc3-common/dc3-common-profiles/src/main/resources/application-feign.yml +++ b/dc3-common/dc3-common-profiles/src/main/resources/application-feign.yml @@ -1,11 +1,12 @@ feign: + circuitbreaker: + enabled: true httpclient: enabled: false - okhttp: + ok-http: enabled: true compression: request: enabled: true response: - enabled: true - use-gzip-decoder: true \ No newline at end of file + enabled: true \ No newline at end of file diff --git a/dc3-common/dc3-common-sdk/pom.xml b/dc3-common/dc3-common-sdk/pom.xml index 5b3042419..815957305 100644 --- a/dc3-common/dc3-common-sdk/pom.xml +++ b/dc3-common/dc3-common-sdk/pom.xml @@ -25,11 +25,6 @@ IOT DC3 平台 驱动 SDK 。 - - 5.10.0 - 6.1.0 - - @@ -106,17 +101,14 @@ com.github.oshi oshi-core - ${oshi.version} net.java.dev.jna jna - ${jna.version} net.java.dev.jna jna-platform - ${jna.version} diff --git a/dc3-common/dc3-common-sdk/src/main/java/com/dc3/common/sdk/service/impl/DriverServiceImpl.java b/dc3-common/dc3-common-sdk/src/main/java/com/dc3/common/sdk/service/impl/DriverServiceImpl.java index ca0990f85..f2f20fae2 100644 --- a/dc3-common/dc3-common-sdk/src/main/java/com/dc3/common/sdk/service/impl/DriverServiceImpl.java +++ b/dc3-common/dc3-common-sdk/src/main/java/com/dc3/common/sdk/service/impl/DriverServiceImpl.java @@ -15,7 +15,7 @@ package com.dc3.common.sdk.service.impl; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSON; +import com.dc3.common.utils.JsonUtil; import com.dc3.common.constant.Common; import com.dc3.common.exception.ServiceException; import com.dc3.common.model.DeviceEvent; @@ -113,7 +113,7 @@ public class DriverServiceImpl implements DriverService { @Override public void driverEventSender(DriverEvent driverEvent) { if (null != driverEvent) { - log.debug("Send driver event: {}", JSON.toJSONString(driverEvent)); + log.debug("Send driver event: {}", JsonUtil.toJsonString(driverEvent)); rabbitTemplate.convertAndSend( Common.Rabbit.TOPIC_EXCHANGE_EVENT, Common.Rabbit.ROUTING_DRIVER_EVENT_PREFIX + serviceName, @@ -124,7 +124,7 @@ public class DriverServiceImpl implements DriverService { public void deviceEventSender(DeviceEvent deviceEvent) { if (null != deviceEvent) { - log.debug("Send device event: {}", JSON.toJSONString(deviceEvent)); + log.debug("Send device event: {}", JsonUtil.toJsonString(deviceEvent)); rabbitTemplate.convertAndSend( Common.Rabbit.TOPIC_EXCHANGE_EVENT, Common.Rabbit.ROUTING_DEVICE_EVENT_PREFIX + serviceName, @@ -143,7 +143,7 @@ public class DriverServiceImpl implements DriverService { public void pointValueSender(PointValue pointValue) { if (null != pointValue) { - log.debug("Send point value: {}", JSON.toJSONString(pointValue)); + log.debug("Send point value: {}", JsonUtil.toJsonString(pointValue)); rabbitTemplate.convertAndSend( Common.Rabbit.TOPIC_EXCHANGE_VALUE, Common.Rabbit.ROUTING_POINT_VALUE_PREFIX + serviceName, diff --git a/dc3-common/dc3-common-sdk/src/main/java/com/dc3/common/sdk/service/rabbit/DriverMetadataReceiver.java b/dc3-common/dc3-common-sdk/src/main/java/com/dc3/common/sdk/service/rabbit/DriverMetadataReceiver.java index a6914eaba..c2e221de7 100644 --- a/dc3-common/dc3-common-sdk/src/main/java/com/dc3/common/sdk/service/rabbit/DriverMetadataReceiver.java +++ b/dc3-common/dc3-common-sdk/src/main/java/com/dc3/common/sdk/service/rabbit/DriverMetadataReceiver.java @@ -15,7 +15,6 @@ package com.dc3.common.sdk.service.rabbit; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSON; import com.dc3.common.bean.driver.DriverConfiguration; import com.dc3.common.bean.driver.DriverMetadata; import com.dc3.common.constant.Common; @@ -23,6 +22,7 @@ import com.dc3.common.model.*; import com.dc3.common.sdk.bean.driver.DriverContext; import com.dc3.common.sdk.service.DriverMetadataService; import com.dc3.common.sdk.service.DriverService; +import com.dc3.common.utils.JsonUtil; import com.rabbitmq.client.Channel; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.Message; @@ -104,7 +104,7 @@ public class DriverMetadataReceiver { break; case Common.Driver.Event.DRIVER_METADATA_SYNC_BACK: DriverMetadata driverMetadata = Convert.convert(DriverMetadata.class, driverConfiguration.getContent()); - log.debug("Initialization driver metadata : {}", JSON.toJSONString(driverMetadata, true)); + log.debug("Initialization driver metadata : {}", JsonUtil.toPrettyJsonString(driverMetadata)); driverContext.setDriverMetadata(driverMetadata); break; default: @@ -120,7 +120,7 @@ public class DriverMetadataReceiver { private void configurationProfile(DriverConfiguration driverConfiguration) { Profile profile = Convert.convert(Profile.class, driverConfiguration.getContent()); if (Common.Driver.Profile.ADD.equals(driverConfiguration.getCommand()) || Common.Driver.Profile.UPDATE.equals(driverConfiguration.getCommand())) { - log.info("Upsert profile \n{}", JSON.toJSONString(profile, true)); + log.info("Upsert profile \n{}", JsonUtil.toJsonString(profile)); driverMetadataService.upsertProfile(profile); } else if (Common.Driver.Profile.DELETE.equals(driverConfiguration.getCommand())) { log.info("Delete profile {}", profile.getName()); @@ -136,7 +136,7 @@ public class DriverMetadataReceiver { private void configurationDevice(DriverConfiguration driverConfiguration) { Device device = Convert.convert(Device.class, driverConfiguration.getContent()); if (Common.Driver.Device.ADD.equals(driverConfiguration.getCommand()) || Common.Driver.Device.UPDATE.equals(driverConfiguration.getCommand())) { - log.info("Upsert device \n{}", JSON.toJSONString(device, true)); + log.info("Upsert device \n{}", JsonUtil.toJsonString(device)); driverMetadataService.upsertDevice(device); } else if (Common.Driver.Device.DELETE.equals(driverConfiguration.getCommand())) { log.info("Delete device {}", device.getName()); @@ -152,7 +152,7 @@ public class DriverMetadataReceiver { private void configurationPoint(DriverConfiguration driverConfiguration) { Point point = Convert.convert(Point.class, driverConfiguration.getContent()); if (Common.Driver.Point.ADD.equals(driverConfiguration.getCommand()) || Common.Driver.Point.UPDATE.equals(driverConfiguration.getCommand())) { - log.info("Upsert point \n{}", JSON.toJSONString(point, true)); + log.info("Upsert point \n{}", JsonUtil.toJsonString(point)); driverMetadataService.upsertPoint(point); } else if (Common.Driver.Point.DELETE.equals(driverConfiguration.getCommand())) { log.info("Delete point {}", point.getName()); @@ -168,7 +168,7 @@ public class DriverMetadataReceiver { private void configurationDriverInfo(DriverConfiguration driverConfiguration) { DriverInfo driverInfo = Convert.convert(DriverInfo.class, driverConfiguration.getContent()); if (Common.Driver.DriverInfo.ADD.equals(driverConfiguration.getCommand()) || Common.Driver.DriverInfo.UPDATE.equals(driverConfiguration.getCommand())) { - log.info("Upsert driver info \n{}", JSON.toJSONString(driverInfo, true)); + log.info("Upsert driver info \n{}", JsonUtil.toJsonString(driverInfo)); driverMetadataService.upsertDriverInfo(driverInfo); } else if (Common.Driver.DriverInfo.DELETE.equals(driverConfiguration.getCommand())) { log.info("Delete driver info {}", driverInfo); @@ -184,7 +184,7 @@ public class DriverMetadataReceiver { private void configurationPointInfo(DriverConfiguration driverConfiguration) { PointInfo pointInfo = Convert.convert(PointInfo.class, driverConfiguration.getContent()); if (Common.Driver.PointInfo.ADD.equals(driverConfiguration.getCommand()) || Common.Driver.PointInfo.UPDATE.equals(driverConfiguration.getCommand())) { - log.info("Upsert point info \n{}", JSON.toJSONString(pointInfo, true)); + log.info("Upsert point info \n{}", JsonUtil.toJsonString(pointInfo)); driverMetadataService.upsertPointInfo(pointInfo); } else if (Common.Driver.PointInfo.DELETE.equals(driverConfiguration.getCommand())) { log.info("Delete point info {}", pointInfo); diff --git a/dc3-driver/dc3-driver-edge-gateway/pom.xml b/dc3-driver/dc3-driver-edge-gateway/pom.xml index ca71f74df..2875b5536 100644 --- a/dc3-driver/dc3-driver-edge-gateway/pom.xml +++ b/dc3-driver/dc3-driver-edge-gateway/pom.xml @@ -25,10 +25,6 @@ IOT DC3 平台 边缘网关 驱动,该驱动是一个网关类型的驱动。 - - 1.46 - - @@ -47,7 +43,6 @@ org.bouncycastle bcprov-jdk16 - ${bouncycastle.version} diff --git a/dc3-driver/dc3-driver-edge-gateway/src/main/java/com/dc3/driver/mqtt/bean/MqttPayload.java b/dc3-driver/dc3-driver-edge-gateway/src/main/java/com/dc3/driver/mqtt/bean/MqttPayload.java index fce4e2dbd..2521fbba3 100644 --- a/dc3-driver/dc3-driver-edge-gateway/src/main/java/com/dc3/driver/mqtt/bean/MqttPayload.java +++ b/dc3-driver/dc3-driver-edge-gateway/src/main/java/com/dc3/driver/mqtt/bean/MqttPayload.java @@ -13,7 +13,7 @@ package com.dc3.driver.mqtt.bean; -import com.alibaba.fastjson.JSON; +import com.dc3.common.utils.JsonUtil; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -32,7 +32,7 @@ public class MqttPayload { public MqttPayload(DataType dataType, Object target) { this.dataType = dataType; - this.data = JSON.toJSONString(target); + this.data = JsonUtil.toJsonString(target); } @NoArgsConstructor diff --git a/dc3-driver/dc3-driver-edge-gateway/src/main/java/com/dc3/driver/mqtt/handler/MqttReceiveHandler.java b/dc3-driver/dc3-driver-edge-gateway/src/main/java/com/dc3/driver/mqtt/handler/MqttReceiveHandler.java index 423c4f046..7596d0fd0 100644 --- a/dc3-driver/dc3-driver-edge-gateway/src/main/java/com/dc3/driver/mqtt/handler/MqttReceiveHandler.java +++ b/dc3-driver/dc3-driver-edge-gateway/src/main/java/com/dc3/driver/mqtt/handler/MqttReceiveHandler.java @@ -13,8 +13,8 @@ package com.dc3.driver.mqtt.handler; -import com.alibaba.fastjson.JSON; import com.dc3.common.sdk.bean.mqtt.MessageHeader; +import com.dc3.common.utils.JsonUtil; import com.dc3.driver.mqtt.bean.MqttPayload; import com.dc3.driver.mqtt.service.MqttReceiveService; import lombok.extern.slf4j.Slf4j; @@ -40,7 +40,7 @@ public class MqttReceiveHandler { public MessageHandler handlerValue() { return message -> { MessageHeader messageHeader = new MessageHeader(message.getHeaders()); - MqttPayload payload = JSON.parseObject(message.getPayload().toString(), MqttPayload.class); + MqttPayload payload = JsonUtil.parseObject(message.getPayload().toString(), MqttPayload.class); }; } } diff --git a/dc3-driver/dc3-driver-listening-virtual/pom.xml b/dc3-driver/dc3-driver-listening-virtual/pom.xml index 92ebb6e3a..dfff61b15 100644 --- a/dc3-driver/dc3-driver-listening-virtual/pom.xml +++ b/dc3-driver/dc3-driver-listening-virtual/pom.xml @@ -25,17 +25,12 @@ IOT DC3 平台 ListeningVirtual驱动,监听模式,提供 Tcp 和 Udp 两种模式,仅用于测试用途。 - - 4.1.73.Final - - io.netty netty-all - ${netty.version} diff --git a/dc3-driver/dc3-driver-listening-virtual/src/main/resources/application.yml b/dc3-driver/dc3-driver-listening-virtual/src/main/resources/application.yml index dd9938cd8..b52ff6c74 100644 --- a/dc3-driver/dc3-driver-listening-virtual/src/main/resources/application.yml +++ b/dc3-driver/dc3-driver-listening-virtual/src/main/resources/application.yml @@ -67,10 +67,25 @@ server: spring: application: name: ${driver.project}_${driver.tenant} + profiles: + active: + - server + - register + - monitor + - rabbitmq + - quartz + - ${NODE_ENV:dev} + main: + allow-bean-definition-overriding: true + mvc: + throw-exception-if-no-handler-found: true + web: + resources: + add-mappings: false logging: level: - com.dc3.common.sdk: DEBUG com.dc3: DEBUG + com.dc3.common.sdk: DEBUG file: name: dc3/logs/driver/listening-virtual/${spring.application.name}.log \ No newline at end of file diff --git a/dc3-driver/dc3-driver-modbus-tcp/pom.xml b/dc3-driver/dc3-driver-modbus-tcp/pom.xml index cfa49974a..344fbbcff 100644 --- a/dc3-driver/dc3-driver-modbus-tcp/pom.xml +++ b/dc3-driver/dc3-driver-modbus-tcp/pom.xml @@ -25,17 +25,12 @@ IOT DC3 平台 Modbus TCP 驱动。 - - 3.0.4 - - com.infiniteautomation modbus4j - ${modbus.version} diff --git a/dc3-driver/dc3-driver-modbus-tcp/src/main/java/com/dc3/driver/service/impl/DriverCustomServiceImpl.java b/dc3-driver/dc3-driver-modbus-tcp/src/main/java/com/dc3/driver/service/impl/DriverCustomServiceImpl.java index abf5d51fa..480b8fb73 100644 --- a/dc3-driver/dc3-driver-modbus-tcp/src/main/java/com/dc3/driver/service/impl/DriverCustomServiceImpl.java +++ b/dc3-driver/dc3-driver-modbus-tcp/src/main/java/com/dc3/driver/service/impl/DriverCustomServiceImpl.java @@ -13,7 +13,7 @@ package com.dc3.driver.service.impl; -import com.alibaba.fastjson.JSON; +import com.dc3.common.utils.JsonUtil; import com.dc3.common.bean.driver.AttributeInfo; import com.dc3.common.constant.Common; import com.dc3.common.model.Device; @@ -103,7 +103,7 @@ public class DriverCustomServiceImpl implements DriverCustomService { * @throws ModbusInitException ModbusInitException */ public ModbusMaster getMaster(Long deviceId, Map driverInfo) throws ModbusInitException { - log.debug("Modbus Tcp Connection Info {}", JSON.toJSONString(driverInfo)); + log.debug("Modbus Tcp Connection Info {}", JsonUtil.toJsonString(driverInfo)); ModbusMaster modbusMaster = masterMap.get(deviceId); if (null == modbusMaster) { IpParameters params = new IpParameters(); diff --git a/dc3-driver/dc3-driver-mqtt/pom.xml b/dc3-driver/dc3-driver-mqtt/pom.xml index 444fcc750..039f4ecde 100644 --- a/dc3-driver/dc3-driver-mqtt/pom.xml +++ b/dc3-driver/dc3-driver-mqtt/pom.xml @@ -25,10 +25,6 @@ IOT DC3 平台 Mqtt 驱动。 - - 1.46 - - @@ -47,7 +43,6 @@ org.bouncycastle bcprov-jdk16 - ${bouncycastle.version} diff --git a/dc3-driver/dc3-driver-mqtt/src/main/java/com/dc3/driver/mqtt/bean/MqttPayload.java b/dc3-driver/dc3-driver-mqtt/src/main/java/com/dc3/driver/mqtt/bean/MqttPayload.java index fce4e2dbd..2521fbba3 100644 --- a/dc3-driver/dc3-driver-mqtt/src/main/java/com/dc3/driver/mqtt/bean/MqttPayload.java +++ b/dc3-driver/dc3-driver-mqtt/src/main/java/com/dc3/driver/mqtt/bean/MqttPayload.java @@ -13,7 +13,7 @@ package com.dc3.driver.mqtt.bean; -import com.alibaba.fastjson.JSON; +import com.dc3.common.utils.JsonUtil; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -32,7 +32,7 @@ public class MqttPayload { public MqttPayload(DataType dataType, Object target) { this.dataType = dataType; - this.data = JSON.toJSONString(target); + this.data = JsonUtil.toJsonString(target); } @NoArgsConstructor diff --git a/dc3-driver/dc3-driver-mqtt/src/main/java/com/dc3/driver/mqtt/handler/MqttReceiveHandler.java b/dc3-driver/dc3-driver-mqtt/src/main/java/com/dc3/driver/mqtt/handler/MqttReceiveHandler.java index 4e4f00e67..107d49574 100644 --- a/dc3-driver/dc3-driver-mqtt/src/main/java/com/dc3/driver/mqtt/handler/MqttReceiveHandler.java +++ b/dc3-driver/dc3-driver-mqtt/src/main/java/com/dc3/driver/mqtt/handler/MqttReceiveHandler.java @@ -13,7 +13,7 @@ package com.dc3.driver.mqtt.handler; -import com.alibaba.fastjson.JSON; +import com.dc3.common.utils.JsonUtil; import com.dc3.common.sdk.bean.mqtt.MessageHeader; import com.dc3.driver.mqtt.bean.MqttPayload; import com.dc3.driver.mqtt.service.MqttReceiveService; @@ -40,7 +40,7 @@ public class MqttReceiveHandler { public MessageHandler handlerValue() { return message -> { MessageHeader messageHeader = new MessageHeader(message.getHeaders()); - MqttPayload payload = JSON.parseObject(message.getPayload().toString(), MqttPayload.class); + MqttPayload payload = JsonUtil.parseObject(message.getPayload().toString(), MqttPayload.class); // 此处用于接收 MQTT 发送过来的数据,订阅的主题为 application.yml 中 mqtt.receive-topics 配置的 Topic 列表 // +(加号):可以(只能)匹配一个单词 diff --git a/dc3-driver/dc3-driver-opc-da/pom.xml b/dc3-driver/dc3-driver-opc-da/pom.xml index 3b89dcc1d..08e34c41d 100644 --- a/dc3-driver/dc3-driver-opc-da/pom.xml +++ b/dc3-driver/dc3-driver-opc-da/pom.xml @@ -25,16 +25,12 @@ IOT DC3 平台 Opc Da 驱动。 - - 2.0.4 - - + org.jinterop j-interop - ${j.interop.version} diff --git a/dc3-driver/dc3-driver-opc-da/src/main/java/com/dc3/driver/service/impl/DriverCustomServiceImpl.java b/dc3-driver/dc3-driver-opc-da/src/main/java/com/dc3/driver/service/impl/DriverCustomServiceImpl.java index 8621d6240..33cd62ead 100644 --- a/dc3-driver/dc3-driver-opc-da/src/main/java/com/dc3/driver/service/impl/DriverCustomServiceImpl.java +++ b/dc3-driver/dc3-driver-opc-da/src/main/java/com/dc3/driver/service/impl/DriverCustomServiceImpl.java @@ -13,7 +13,7 @@ package com.dc3.driver.service.impl; -import com.alibaba.fastjson.JSON; +import com.dc3.common.utils.JsonUtil; import com.dc3.common.bean.driver.AttributeInfo; import com.dc3.common.constant.Common; import com.dc3.common.model.Device; @@ -62,7 +62,7 @@ public class DriverCustomServiceImpl implements DriverCustomService { @Override public String read(Map driverInfo, Map pointInfo, Device device, Point point) throws Exception { - log.debug("Opc Da Read, device: {}, point: {}", JSON.toJSONString(device), JSON.toJSONString(point)); + log.debug("Opc Da Read, device: {}, point: {}", JsonUtil.toJsonString(device), JsonUtil.toJsonString(point)); Server server = getServer(device.getId(), driverInfo); try { Item item = getItem(server, pointInfo); @@ -74,7 +74,7 @@ public class DriverCustomServiceImpl implements DriverCustomService { @Override public Boolean write(Map driverInfo, Map pointInfo, Device device, AttributeInfo value) throws Exception { - log.debug("Opc Da Write, device: {}, value: {}", JSON.toJSONString(device), JSON.toJSONString(value)); + log.debug("Opc Da Write, device: {}, value: {}", JsonUtil.toJsonString(device), JsonUtil.toJsonString(value)); Server server = getServer(device.getId(), driverInfo); try { Item item = getItem(server, pointInfo); @@ -115,7 +115,7 @@ public class DriverCustomServiceImpl implements DriverCustomService { Server server = serverMap.get(deviceId); if (null == server) { ConnectionInformation connectionInformation = new ConnectionInformation(attribute(driverInfo, "host"), attribute(driverInfo, "clsId"), attribute(driverInfo, "username"), attribute(driverInfo, "password")); - log.debug("Opc Da Server Connection Info {}", JSON.toJSONString(connectionInformation)); + log.debug("Opc Da Server Connection Info {}", JsonUtil.toJsonString(connectionInformation)); server = new Server(connectionInformation, Executors.newSingleThreadScheduledExecutor()); } try { diff --git a/dc3-driver/dc3-driver-opc-ua/pom.xml b/dc3-driver/dc3-driver-opc-ua/pom.xml index f44afb0bb..5d35b38fc 100644 --- a/dc3-driver/dc3-driver-opc-ua/pom.xml +++ b/dc3-driver/dc3-driver-opc-ua/pom.xml @@ -25,16 +25,12 @@ IOT DC3 平台 Opc Ua 驱动。 - - 0.6.3 - - + org.eclipse.milo sdk-client - ${milo.version} diff --git a/dc3-driver/dc3-driver-plcs7/src/main/java/com/dc3/driver/service/impl/DriverCustomServiceImpl.java b/dc3-driver/dc3-driver-plcs7/src/main/java/com/dc3/driver/service/impl/DriverCustomServiceImpl.java index e8e5b9d5e..12ba50cd9 100644 --- a/dc3-driver/dc3-driver-plcs7/src/main/java/com/dc3/driver/service/impl/DriverCustomServiceImpl.java +++ b/dc3-driver/dc3-driver-plcs7/src/main/java/com/dc3/driver/service/impl/DriverCustomServiceImpl.java @@ -13,7 +13,7 @@ package com.dc3.driver.service.impl; -import com.alibaba.fastjson.JSON; +import com.dc3.common.utils.JsonUtil; import com.dc3.common.bean.driver.AttributeInfo; import com.dc3.common.constant.Common; import com.dc3.common.exception.ServiceException; @@ -69,7 +69,7 @@ public class DriverCustomServiceImpl implements DriverCustomService { @Override public String read(Map driverInfo, Map pointInfo, Device device, Point point) throws Exception { - log.debug("Plc S7 Read, device: {}, point: {}", JSON.toJSONString(device), JSON.toJSONString(point)); + log.debug("Plc S7 Read, device: {}, point: {}", JsonUtil.toJsonString(device), JsonUtil.toJsonString(point)); MyS7Connector myS7Connector = getS7Connector(device.getId(), driverInfo); myS7Connector.lock.writeLock().lock(); S7Serializer serializer = S7SerializerFactory.buildSerializer(myS7Connector.getConnector()); @@ -87,7 +87,7 @@ public class DriverCustomServiceImpl implements DriverCustomService { @Override public Boolean write(Map driverInfo, Map pointInfo, Device device, AttributeInfo value) throws Exception { - log.debug("Plc S7 Write, device: {}, value: {}", JSON.toJSONString(device), JSON.toJSONString(value)); + log.debug("Plc S7 Write, device: {}, value: {}", JsonUtil.toJsonString(device), JsonUtil.toJsonString(value)); MyS7Connector myS7Connector = getS7Connector(device.getId(), driverInfo); myS7Connector.lock.writeLock().lock(); S7Serializer serializer = S7SerializerFactory.buildSerializer(myS7Connector.getConnector()); @@ -134,7 +134,7 @@ public class DriverCustomServiceImpl implements DriverCustomService { if (null == myS7Connector) { myS7Connector = new MyS7Connector(); - log.debug("Plc S7 Connection Info {}", JSON.toJSONString(driverInfo)); + log.debug("Plc S7 Connection Info {}", JsonUtil.toJsonString(driverInfo)); try { S7Connector s7Connector = S7ConnectorFactory.buildTCPConnector() .withHost(attribute(driverInfo, "host")) @@ -157,7 +157,7 @@ public class DriverCustomServiceImpl implements DriverCustomService { * @return Plcs7PointVariable */ private PlcS7PointVariable getPointVariable(Map pointInfo, String type) { - log.debug("Plc S7 Point Info {}", JSON.toJSONString(pointInfo)); + log.debug("Plc S7 Point Info {}", JsonUtil.toJsonString(pointInfo)); return new PlcS7PointVariable(attribute(pointInfo, "dbNum"), attribute(pointInfo, "byteOffset"), attribute(pointInfo, "bitOffset"), attribute(pointInfo, "blockSize"), type); } diff --git a/dc3-gateway/src/main/java/com/dc3/gateway/filter/factory/AuthenticGatewayFilterFactory.java b/dc3-gateway/src/main/java/com/dc3/gateway/filter/factory/AuthenticGatewayFilterFactory.java index 52de7a815..2633fe6cb 100644 --- a/dc3-gateway/src/main/java/com/dc3/gateway/filter/factory/AuthenticGatewayFilterFactory.java +++ b/dc3-gateway/src/main/java/com/dc3/gateway/filter/factory/AuthenticGatewayFilterFactory.java @@ -13,7 +13,6 @@ package com.dc3.gateway.filter.factory; -import com.alibaba.fastjson.JSON; import com.dc3.api.center.auth.feign.TenantClient; import com.dc3.api.center.auth.feign.TokenClient; import com.dc3.common.bean.Login; @@ -22,6 +21,7 @@ import com.dc3.common.constant.Common; import com.dc3.common.exception.ServiceException; import com.dc3.common.model.Tenant; import com.dc3.common.utils.Dc3Util; +import com.dc3.common.utils.JsonUtil; import com.dc3.gateway.utils.GatewayUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.cloud.gateway.filter.GatewayFilter; @@ -74,7 +74,7 @@ public class AuthenticGatewayFilterFactory extends AbstractGatewayFilterFactory< try { String cookieToken = GatewayUtil.getRequestCookie(request, Common.Service.DC3_AUTH_TOKEN); - Login login = JSON.parseObject(Dc3Util.decode(cookieToken), Login.class); + Login login = JsonUtil.parseObject(Dc3Util.decode(cookieToken), Login.class); log.debug("Request cookies: {}", login); R tenantR = gatewayFilter.tenantClient.selectByName(login.getTenant()); @@ -103,7 +103,7 @@ public class AuthenticGatewayFilterFactory extends AbstractGatewayFilterFactory< response.setStatusCode(HttpStatus.FORBIDDEN); log.error(e.getMessage(), e); - DataBuffer dataBuffer = response.bufferFactory().wrap(JSON.toJSONBytes(R.fail(e.getMessage()))); + DataBuffer dataBuffer = response.bufferFactory().wrap(JsonUtil.toJsonBytes(R.fail(e.getMessage()))); return response.writeWith(Mono.just(dataBuffer)); } diff --git a/pom.xml b/pom.xml index 74656302e..d66282095 100644 --- a/pom.xml +++ b/pom.xml @@ -62,11 +62,24 @@ 2.6.6 2021.0.1 - 2.6.3 + 2.6.6 Cairo-SR8 - 2.7 + 0.9.1 + 5.11.0 + 6.1.6 + 3.0.2 + 0.6.5 + 3.0.4 31.1-jre + 5.7.22 + 2.3.1 + 4.1.76.Final + 2.0.4 + 1.1.1 + 1.46 + + 2.7 3.0.5 3.2.0 3.5.1 @@ -74,6 +87,7 @@ 1.8 3.8.0 3.1.0 + 3.2.1 3.1.0 2.2.2.RELEASE @@ -108,13 +122,6 @@ true - - - com.google.guava - guava - ${guava.version} - - @@ -166,6 +173,101 @@ ${mybatis.plus.version} + + + io.jsonwebtoken + jjwt + ${jwt.version} + + + + + com.github.oshi + oshi-core + ${oshi.version} + + + net.java.dev.jna + jna + ${jna.version} + + + net.java.dev.jna + jna-platform + ${jna.version} + + + + + javax.xml.bind + jaxb-api + ${jaxb.api.version} + + + com.sun.xml.bind + jaxb-impl + ${jaxb.version} + + + com.sun.xml.bind + jaxb-core + ${jaxb.version} + + + javax.activation + activation + ${activation.version} + + + + + org.eclipse.milo + sdk-client + ${milo.version} + + + + + com.infiniteautomation + modbus4j + ${modbus.version} + + + + + com.google.guava + guava + ${guava.version} + + + + + cn.hutool + hutool-all + ${hutool.version} + + + + + io.netty + netty-all + ${netty.version} + + + + + org.jinterop + j-interop + ${j.interop.version} + + + + + org.bouncycastle + bcprov-jdk16 + ${bouncycastle.version} + + com.dc3 @@ -316,6 +418,10 @@ true + + org.apache.maven.plugins + maven-source-plugin + org.apache.maven.plugins maven-resources-plugin @@ -338,6 +444,19 @@ ${project.build.sourceEncoding} + + org.apache.maven.plugins + maven-source-plugin + ${maven.source.plugin} + + + sources + + jar + + + + org.apache.maven.plugins maven-jar-plugin @@ -366,27 +485,6 @@ - - com.spotify - dockerfile-maven-plugin - 1.4.13 - - - default - - build - push - - - - - ${docker.image.prefix}/pnoker/${project.artifactId} - ${project.version} - - ${project.build.finalName}.jar - - - org.apache.maven.plugins