Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions sources/core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@
<parent>
<artifactId>tools.dynamia.modules.entityfiles.parent</artifactId>
<groupId>tools.dynamia.modules</groupId>
<version>7.2.3</version>
<version>7.3.0</version>
</parent>
<name>Dynamia Modules - EntityFiles - Core</name>
<artifactId>tools.dynamia.modules.entityfiles</artifactId>
<version>7.2.3</version>
<version>7.3.0</version>
<url>https://www.dynamia.tools/modules/entityfiles</url>

<build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,14 @@

package tools.dynamia.modules.entityfile.service.impl;

import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
import jakarta.persistence.criteria.CriteriaBuilder;
import jakarta.persistence.criteria.CriteriaQuery;
import jakarta.persistence.criteria.Root;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import tools.dynamia.commons.BeanUtils;
Expand All @@ -42,9 +46,6 @@
import tools.dynamia.modules.entityfile.local.LocalEntityFileStorage;
import tools.dynamia.modules.entityfile.service.EntityFileService;

import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;

import java.io.File;
import java.io.Serializable;
import java.net.URL;
Expand All @@ -57,6 +58,7 @@
* @author Mario Serrano Leones
*/
@Service
@CacheConfig(cacheNames = "entity-files")
public class EntityFileServiceImpl implements EntityFileService {

@Autowired
Expand Down Expand Up @@ -295,6 +297,7 @@ public void download(EntityFile entityFile, File outputFile) {
}

@Override
@Cacheable
public EntityFile getEntityFile(String uuid) {
try {
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
Expand Down
8 changes: 4 additions & 4 deletions sources/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<groupId>tools.dynamia.modules</groupId>
<artifactId>tools.dynamia.modules.entityfiles.parent</artifactId>
<packaging>pom</packaging>
<version>7.2.3</version>
<version>7.3.0</version>
<name>Dynamia Modules - EntityFiles</name>
<url>https://dynamia.tools/modules/entityfiles</url>
<description>DynamiaTools extension to attach files to entities</description>
Expand Down Expand Up @@ -63,9 +63,9 @@

<properties>
<file.encoding>UTF-8</file.encoding>
<dynamiatools.version>5.3.2</dynamiatools.version>
<springboot.version>3.4.1</springboot.version>
<aws.version>2.30.6</aws.version>
<dynamiatools.version>5.3.6</dynamiatools.version>
<springboot.version>3.4.4</springboot.version>
<aws.version>2.31.18</aws.version>
<java.version>17</java.version>
<maven.compiler>3.13.0</maven.compiler>
<source.encoding>UTF-8</source.encoding>
Expand Down
4 changes: 2 additions & 2 deletions sources/s3/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@
<parent>
<groupId>tools.dynamia.modules</groupId>
<artifactId>tools.dynamia.modules.entityfiles.parent</artifactId>
<version>7.2.3</version>
<version>7.3.0</version>
</parent>

<name>Dynamia Modules - EntityFiles - S3</name>
<artifactId>tools.dynamia.modules.entityfiles.s3</artifactId>
<version>7.2.3</version>
<version>7.3.0</version>
<url>https://www.dynamia.tools/modules/entityfiles</url>

<build>
Expand Down
4 changes: 2 additions & 2 deletions sources/ui/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@
<parent>
<artifactId>tools.dynamia.modules.entityfiles.parent</artifactId>
<groupId>tools.dynamia.modules</groupId>
<version>7.2.3</version>
<version>7.3.0</version>
</parent>
<name>Dynamia Modules - EntityFiles UI</name>
<artifactId>tools.dynamia.modules.entityfiles.ui</artifactId>
<version>7.2.3</version>
<version>7.3.0</version>
<url>https://www.dynamia.tools/modules/entityfiles</url>

<build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,18 @@
import org.zkoss.zul.Image;

import tools.dynamia.commons.SimpleCache;
import tools.dynamia.integration.Containers;
import tools.dynamia.io.IOUtils;
import tools.dynamia.io.Resource;
import tools.dynamia.modules.entityfile.StoredEntityFile;
import tools.dynamia.modules.entityfile.domain.EntityFile;
import tools.dynamia.modules.entityfile.service.EntityFileService;
import tools.dynamia.zk.BindingComponentIndex;
import tools.dynamia.zk.ComponentAliasIndex;
import tools.dynamia.zk.ImageCache;

import java.io.Serial;
import java.util.Objects;

public class EntityFileImage extends Image {

Expand All @@ -54,6 +57,7 @@ public class EntityFileImage extends Image {
private int thumbnailHeight = 64;
private int thumbnailWidth = 64;
private String noPhotoPath = "/static/dynamia-tools/images/no-photo.jpg";
private String entityFileUuid;

public EntityFile getValue() {
return entityFile;
Expand All @@ -64,6 +68,10 @@ public void setValue(EntityFile entityFile) {
loadImage();
}

public void setValue(String uuid) {
setEntityFileUuid(uuid);
}

private void loadImage() {
if (entityFile != null) {
Long key = entityFile.getId();
Expand Down Expand Up @@ -178,4 +186,25 @@ public static void clearCache(EntityFile file) {
URL_THUMB_CACHE.remove(file.getId());
}
}

public String getEntityFileUuid() {
return entityFileUuid;
}

public void setEntityFileUuid(String entityFileUuid) {
var old = this.entityFileUuid;
if (!Objects.equals(old, entityFileUuid)) {
this.entityFileUuid = entityFileUuid;
loadEntityFileByUuid();
}
}

private void loadEntityFileByUuid() {
if (entityFileUuid != null && !entityFileUuid.isBlank()) {
var service = Containers.get().findObject(EntityFileService.class);
if (service != null) {
setValue(service.getEntityFile(entityFileUuid));
}
}
}
}