Loading FaceData/pom.xml +5 −0 Original line number Diff line number Diff line Loading @@ -130,6 +130,11 @@ <artifactId>spring-boot-starter-data-jpa</artifactId> <version>3.4.4</version> </dependency> <dependency> <groupId>at.yawk.lz4</groupId> <artifactId>lz4-java</artifactId> <version>1.8.1</version> </dependency> </dependencies> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> Loading FaceData/src/main/java/cz/fidentis/analyst/data/face/FaceEntity.java +11 −1 Original line number Diff line number Diff line package cz.fidentis.analyst.data.face; import jakarta.persistence.*; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Lob; import jakarta.persistence.SequenceGenerator; import jakarta.persistence.Table; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; Loading Loading @@ -39,4 +46,7 @@ public class FaceEntity extends BaseEntity { @Lob @Column(name = "photo_preview") private byte[] photoPreview; @Column(name = "face_dump_size") private Long faceDumpSize; } FaceData/src/main/java/cz/fidentis/analyst/data/face/FaceEntityRepository.java +1 −0 Original line number Diff line number Diff line Loading @@ -7,4 +7,5 @@ import org.springframework.data.jpa.repository.JpaRepository; */ public interface FaceEntityRepository extends JpaRepository<FaceEntity, Long> { void deleteByTaskId(Long taskId); } FaceData/src/main/java/cz/fidentis/analyst/data/face/FaceReference.java +6 −0 Original line number Diff line number Diff line Loading @@ -33,4 +33,10 @@ public interface FaceReference extends Serializable { */ boolean isAverageFace(); /** * Returns byte size of face dump * @return byte size of face dump */ long getFaceDumpSize(); } FaceData/src/main/java/cz/fidentis/analyst/data/face/FaceService.java +21 −0 Original line number Diff line number Diff line package cz.fidentis.analyst.data.face; import cz.fidentis.analyst.data.face.impl.HumanFaceSerializer; import cz.fidentis.analyst.data.mesh.MeshModel; import java.io.File; Loading @@ -22,6 +23,16 @@ public interface FaceService { */ StoredHumanFace getFaceByReference(FaceReference reference); /** * Returns face based on given reference. The deserialization is carried out by the provided kryo instance. * This is necessary for multi-threaded execution (Kryo is not thread-safe). * * @param reference face reference * @param serializer Human face serializer * @return face based on given reference */ StoredHumanFace getFaceByReference(FaceReference reference, HumanFaceSerializer serializer); /** * Returns face based on given id * Loading Loading @@ -97,6 +108,16 @@ public interface FaceService { */ FaceReference loadFace(Long projectId, File file) throws IOException; /** * Loads face from file. * * @param file File * @param serializer serializer instance * @return face reference * @throws IOException on failure */ FaceReference loadFace(Long projectId, File file, HumanFaceSerializer serializer) throws IOException; /** * @param projectId * @return all faces from project Loading Loading
FaceData/pom.xml +5 −0 Original line number Diff line number Diff line Loading @@ -130,6 +130,11 @@ <artifactId>spring-boot-starter-data-jpa</artifactId> <version>3.4.4</version> </dependency> <dependency> <groupId>at.yawk.lz4</groupId> <artifactId>lz4-java</artifactId> <version>1.8.1</version> </dependency> </dependencies> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> Loading
FaceData/src/main/java/cz/fidentis/analyst/data/face/FaceEntity.java +11 −1 Original line number Diff line number Diff line package cz.fidentis.analyst.data.face; import jakarta.persistence.*; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Lob; import jakarta.persistence.SequenceGenerator; import jakarta.persistence.Table; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; Loading Loading @@ -39,4 +46,7 @@ public class FaceEntity extends BaseEntity { @Lob @Column(name = "photo_preview") private byte[] photoPreview; @Column(name = "face_dump_size") private Long faceDumpSize; }
FaceData/src/main/java/cz/fidentis/analyst/data/face/FaceEntityRepository.java +1 −0 Original line number Diff line number Diff line Loading @@ -7,4 +7,5 @@ import org.springframework.data.jpa.repository.JpaRepository; */ public interface FaceEntityRepository extends JpaRepository<FaceEntity, Long> { void deleteByTaskId(Long taskId); }
FaceData/src/main/java/cz/fidentis/analyst/data/face/FaceReference.java +6 −0 Original line number Diff line number Diff line Loading @@ -33,4 +33,10 @@ public interface FaceReference extends Serializable { */ boolean isAverageFace(); /** * Returns byte size of face dump * @return byte size of face dump */ long getFaceDumpSize(); }
FaceData/src/main/java/cz/fidentis/analyst/data/face/FaceService.java +21 −0 Original line number Diff line number Diff line package cz.fidentis.analyst.data.face; import cz.fidentis.analyst.data.face.impl.HumanFaceSerializer; import cz.fidentis.analyst.data.mesh.MeshModel; import java.io.File; Loading @@ -22,6 +23,16 @@ public interface FaceService { */ StoredHumanFace getFaceByReference(FaceReference reference); /** * Returns face based on given reference. The deserialization is carried out by the provided kryo instance. * This is necessary for multi-threaded execution (Kryo is not thread-safe). * * @param reference face reference * @param serializer Human face serializer * @return face based on given reference */ StoredHumanFace getFaceByReference(FaceReference reference, HumanFaceSerializer serializer); /** * Returns face based on given id * Loading Loading @@ -97,6 +108,16 @@ public interface FaceService { */ FaceReference loadFace(Long projectId, File file) throws IOException; /** * Loads face from file. * * @param file File * @param serializer serializer instance * @return face reference * @throws IOException on failure */ FaceReference loadFace(Long projectId, File file, HumanFaceSerializer serializer) throws IOException; /** * @param projectId * @return all faces from project Loading