Fix public resource key generation for images
This commit is contained in:
parent
320cedd621
commit
aa38edb9ba
@ -130,13 +130,14 @@ public class ImageControllerTest extends AbstractControllerTest {
|
||||
checkPngImageDescriptor(imageInfo.getDescriptor(ImageDescriptor.class));
|
||||
|
||||
String newFilename = "my_jpeg_image.png";
|
||||
imageInfo = uploadImage(HttpMethod.PUT, "/api/images/tenant/" + filename, newFilename, "image/jpeg", JPEG_IMAGE);
|
||||
TbResourceInfo newImageInfo = uploadImage(HttpMethod.PUT, "/api/images/tenant/" + filename, newFilename, "image/jpeg", JPEG_IMAGE);
|
||||
|
||||
assertThat(imageInfo.getTitle()).isEqualTo(filename);
|
||||
assertThat(imageInfo.getResourceKey()).isEqualTo(filename);
|
||||
assertThat(imageInfo.getFileName()).isEqualTo(newFilename);
|
||||
assertThat(newImageInfo.getTitle()).isEqualTo(filename);
|
||||
assertThat(newImageInfo.getResourceKey()).isEqualTo(filename);
|
||||
assertThat(newImageInfo.getFileName()).isEqualTo(newFilename);
|
||||
assertThat(newImageInfo.getPublicResourceKey()).isEqualTo(imageInfo.getPublicResourceKey());
|
||||
|
||||
ImageDescriptor imageDescriptor = imageInfo.getDescriptor(ImageDescriptor.class);
|
||||
ImageDescriptor imageDescriptor = newImageInfo.getDescriptor(ImageDescriptor.class);
|
||||
checkJpegImageDescriptor(imageDescriptor);
|
||||
|
||||
assertThat(downloadImage("tenant", filename)).containsExactly(JPEG_IMAGE);
|
||||
@ -154,12 +155,15 @@ public class ImageControllerTest extends AbstractControllerTest {
|
||||
assertThat(imageInfo.getFileName()).isEqualTo(filename);
|
||||
|
||||
String newTitle = "My PNG image";
|
||||
imageInfo.setTitle(newTitle);
|
||||
imageInfo.setDescriptor(JacksonUtil.newObjectNode());
|
||||
imageInfo = doPut("/api/images/tenant/" + filename + "/info", imageInfo, TbResourceInfo.class);
|
||||
TbResourceInfo newImageInfo = new TbResourceInfo(imageInfo);
|
||||
newImageInfo.setTitle(newTitle);
|
||||
newImageInfo.setDescriptor(JacksonUtil.newObjectNode());
|
||||
newImageInfo = doPut("/api/images/tenant/" + filename + "/info", newImageInfo, TbResourceInfo.class);
|
||||
|
||||
assertThat(imageInfo.getTitle()).isEqualTo(newTitle);
|
||||
assertThat(imageInfo.getDescriptor(ImageDescriptor.class)).isEqualTo(imageDescriptor);
|
||||
assertThat(newImageInfo.getTitle()).isEqualTo(newTitle);
|
||||
assertThat(newImageInfo.getDescriptor(ImageDescriptor.class)).isEqualTo(imageDescriptor);
|
||||
assertThat(newImageInfo.getResourceKey()).isEqualTo(imageInfo.getResourceKey());
|
||||
assertThat(newImageInfo.getPublicResourceKey()).isEqualTo(newImageInfo.getPublicResourceKey());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@ -38,8 +38,6 @@
|
||||
<!-- Device actor message processor debug for the test scope -->
|
||||
<!-- <logger name="org.thingsboard.server.actors.device.DeviceActorMessageProcessor" level="DEBUG" />-->
|
||||
|
||||
<logger name="org.thingsboard.server.service.subscription" level="TRACE"/>
|
||||
|
||||
<root level="WARN">
|
||||
<appender-ref ref="console"/>
|
||||
</root>
|
||||
|
||||
@ -150,12 +150,9 @@ public class BaseImageService extends BaseResourceService implements ImageServic
|
||||
image.setDescriptorValue(descriptor);
|
||||
image.setPreview(result.getRight());
|
||||
|
||||
if (StringUtils.isEmpty(image.getPublicResourceKey())) {
|
||||
if (StringUtils.isEmpty(image.getPublicResourceKey()) || (image.getId() == null &&
|
||||
resourceInfoDao.existsByPublicResourceKey(ResourceType.IMAGE, image.getPublicResourceKey()))) {
|
||||
image.setPublicResourceKey(generatePublicResourceKey());
|
||||
} else {
|
||||
if (resourceInfoDao.existsByPublicResourceKey(ResourceType.IMAGE, image.getPublicResourceKey())) {
|
||||
image.setPublicResourceKey(generatePublicResourceKey());
|
||||
}
|
||||
}
|
||||
log.debug("[{}] Creating image {} ('{}')", image.getTenantId(), image.getResourceKey(), image.getName());
|
||||
return new TbResourceInfo(doSaveResource(image));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user