From d604ca1601b8354d7bca9e29ba0391df824b77bc Mon Sep 17 00:00:00 2001 From: Andreas Dinauer Date: Sun, 19 Apr 2026 17:43:36 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7=20Add=20fix=20for=20not=20found=20?= =?UTF-8?q?hashes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/dev/dinauer/maven/jpa/maven/Jar.java | 11 ++++++----- src/main/java/dev/dinauer/maven/jpa/maven/Pom.java | 11 ++++++----- .../java/dev/dinauer/maven/jpa/maven/Version.java | 4 ++-- .../java/dev/dinauer/maven/maven/core/JarService.java | 10 +++++----- .../maven/maven/core/MavenContextProvider.java | 2 +- .../java/dev/dinauer/maven/maven/core/PomService.java | 2 +- src/main/resources/db/migration/V1.0.0__init.sql | 4 ++-- 7 files changed, 23 insertions(+), 21 deletions(-) diff --git a/src/main/java/dev/dinauer/maven/jpa/maven/Jar.java b/src/main/java/dev/dinauer/maven/jpa/maven/Jar.java index 71d9f8d..c3f0119 100644 --- a/src/main/java/dev/dinauer/maven/jpa/maven/Jar.java +++ b/src/main/java/dev/dinauer/maven/jpa/maven/Jar.java @@ -23,7 +23,8 @@ public class Jar private String url; - private String filename; + @Column(name = "file_base") + private String fileBase; @ManyToOne @JoinColumn(name = "version_id") @@ -96,14 +97,14 @@ public class Jar return this; } - public String getFilename() + public String getFileBase() { - return filename; + return fileBase; } - public Jar setFilename(String filename) + public Jar setFileBase(String filename) { - this.filename = filename; + this.fileBase = filename; return this; } } diff --git a/src/main/java/dev/dinauer/maven/jpa/maven/Pom.java b/src/main/java/dev/dinauer/maven/jpa/maven/Pom.java index 2bd299b..48505cd 100644 --- a/src/main/java/dev/dinauer/maven/jpa/maven/Pom.java +++ b/src/main/java/dev/dinauer/maven/jpa/maven/Pom.java @@ -23,7 +23,8 @@ public class Pom private String url; - private String filename; + @Column(name = "file_base") + private String fileBase; @OneToOne @JoinColumn(name = "version_id") @@ -96,14 +97,14 @@ public class Pom return this; } - public String getFilename() + public String getFileBase() { - return filename; + return fileBase; } - public Pom setFilename(String filename) + public Pom setFileBase(String fileBase) { - this.filename = filename; + this.fileBase = fileBase; return this; } } diff --git a/src/main/java/dev/dinauer/maven/jpa/maven/Version.java b/src/main/java/dev/dinauer/maven/jpa/maven/Version.java index 0ad96a2..0216a07 100644 --- a/src/main/java/dev/dinauer/maven/jpa/maven/Version.java +++ b/src/main/java/dev/dinauer/maven/jpa/maven/Version.java @@ -177,11 +177,11 @@ public class Version pullCount = pullCount + 1; } - public Optional getJarByFilename(String filename) + public Optional getJarByFileBase(String fileBase) { for (Jar jar : jars) { - if (jar.getFilename().equals(filename)) + if (jar.getFileBase().equals(fileBase)) { return Optional.of(jar); } diff --git a/src/main/java/dev/dinauer/maven/maven/core/JarService.java b/src/main/java/dev/dinauer/maven/maven/core/JarService.java index 9467ac1..a91a318 100644 --- a/src/main/java/dev/dinauer/maven/maven/core/JarService.java +++ b/src/main/java/dev/dinauer/maven/maven/core/JarService.java @@ -23,9 +23,9 @@ public class JarService String md5 = DigestUtils.md5Hex(body); String sha1 = DigestUtils.sha1Hex(body); Version version = versionService.findOrCreate(mavenContext.groupId(), mavenContext.artifactId(), mavenContext.version().getRaw()); - if (!existsJar(version.getJars(), mavenContext.file().getRaw())) + if (!existsJar(version.getJars(), mavenContext.file().getBase())) { - version.getJars().add(new Jar().setJar(body).setMd5(md5).setSha1(sha1).setVersion(version).setUrl(mavenContext.path()).setFilename(mavenContext.file().getRaw())); + version.getJars().add(new Jar().setJar(body).setMd5(md5).setSha1(sha1).setVersion(version).setUrl(mavenContext.path()).setFileBase(mavenContext.file().getBase())); versionService.persist(version); return Response.status(Response.Status.CREATED).build(); } @@ -55,14 +55,14 @@ public class JarService private Jar findJar(MavenContext context) { - return versionService.findOptional(context.groupId(), context.artifactId(), context.version().getRaw()).orElseThrow().getJarByFilename(context.file().getRaw()).orElseThrow(); + return versionService.findOptional(context.groupId(), context.artifactId(), context.version().getRaw()).orElseThrow().getJarByFileBase(context.file().getBase()).orElseThrow(); } - private boolean existsJar(List jars, String filename) + private boolean existsJar(List jars, String fileBase) { for (Jar jar : jars) { - if (filename.equals(jar.getFilename())) + if (fileBase.equals(jar.getFileBase())) { return true; } diff --git a/src/main/java/dev/dinauer/maven/maven/core/MavenContextProvider.java b/src/main/java/dev/dinauer/maven/maven/core/MavenContextProvider.java index ffa2016..d5e2b10 100644 --- a/src/main/java/dev/dinauer/maven/maven/core/MavenContextProvider.java +++ b/src/main/java/dev/dinauer/maven/maven/core/MavenContextProvider.java @@ -24,7 +24,7 @@ public class MavenContextProvider case XML -> { MavenMetadataUrlParser parser = MavenMetadataUrlParser.parse(path); - return new MavenContext(path, parser.groupId(), parser.artifactId(), null, new File().setType(result.ext()).setHash(result.hashExt())); + return new MavenContext(path, parser.groupId(), parser.artifactId(), null, new File().setBase("maven-metadata").setType(result.ext()).setHash(result.hashExt())); } } throw new RuntimeException(); diff --git a/src/main/java/dev/dinauer/maven/maven/core/PomService.java b/src/main/java/dev/dinauer/maven/maven/core/PomService.java index 69628e7..01ac663 100644 --- a/src/main/java/dev/dinauer/maven/maven/core/PomService.java +++ b/src/main/java/dev/dinauer/maven/maven/core/PomService.java @@ -31,7 +31,7 @@ public class PomService version.setUploadedBy(securityIdentity.getPrincipal().getName()); if (version.getPom() == null) { - version.setPom(new Pom().setPom(new String(body)).setMd5(md5).setSha1(sha1).setVersion(version).setUrl(mavenContext.path()).setFilename(mavenContext.file().getRaw())); + version.setPom(new Pom().setPom(new String(body)).setMd5(md5).setSha1(sha1).setVersion(version).setUrl(mavenContext.path()).setFileBase(mavenContext.file().getBase())); versionService.persist(version); return Response.status(Response.Status.CREATED).build(); } diff --git a/src/main/resources/db/migration/V1.0.0__init.sql b/src/main/resources/db/migration/V1.0.0__init.sql index f9c9d82..ae43f0a 100644 --- a/src/main/resources/db/migration/V1.0.0__init.sql +++ b/src/main/resources/db/migration/V1.0.0__init.sql @@ -72,7 +72,7 @@ create table version create table jar ( - filename varchar(255), + file_base varchar(255), id varchar(255) not null primary key, md5 varchar(255), @@ -86,7 +86,7 @@ create table jar create table pom ( - filename varchar(255), + file_base varchar(255), id varchar(255) not null primary key, md5 varchar(255),