diff --git a/application/src/main/java/org/thingsboard/server/service/transport/DefaultTransportApiService.java b/application/src/main/java/org/thingsboard/server/service/transport/DefaultTransportApiService.java index e8da713c7d..b3b617d380 100644 --- a/application/src/main/java/org/thingsboard/server/service/transport/DefaultTransportApiService.java +++ b/application/src/main/java/org/thingsboard/server/service/transport/DefaultTransportApiService.java @@ -1,12 +1,12 @@ /** * Copyright © 2016-2022 The Thingsboard Authors - * + *
* 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 - * + *
+ * 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.
@@ -101,7 +101,6 @@ import org.thingsboard.server.service.executors.DbCallbackExecutorService;
import org.thingsboard.server.service.profile.TbDeviceProfileCache;
import org.thingsboard.server.service.resource.TbResourceService;
-import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Optional;
@@ -600,17 +599,16 @@ public class DefaultTransportApiService implements TransportApiService {
builder.setType(otaPackageInfo.getType().name());
builder.setTitle(otaPackageInfo.getTitle());
builder.setVersion(otaPackageInfo.getVersion());
- File file = otaPackageService.getOtaDataFile(otaPackageInfo.getTenantId(), otaPackageId);
- builder.setFileName(file.getAbsolutePath());
+ builder.setFileName(otaPackageInfo.getFileName());
builder.setContentType(otaPackageInfo.getContentType());
-// if (!otaPackageDataCache.has(otaPackageId.toString())) {
-// OtaPackage otaPackage = otaPackageService.findOtaPackageById(tenantId, otaPackageId);
-// try {
-// otaPackageDataCache.put(otaPackageId.toString(), otaPackage.getData().readAllBytes());
-// } catch (IOException e) {
-// log.error("Failed to cache ota package with id {}",otaPackage.getId(), e);
-// }
-// }
+ if (!otaPackageDataCache.has(otaPackageId.toString())) {
+ OtaPackage otaPackage = otaPackageService.findOtaPackageById(tenantId, otaPackageId);
+ try {
+ otaPackageDataCache.put(otaPackageId.toString(), otaPackage.getData().readAllBytes());
+ } catch (IOException e) {
+ log.error("Failed to cache ota package with id {}",otaPackage.getId(), e);
+ }
+ }
}
}
diff --git a/common/dao-api/src/main/java/org/thingsboard/server/dao/ota/OtaPackageService.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/ota/OtaPackageService.java
index 304adba019..a2e1681600 100644
--- a/common/dao-api/src/main/java/org/thingsboard/server/dao/ota/OtaPackageService.java
+++ b/common/dao-api/src/main/java/org/thingsboard/server/dao/ota/OtaPackageService.java
@@ -16,7 +16,6 @@
package org.thingsboard.server.dao.ota;
import com.google.common.util.concurrent.ListenableFuture;
-import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.thingsboard.server.common.data.OtaPackage;
import org.thingsboard.server.common.data.OtaPackageInfo;
import org.thingsboard.server.common.data.id.DeviceProfileId;
@@ -27,7 +26,6 @@ import org.thingsboard.server.common.data.page.PageData;
import org.thingsboard.server.common.data.page.PageLink;
import java.io.File;
-import java.io.InputStream;
public interface OtaPackageService {
diff --git a/common/transport/http/src/main/java/org/thingsboard/server/transport/http/DeviceApiController.java b/common/transport/http/src/main/java/org/thingsboard/server/transport/http/DeviceApiController.java
index ca991ff7de..df44a5c61f 100644
--- a/common/transport/http/src/main/java/org/thingsboard/server/transport/http/DeviceApiController.java
+++ b/common/transport/http/src/main/java/org/thingsboard/server/transport/http/DeviceApiController.java
@@ -20,13 +20,10 @@ import com.google.gson.JsonParser;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.RequiredArgsConstructor;
-import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.core.io.ByteArrayResource;
-import org.springframework.core.io.FileSystemResource;
-import org.springframework.core.io.Resource;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
@@ -68,8 +65,6 @@ import org.thingsboard.server.gen.transport.TransportProtos.ToServerRpcResponseM
import org.thingsboard.server.gen.transport.TransportProtos.ValidateDeviceTokenRequestMsg;
import javax.servlet.http.HttpServletRequest;
-import java.io.File;
-import java.io.FileInputStream;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
@@ -510,25 +505,15 @@ public class DeviceApiController implements TbTransportService {
}
@Override
- @SneakyThrows
public void onSuccess(TransportProtos.GetOtaPackageResponseMsg otaPackageResponseMsg) {
if (!TransportProtos.ResponseStatus.SUCCESS.equals(otaPackageResponseMsg.getResponseStatus())) {
responseWriter.setResult(new ResponseEntity<>(HttpStatus.NOT_FOUND));
} else if (title.equals(otaPackageResponseMsg.getTitle()) && version.equals(otaPackageResponseMsg.getVersion())) {
-// String otaPackageId = new UUID(otaPackageResponseMsg.getOtaPackageIdMSB(), otaPackageResponseMsg.getOtaPackageIdLSB()).toString();
- File file = new File(otaPackageResponseMsg.getFileName());
- Resource resource = null;
- if(chuckSize!=0){
- FileInputStream fileInputStream = new FileInputStream(file);
- byte[] bytes = new byte[chuckSize];
- fileInputStream.read(bytes, chuck, chuckSize);
- resource = new ByteArrayResource(bytes);
- } else {
- resource= new FileSystemResource(file);
- }
- ResponseEntity
* 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
- *
+ *
+ * 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.
@@ -38,9 +38,9 @@ import org.thingsboard.server.dao.service.DataValidator;
import org.thingsboard.server.dao.service.PaginatedRemover;
import javax.transaction.Transactional;
-import java.io.*;
-import java.util.Collections;
-import java.util.List;
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.InputStream;
import java.util.Optional;
import static org.thingsboard.server.dao.service.Validator.validateId;
@@ -70,7 +70,7 @@ public class BaseOtaPackageService extends AbstractCachedEntityService